Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
До недавнего времени VPN был уделом гиков и тех, кому необходимо передавать важную информацию максимально конфиденциально. К сожалению, сегодня VPN утратил свое первоначальное предназначение, теперь его используют для доступа к заблокированным в России интернет-ресурсам.
Но у публичных сервисов (даже платных) есть один большой минус — низкая скорость подключения. Вероятно, сервисы не были к такому массовому наплыву пользователей из России.
Недавний опыт показывает, что публичные VPN в России могут заблокировать. Недавно жители Сибири и Ростовской области отмечали недоступность VPN-сервисов. Вероятно, это было тестирование блокировки популярных протоколов VPN.
К счастью, всегда есть выход!
За 20 минут вы можете настроить свой личный VPN-сервер с трафиком 32 Тбайт в месяц и неограниченной скоростью всего за 200 рублей. И, да, ему будут нестрашны любые блокировки.
Что такое Outline
Outline — это не привычный VPN-сервис, к которым многие привыкли. По сути, это self-hosted продукт, который вы настраиваете на своём или арендованном облачном сервере. Конфигурация Outline позволяет удобно подключаться к вашему VPN-серверу и предоставлять доступ другим людям на ваше усмотрение.
Outline был разработан компанией Jigsaw — внутренней командой Google, но не переживайте, никаких скрытых опций для сбора персональных данных в приложении нет.
Как минимум потому, что исходный код можно найти в свободном доступе на GitHub и изучить его на наличие подводных камней. Но их вы не найдёте, потому что сервис проходил в 2018 году проверку безопасности специалистами двух независимых организаций: Radically Open Security и Cure53. Они подтвердили, что Outline отвечает новейшим стандартам безопасности.
Более того, все передаваемые через сервер данные, Outline шифрует по стандарту AEAD 256-bit Chacha2020 IETF Poly 1305. То есть, никто из вне, даже среди тех людей, кто имеет доступ к подключению, не сможет перехватить информацию других пользователей. В том числе и вы, даже будучи владельцем сервера.
Вкратце о плюсах:
1. Сам по себе протокол Outline VPN бесплатен, платите вы только за аренду сервера (в районе 200 рублей в месяц)
2. Никто извне не сможет получить доступ к вашим данным
3. Outline устойчив к блокировкам VPN-сервисов на основе DNS или IP-адресов. То есть, ваш VPN-сервер будет работать, даже если другие публичные VPN будут заблокированы
4. Блокировки VPN со стороны провайдеров и государственных ведомств нацелены на публичные VPN-сервисы. Заблокировать ваш, частный сервер с VPN-конфигурацией они не смогут
Теперь, переходим к делу.
Арендуем сервер
Такие популярные хостинги, как Amazon Web Services, Google Cloud и Digitalocean не принимают российские банковские карты, поэтому остаётся использовать российские варианты. Лично я рекомендую использовать VDSina (реф). Они принимают российские и иностранные карты (Mastercard, Visa, «МИР»). Пополнить счёт также можно с QIWI-кошелька, ЮMoney, WebMoney и даже при помощи криптовалюты.
После регистрации заранее пополните баланс на 200 рублей (месячная стоимость аренды сервера), зайдите в панель управления и нажмите на пункт «Добавить сервер».
Параметры настройки сервера:
- Тип: стандартный
- Операционная система: CentOS 7
- Тариф: младший за 6 рублей в день (около 200 рублей в месяц) с трафиком 32 Тбайт в месяц
- Местоположение: Амстердам
- Автоматический бэкап можно отключить
После того как вы создадите сервер, в раздел поддержки придёт оповещение, в котором будет содержаться IP-адрес сервера и пароль, они понадобятся для удаленного подключения и дальнейшей настройки.
Подключаем VPN к серверу
Для этого воспользуемся бесплатным VPN-протоколом Outline. Скачиваем Outline Manager для установки конфигурации на сервер.
После запуска Outline Manager выберите «Настройте Outline где угодно». Теперь переходим к основной работе: открываем терминал (для Windows можете скачать ssh-клиент Putty). Но встроенной командной строки тоже должно хватить.
Все дальнейшие команды просто копируем и вставляем в консоль шаг за шагом. Ничего сложного
Для начала обновим сервер:
1. ssh root@(IP-адрес вашего сервера, без скобок)
2. Соглашаемся с подключением, пишем yes и нажимаем enter
3. Вводим пароль из тикета и нажимаем enter
4. Обновляем сервер: yum update и нажимаем enter
5. Соглашаемся: вводим «y» (без кавычек), нажимаем enter
6. Снова соглашаемся с изменениями: вводим «y» (без кавычек), нажимаем enter
Устанавливаем Docker:
1. Вводим команду: wget -O — https://get.docker.com | bash и нажимаем enter
2. Запускам docker, вводим команду: systemctl enable docker && systemctl start docker
Устанавливаем Outline:
1. Копируем из Outline Manager команду и вставляем её в Терминал: sudo bash -c «$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)»
2. Нажимаем enter
3. Копируем ключ, выделенный зелёным текстом в Outline
3. Iptables: sudo yum install iptables и нажимаем enter
4. Завершаем шаг и и запускаем установку сервисов командой: sudo yum -y install iptables-services и нажимаем enter
5. Вводим команду: iptables -L -v -n и нажимаем enter
6. Сбрасываем параметры командой: sudo iptables -F
Разрешаем входящие и исходящие подключения:
1. sudo iptables -A INPUT -i lo -j ACCEPT и нажимаем enter
2. sudo iptables -A OUTPUT -o lo -j ACCEPT и нажимаем enter
3. sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT и нажимаем enter
На этом этапе переходим в Ouline Manager и подключаемся к серверу. Если вы всё сделали правильно, то в программе появится возможность создания ключей для последующих подключений.
Важно: для каждого устройства необходим свой ключ. На этом всё. Если у вас в процессе возникнут какие-то вопросы, то смело пишите их в комментарии.
Время на прочтение
3 мин
Количество просмотров 172K
В последнее время использовать VPN стало популярно
с чего бы это?
, но все инструкции которые мне попадались — могут «осилить» только пользователи хотя бы чуть-чуть знакомые с тем что такое Linux. Компания Google всех порадовала, выпустив прекрасное приложение, которое позволяет вам установить VPN в два клика (правда в два!) на своем личном сервере без каких либо знаний.
(Если у вас нет сервера — не беда, появится)
Поговорим мы про приложение Outline — это проект дочерней компании jigsaw входящий в Google, компания специализируется на создании инструментов для обхода блокировок или повышения приватности, Outline — один из их проектов.
Технические вопросы (безопасности) обсудим в конце публикации, перейдем к инструкции.
Скачиваем всё необходимое
Для создание сервера VPN вам потребуется зайти на www.getoutline.org/en/home прокрутив ниже, выбрать «Get Outline Manager» и скачать подходящую вам версию.
Либо воспользоватся этими ссылками:
- Mac
- Linux
- Windows
Пока у вас скачивается Outline Manager, установите клиент Outline на ваш телефон или компьютер (который планируется спрятать за VPN).
PS Внимание! Если вы планируете управлять вашим VPN с того же компьютера с которого и использовать VPN — скачайте оба приложения.
- Android
- Windows
- Chrome OS
- iOS
- Mac
Создаем сервер
После запуска Outline Manager вы увидите что-то похожее на это:
Нажимаем Create an account
В этот момент — вы будете проходить регистрацию в хостинг-провайдере DigitalOcean, у вас запросят стандартные вопросы для регистрации и попросят ввести карту оплаты.
P.S. Вам подарят 10$, что позволит вам пользоватся сервисом два месяца полностью бесплатно.
После завершения регистрации вам станет доступен выбор страны нахождения вашего сервера:
Выбирать стоит ближайшую к вам страну.
Я выбрал — Amsterdam / Netherland, после выбора страны, пойдет создание вашего сервера и настройка, это не займет много времени
После завершения настройки, вы увидите вот такой экран:
Он вам сразу ответит на все вопросы про ваш сервер: Сколько трафика у вас осталось, сколько пользователей имеют доступ к вашему сервера, цена вашего сервера
Добавляем пользователей
Нажимаем «ADD Key» — отлично, вы создали нового пользователя, самое время отправить ему (или себе на телефон) ссылку для доступа к VPN.
Для этого нажимаем Share, получаем ссылку, отправляем её.
Для отправки ссылки — используйте безопасные каналы связи, чат сам с собой в Telegram — хорошо, заметки которые синхронизируются у вас между компьютером и телефоном — хорошо, почта на зарубежном хостере (google,apple) — нормально, ICQ/соц-сеть/Любой сервис из вашей страны (для РФ — yandex/rambler/mail.ru/icq) — плохо, очень плохо.
Выводы
Поздравляем, теперь у вас есть ваш личный VPN сервер за 5$ в месяц, используя приложение Outline Manager — вы можете смотреть потребление трафика на сервере, настраивать учетные записи пользователей.
А как там с безопасностью?
Все хорошо, данный VPN — использует протокол Shadowsocks который был создан еще в китае для обхода блокировок китайского фаервола, теперь поддерживается сообществом.
Сам VPN сервер представляет из себя два docker образа которые будут установлены на ваш сервер, другими словами, можно установить данный VPN на ваш уже существующий сервер без какой-либо опаски. Исходные коды проекта, естественно, доступны на Github.
1€
Если вы уже имеете свой сервер, или хотите использовать более дешевый хостинг вместо хостинга по умолчанию — digtalocean — можно установить Outline на любой доступный сервер.
Например на arubacloud, сервера в Италии стоят 1€ и они еще дают пробный период на два месяца… но для новичков я бы их не советовал, пинг от DigitalOcean намного лучше
Для настройки Outline на своём личном сервере — вам нужно промотать основной экран Outline Manager до конца вниз, до «Already have server», после клика вы получите Bash скрипт для исполнения на вашем (любом) сервере, запускаем скрипт, ждем завершения установки Docker и двум новых контейнеров. После завершения вы получите ключ для доступа по API, его надо обратно вставить в Outline Manager.
Таким нехитрым образом можно настроить Outline вообще на любом сервере, без привязки к какому-либо хостеру.
Устанавливаем свой VPN сервер и управляем им как пожелается. VPN нам может понадобится для любых целей и как его использовать решать только обладателю своего VPN.
138
показов
103K
открытий
Все операции ниже, я осуществил за 5 минут. Конечно, перед этим читал и сравнивал Outline, Amnezia и другие решения.
Внимание: статья не претендует на инструкцию, которой надо воспользоватся прямо сейчас.
Подготовка
- Переходим на сайт и качаем менеджер для своей ОС (так же можно заранее и клиент скачать)
- Покупаем VDS (я использовал вдсину (реф) и дальнейшие действия будут именно там)
Установка VDS
Для VPN сервера много не надо. Я выбрал тариф с 1 ядром, 1гб озу и 32тб трафика (маловероятно что истратить такое количество за месяц). Расположение в Нидерландах, что бы была прямая магистраль.
Регистрируемся у провайдера услуг, заходим в панель управления и создаем сервер. Все шаги на примере вдсины:
- Выбираем образ диска: ОС centos 7
- Тип сервера: стандартные серверы
- Тариф: 11р/день (1 озу, 1 ядро, 30 гб ссд, 32 тб трафика)
- Локация сервера: Амстердам
- Резервную копию отключаем
- Дополнительные настройки: включаем через переключатель и заполняем пункты на свое усмотрение. Название: vcru. Hostname: vcru.vpn
- Нажимаем кнопку создать
После этого во вкладе мои сервер идет создание и установка. Данные сервера нам придут в тикете (раздел поддержка).
Outline Manager
Что бы не терять времени пока создается сервер, открываем outline manager.
Выбираем 4 плитку (настройте Outline где угодно).
Нажимаем и у нас появится команда которую надо выполнить из под админа на сервере (root). Оставляем окно и переходим к настройке сервера.
Настройка VDS для outline
Я использую терминал macos и все шаги будут там. Для windows можно использовать putty.
Сервер установлен и нам пришел тикет в поддержку с данными сервера.Теперь нам надо подключиться к нему.
Открываем терминал соединяемся через SSH с нашими данными, вводим команду: ssh [email protected] и жмем enter
Где root это админ, ip это наш адрес сервера.
Далее не вдаваясь в подробности подтверждаем коннект, пишем yes и жмем enter
После вводим пароль из тикета. Можно скопировать и вставить прямо в терминал правой кнопкой мыши и жмем еще раз enter
Все мы на сервере. Далее надо обновить его.
Пишем команду: yum update и жмем enter
Ос показывает что установит, объем и спрашивает продолжаем?
Вводим y и жмем enter
Продолжаем так же как в предыдущем шаге и жмем enter
ОС обновлена и теперь надо установить зависимость. Outline требует docker. Обычно он уже есть в дистре, но на всякий случай установим.
Вводим команду: wget -O — https://get.docker.com | bash и жмем enter
Запускам docker, вводим команду: systemctl enable docker && systemctl start docker
На этом все, теперь можно ставить сам Outline.
Установка Outline
Переходим обратно в outline manager и копируем команду:
Сама команда: sudo bash -c «$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)»
Жмем enter
На выходе получаем ответ (зеленые строки) и копируем (так же в текстовый файл на всякий случай). Терминал не закрываем. Далее вставляем во второе окно в outline
Вставили и жмем готово.
Получаем ошибку и все верно. Порт у нас заблочен. Идем обратно в терминал
Iptables
Устанавливаем iptables, обычно уже все установлено. Но, на всякий случай.
Пишем команду: sudo yum install iptables и жмем enter
Выполнять нечего, все было. Идем дальше.
Завершаем шаг и и запускаем установку сервисов командой: sudo yum -y install iptables-services и жмем enter
Выполнено. Отлично.
Просматриваем текущие параметры, вводим команду: iptables -L -v -n и жмем enter
Нас ничего не устраивает, делаем сброс.
Вводим команду: sudo iptables -F и жмем enter
Далее разрешаем входящие и исходящие соединения командами:
sudo iptables -A INPUT -i lo -j ACCEPT и жмем enter
sudo iptables -A OUTPUT -o lo -j ACCEPT и жмем enter
Ограничиваем новые соединения и разрешаем существующие командой:
sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT и жмем enter
Заходим обратно в outline и жмем повторить.
Мы соединились. Теперь ключ доступа можно скопировать в outline клиент и создавать новые для телефона, подруги и т.д.
Закрываем терминал. На этом все. Свой VPN это всегда хорошо когда популярные попадут под блок.
P.S. Данные использованные для настройки сервера удалены и были тестовые.
I would like to share with you a solution of one issue of the Outline VPN server. It might be useful for newbies in Linux and Docker. Hope this helps someone.
The issue
After successful installation of Outline VPN server it goes down (Outline Manager can’t connect to the server).
Investigation
First of all, let’s check the status of the docker containers (watchtower and shadowbox).
And there we see the issue — shadowbox container constantly restarting. Then we need to understand the cause.
docker logs —tail 50 —follow —timestamps shadowbox
And in the logs we notice the error «Error: getaddrinfo EAI_AGAIN localhost«.
The solution
I found the solution there — https://github.com/Jigsaw-Code/outline-server/issues/1131
Everything that you need is add new line «127.0.0.1 localhost» into the «/etc/hosts» file on the server.
After next attempt of restarting the shadowbox container continue stable work. Happy end.
Some people have trouble accessing their Outline Servers and figuring out what’s wrong. I decided to put together some steps that allow anyone to do some troubleshooting, even on their phones!
Important:
-
These steps are supposed to be taken on the network you are having access problems.
-
You must NOT be connected to the Outline server.
-
Prefer using Chrome, since it gives clear error codes
Steps:
-
Get the IP and port of your access key. You can get them from the `ss://` link you got in the invitation.
-
Open https://$IP:$PORT on your browser and take note of the error
-
Open https://$IP:443 on your browser and take note of the error
-
Open https://www.example.com:$PORT on your browser and take note of the error
-
Open https://www.iana.org:$PORT on your browser and take note of the error
-
Check the results against the table below to find the status of your system.The entries show the suffix of the
ERR_CONNECTION_
codes that Chrome uses. “Pair” refers to the IP:PORT pair. “Drop” means packet dropping or IP blackholing. Note that some states are indistinguishable from each other, such as access key destroyed vs IP or Pair block by RST, or IP block by drop vs server destroyed. However, you can check with the admin if the server or access key are active in order to differentiate those states.
Status | IP:PORT error | IP:443 error | www.example.com:$PORT error | www.iana.org:$PORT error |
---|---|---|---|---|
All good with TCP | RESET | REFUSED | TIMED_OUT | REFUSED |
Access Key Destroyed | REFUSED | REFUSED | TIMED_OUT | REFUSED |
IP block by RST | REFUSED | REFUSED | TIMED_OUT | REFUSED |
Pair block by RST | REFUSED | REFUSED | TIMED_OUT | REFUSED |
Pair block by Drop | TIMED_OUT | REFUSED | TIMED_OUT | REFUSED |
IP block by Drop | TIMED_OUT | TIMED_OUT | TIMED_OUT | REFUSED |
Server Destroyed | TIMED_OUT | TIMED_OUT | TIMED_OUT | REFUSED |
Port block by RST | REFUSED | REFUSED | REFUSED | REFUSED |
Port block by Drop | TIMED_OUT | REFUSED | TIMED_OUT | TIMED_OUT |
Next time you have access problems, please give it a try, and let me know how it worked for you in the comments.