И на Украине и в России часть сайтов заблокирована на уровне государства. Бесплатные VPN-серверы ограничены в объеме трафика и работают не стабильно (да и все ваши запросы там могут отслеживать, а это не приятно). Поднять свой собственный VPN-сервер сможет не каждый - нужны навыки администрирования, нужно знать что такое SSH. В статье я покажу легкий путь к свободе.
Какие бывают VPN-серверы?
Вот сводная табличка. Главные параметры такие: есть ли поддержка в Windows и Android без установки дополнительного софта и есть ли опастность блокировки через DPI (Deep packet inspection - технология проверки и фильтрации сетевых пакетов по их содержимому).
Поддержка операционными системами
У меня есть Windows, Android и даже Windows Mobile 10. К сожалению, продуктов Apple нет, поэтому ничего сказать не могу.
Тип VPN | Windows | Android | Win Mobile |
---|---|---|---|
PPTP | + | + | + |
L2TP/IPSec | + | + | + |
SSTP | + | - | - |
IKEv2 | С геммором | Через StrongSwan VPN | ? |
IPSec Xauth/Hybrid | - | + | - |
OpenVPN | Через клиент | Через клиент | - |
Как видим, наиболее универсальным является PPTP. Он же самый простой в настройке. Вроде бы неплохой вариант, но есть подвох - провайдеры и хостеры научились блокировать его через вышеупомянутую технологию DPI. В общем, PPTP работает не на всех датацентрах (иногда его блокируют).
SSTP, IPSec - сразу исключим, так как нет поддержки операционных систем. Хотя, вопрос дискуссионный, может быть чем то выгодно использовать их через сторонний софт.
Теперь таблица по работе на серверах популярных хостеров, которые дают бесплатные мощности.
Тип VPN | DigitalOcean | Amazon AWS | Google Cloud | Microsoft Azure |
---|---|---|---|---|
Уровень халявы | 2 мес. ($100) | 1год | 1 год ($300) | 1 год ($200) |
PPTP | + | + | - | - |
L2TP/IPSec | + | ? | - | - |
IKEv2 | + | ? | + | ? |
OpenVPN | + | ? | ? | ? |
Примечание. Для DigitalOcean нужно ввести купон, который найти в интернете не составляет труда. Остальные раздают прямо на сайте.
Сорри, проверил не везде (скорее всего и на Amazon все будет работать). Выводы такие: самый простой PPTP не работает на серверах Google Cloud и Azure, но работает у DigitalOcean и Amazon. А жаль, потому что Google мне подарил $300 на год. Amazon тоже дарит, но я этим подарком воспользовался уже несколько раз, по этому как то пока даже лень идти за очередным.
У Google Cloud работает IKEv2, но как было написано выше - с ним много геммора в настройке. Но все же он работает и на Windows и на Android.
По этому только эти два варианта достойны рассмотрения: PPTP и IKEv2. Первый прост в настройке, но работает не на всех серверах (блокируют через DPI). Второй работает везде, но настроить его сложно.
Теперь то что и обещал - бесплатно в 3 клика и без запуска SSH. Каждый из этих хостеров предоставляет возможность при создании сервера указать скрипт инициализации. Этим то можно и воспользоваться - вставить наш не интерактивный скрипт и получить готовый VPN-сервер.
Покажу на примере PPTP для DigitalOcean, но это будет работать и на Amazon:
- Регистрируемся на DigitalOcean.
- Выбираем самый маленький сервер Ubuntu 18.0.4 за $5 в месяц или $0.007 в час.
- Выбираем ближайший к вам регион.
- В разделе Select additional options нажимаем птичку UserData и вводим скрипт, приведенный ниже.
- Готово! Теперь можно подключаться в VPN, используя имя пользователя user1 и пароль myPwd34. Потребуется указать IP-адрес сервера - он придет к вам на email а также будет указан в панели управления. Как настроить PPTP VPN для Windows - легко находится в гугле в картинках (к примеру здесь).
Вот сам интерактивный скрипт, который нужно вставить на шаге 4:
#!/bin/bash
export PATH=$PATH:/usr/sbin
export PATH=/sbin/:$PATH
PPTPD_CONF='option /etc/ppp/pptpd-options
logwtmp
localip 10.0.0.1
remoteip 10.0.0.100-200'
CHAP_SECRETS='user1 pptpd myPwd34 *'
PPTPD_OPTIONS='name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4'
SYSCTL_CONF='net.ipv4.ip_forward = 1'
sudo apt -y update
sudo apt -y install pptpd
sudo mv /etc/pptpd.conf /etc/pptpd.conf.org
echo "$PPTPD_CONF" > ~/pptpd.conf
sudo mv ~/pptpd.conf /etc/pptpd.conf
sudo mv /etc/ppp/chap-secrets /etc/ppp/chap-secrets.org
echo "$CHAP_SECRETS" > ~/chap-secrets
sudo mv ~/chap-secrets /etc/ppp/chap-secrets
sudo mv /etc/ppp/pptpd-options /etc/ppp/pptpd-options.org
echo "$PPTPD_OPTIONS" > ~/pptpd-options
sudo mv ~/pptpd-options /etc/ppp/pptpd-options
sudo service pptpd restart
sudo mv /etc/sysctl.conf /etc/sysctl.conf.org
echo "$SYSCTL_CONF" > ~/sysctl.conf
sudo mv ~/sysctl.conf /etc/sysctl.conf
sudo sysctl -p
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save
sudo systemctl enable pptpd
# iptables-persistent
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | sudo debconf-set-selections
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | sudo debconf-set-selections
sudo apt -y install iptables-persistent
sudo netfilter-persistent save
Скрипт взят отсюда и приведен к не интерактивному виду.
Все, теперь у меня другой IP-адрес (проверить можно, к примеру, на 2ip.ru):
При запуске скрипта на других серверах (не DigitalOcean), вот эта строчка:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save
может потребовать изменений. А именно, вместо eth0 нужно указать название сетевого интерфейса, который можно получить командой:
ip route | grep default
Некоторые хостеры принудительно включают облачный Firewall (в дополнение к тому, что установлен у вас на сервере). В таком случае нужно открыть порт 1723 для PPTP.
Ссылки:
- Скрипт создания PPTP VPN, на котором построен не интерактивный скрипт из статьи.
- Создание L2TP VPN - проверил, работает (см. вторую таблицу где будет работать). Есть не интерактивный скрипт, требующий доработки.
- Создание IKEv2 VPN - работает, но требует дополнительной настройки Windows. Кому интересно - могу написать в комментариях. Есть даже не интерактивный скрипт.
- Создание OpenVpn - внимательно прошел весь квест - работает.
@orator Поздравляю! Вы получили личную награду!
С Днём Рождения - 2 лет на Голосе
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
vadbars, arystarch, aivanouski, amelina.elena, kertar, ifingramota, mp42b
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас: