Желание сделать VPN сервер максимально простым в установке и удобным в использовании назревало уже давно. За основу я взял L2TP/IPsec, эта технология нативно поддерживается всеми устройствами и в отличии от PPTP не вызывает проблем при подключении через сотовых операторов.

Для установки нам потребуется машинка с Ubuntu 14.04 на борту и «белым» IP-адресом, любой VPS подойдет. Достаточно ввести эту волшебную строчку:

 curl -sS https://raw.githubusercontent.com/sockeye44/instavpn/master/instavpn.sh | sudo bash 

и через несколько минут у вас будет рабочий VPN с управлением через браузер (httр://ip-address:8080/) или консоль (instavpn -h).

Что внутри?

После загрузки скрипт загружает сам VPN сервер (openswan и xl2tpd), node.js и vnstat, настраивает конфиги и iptables, устанавливает веб-интерфейс. Если вы используете Security Groups или любой другой внешний файрвол, придется открыть следующие порты: 4500/udp, 500/udp, 1701/udp, 8080/tcp.

Репозиторий GitHub

Для Ubuntu 16.04 — Репозиторий GitHub

 

Возможные ошибки?

Сидящим за NATом пользователям Windows может понадобится добавить одно значение в реестр. support.microsoft.com/kb/926179

Ошибка 789 при подключении L2TP VPN:

Чтобы исправить ситуацию,нажимаем комбинацию клавиш Win+R и в строке открыть пишем команду regedit.

Этим мы откроем редактор реестра Windows. Дальше надо открыть вот эту ветку реестра:

   HKEY_LOCAL_MACHINE / System / CurrentControlSet / Services / Rasman / Parameters

Если в ней нет параметра ProhibitIpSec, то создаём новый типа DWORD32

В поле значение пишем «1». Кликаем на «ОК».
То же самое делаем и с параметров AllowL2TPWeakCrypto. Он тоже должен быть типа DWORD32 со значением «1».
После этого перезагружаем компьютер и проверяем подключение.