Установка и настройка 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-сервер

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