Я пытаюсь настроить сервер l2tp + ipsec для мобильного использования и использования домашнего маршрутизатора. Итак, я сделал некоторые настройки и проверил, что он отлично работает с устройством Android. Я вижу шифрование в ipsec --status.
Моя система - CentOS Linux версии 7.0.1406 (Core) на основе Digital Ocean.
Моя проблема в том, что я могу подключиться к L2TP-серверу из Mikrotik без ipsec.
Итак, теперь мне нужны несколько советов:
Как запретить L2TP-соединение без шифрования IPSEC на стороне Linux, потому что я могу подключиться к xl2tpd из mikrotik, даже если демон ipsec остановлен.
Как правильно настроить микротик для подключения к серверу l2tp + ipsec в транспортном режиме ipsec.
Вот мои конфиги Linux:
/etc/ppp/options.xl2tpd
require-mschap-v2
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
auth
crtscts
idle 1800
mtu 1310
mru 1310
hide-password
modem
name l2tpd
multilink
lcp-echo-interval 5
lcp-echo-failure 4
proxyarp
/etc/xl2tpd/xl2tpd.conf
[global]
ipsec saref = yes
force userspace = yes
auth file = /etc/ppp/chap-secrets
[lns default]
ip range = 192.168.1.128-192.168.1.254
local ip = 192.168.1.99
refuse chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
/etc/ipsec.conf
config setup
protostack=netkey
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10,%v4:!192.168.250.0/24,%v4:!192.168.$
keep_alive=1800
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=8
ikelifetime=8h
keylife=1h
type=transport
left=146.185.XXX.XXX
leftprotoport=17/%any
right=%any
rightprotoport=17/%any
Я отправил этот вопрос команде xl2tpd на GitHub, вот ответ (проверил и работал над моей настройкой):
Вы можете использовать модуль политики iptables следующим образом:
iptables -A INPUT -p udp --dport 1701 -m policy --dir in --pol ipsec -j ACCEPT
iptables -A INPUT -p udp --dport 1701 -j DROP
Вот рабочая часть настройки ipsec из Mikrotik в транспортном режиме IPSEC:
admin@MikroTik] > /ip ipsec policy print
Flags: T - template, X - disabled, D - dynamic, I - inactive, * - default
0 TX* group=default src-address=::/0 dst-address=::/0 protocol=all proposal=default template=yes
1 src-address==%MIKROTIK EXTERNAL IP%/32 src-port=any dst-address=%SERVERIP%/32 dst-port=any protocol=udp action=encrypt level=require ipsec-protocols=esp tunnel=no
sa-src-address=%MIKROTIK EXTERNAL IP% sa-dst-address=%SERVERIP% proposal=default priority=0
[admin@MikroTik] > /ip ipsec peer print
Flags: X - disabled, D - dynamic
0 address=%SERVERIP%/32 local-address=0.0.0.0 passive=no port=500 auth-method=pre-shared-key secret="KEY" generate-policy=no policy-template-group=default
exchange-mode=main send-initial-contact=yes nat-traversal=no proposal-check=obey hash-algorithm=sha1 enc-algorithm=aes-256 dh-group=modp1024 lifetime=1d lifebytes=0 dpd-interval=2m
dpd-maximum-failures=5