Установка и настройка l2tp + ipsec на Debian/Ubuntu + Iphone/Mac для VPN

Итак, есть задача установить данную связку для использования защищенного VPN соединения на любых устройствах через использование учетной записи.

Прежде, чем изучать данный мануал, крайне рекомендуем прочесть данную статью! Тогда установка займет всего пару минут.

apt-get install openswan xl2tpd

(при запросе об установке сертификата ответьте «нет» и в следующих окнах тоже)

Содержимое файла nano /etc/ipsec.conf должно выглядеть так (отступы важны!!!)

config setup
   nat_traversal=yes
   virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
   oe=off
   protostack=netkey
conn L2TP-PSK-NAT
   rightsubnet=vhost:%priv
   also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
   authby=secret
   pfs=no
   auto=add
   keyingtries=3
   rekey=no
   ikelifetime=8h
   keylife=1h
   type=transport
   left=SERVER.IP
   leftprotoport=17/1701
   right=%any
   rightprotoport=17/%any

Ставим ключ шифрования для IPSec

Конфигурация доступа к серверу по IPSec:

nano /etc/ipsec.secrets

Cодержимое:

SERVER.IP %any: PSK "YourSharedSecret"

Скрипт для настройки сети

Дополнительные настройки:

nano /root/ipsec

Добавляем содержимое:

iptables --table nat --append POSTROUTING --jump MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
/etc/init.d/ipsec restart

Делаем скрипт исполняемым:

chmod +x /root/ipsec

Добавляем в rc.local и запускаем:

sh /root/ipsec

Настройка l2tp

nano /etc/xl2tpd/xl2tpd.conf

Содержимое:

[global]
ipsec saref = yes

[lns default]
ip range = 10.1.2.2-10.1.2.255
local ip = 10.1.2.1
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

Настройка ppp авторизации

Дополнительные настройки:

nano /etc/ppp/options.xl2tpd

Содержимое:

require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name VPN
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4

Добавляем пользователей:

nano /etc/ppp/chap-secrets

И указываем его пароль:

test VPN password *

Рестартуем все сервисы:

/etc/init.d/ipsec restart
/etc/init.d/xl2tpd restart

Проверяем работу

ipsec verify

Что будем искать? Например,VPS-сервер

Мы в социальных сетях