В данной статье будет описана настройка L2TP/IPSec между роутерами с операционной системой OpenWRT и RouterOS
На данной схеме представлены два роутера, один из которых - клиент LT40 и имеет динамический IP-адрес, и роутер Mikrotik - имеет статический IP-адрес и будет сервером.
Задача: объединить две подсети роутеров посредством L2TP, шифрованным IPSec.
Настройка сервера Mikrotik
1. Настройка L2TP
Создаём Pool, выдаваемых IP-адресов:
Создаём PPP профиль:
- В пункте local указываем туннельный адрес сервера
- В пункте remote address указываем созданный нами pool
Прописываем логин и пароль клиента, а также маршрут до него:
Включаем сервер L2TP:
Указываем, что шифрование IPSec обязательно.
2. Настройка Межсетевого экрана
Откроем порты 500 и 4500 для протоколов ISAKMP и NAT_Traversal соответственно:
Разрешим прохождение протокола ESP.
Входящий трафик:
Разрешаем подключаться на порт 1701 c шифрованием IPSec
Поднимаем правила вверх списка:
Настройка клиента LT40
1. Настройка L2TP
- Создадим интерфейс L2TP, для этого перейдём в раздел "Сеть - Интерфейсы - "Добавить новый интерфейс"
- Прописываем параметры подключения:
- Создаём и добавляем интерфейс в зону
- Редактируем созданную зону в межсетевом экране:
- Указываем следующие параметры для зоны:
2. Настройка IPSec
Настроим IPSec из консоли:
Отредактируем конфигурацию IPSec:
nano /etc/ipsec.conf
conn L2TP/IPSec left=%any right=172.26.19.15 leftfirewall=yes authby=secret closeaction=restart type=transport ikelifetime=8h keylife=8h keyingtries=%forever dpdaction=restart dpddelay=60s leftsubnet=%dynamic rightsubnet=%dynamic ike=aes128-sha1-modp1024 esp=aes128-sha1-modp1024 leftauth=psk rightauth=psk auto=route leftid=%any rightid=%any keyexchange=ikev1
Важно, перед параметрами после "conn L2TP/IPSec" должен быть 1 TAB, иначе конфигурация работать не будет!
- В пункте right укажем WAN-адрес сервера L2TP
- В пункте auto укажем route, что означает, что соединение будет запущено только в том случае, если на iP-адрес 172.26.19.15 будет отправлен какой-либо пакет.
- Указываем общий ключ:
nano /etc/ipsec.secrets
# /etc/ipsec.secrets - strongSwan IPsec secrets file
%any %any : PSK "YourKey"
include /var/ipsec/ipsec.secrets
Проверяем соединение
Просмотреть лог подключения можно с помощью команды logread -f
Лог подключения на клиенте:
Mon Jul 15 11:51:04 2024 daemon.notice xl2tpd[1310]: Connecting to host 172.26.19.15, port 1701 Mon Jul 15 11:51:04 2024 authpriv.info ipsec: 11[IKE] initiating Main Mode IKE_SA L2TP/IPSec[1] to 172.26.19.15 Mon Jul 15 11:51:04 2024 daemon.info ipsec: 11[IKE] initiating Main Mode IKE_SA L2TP/IPSec[1] to 172.26.19.15 Mon Jul 15 11:51:05 2024 authpriv.info ipsec: 05[IKE] IKE_SA L2TP/IPSec[1] established between 172.26.19.13[172.26.19.13]...172.26.19.15[172.26.19.15] Mon Jul 15 11:51:05 2024 daemon.info ipsec: 05[IKE] IKE_SA L2TP/IPSec[1] established between 172.26.19.13[172.26.19.13]...172.26.19.15[172.26.19.15] Mon Jul 15 11:51:05 2024 authpriv.info ipsec: 06[IKE] CHILD_SA L2TP/IPSec{2} established with SPIs cdbebca5_i 0a3a3c73_o and TS 172.26.19.13/32 === 172.26.19.15/32 Mon Jul 15 11:51:05 2024 daemon.info ipsec: 06[IKE] CHILD_SA L2TP/IPSec{2} established with SPIs cdbebca5_i 0a3a3c73_o and TS 172.26.19.13/32 === 172.26.19.15/32 Mon Jul 15 11:51:05 2024 local0.notice vpn: + 172.26.19.15 172.26.19.15 -- 172.26.19.13 Mon Jul 15 11:51:06 2024 daemon.notice xl2tpd[1310]: Connection established to 172.26.19.15, 1701. Local: 4493, Remote: 4 (ref=0/0). Mon Jul 15 11:51:06 2024 daemon.notice xl2tpd[1310]: Calling on tunnel 4493 Mon Jul 15 11:51:06 2024 daemon.notice xl2tpd[1310]: Call established with 172.26.19.15, Local: 63331, Remote: 1, Serial: 4 (ref=0/0) Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: start_pppd: I'm running: Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "/usr/sbin/pppd" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "plugin" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "pppol2tp.so" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "pppol2tp" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "10" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "passive" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "nodetach" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: ":" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "file" Mon Jul 15 11:51:06 2024 daemon.debug xl2tpd[1310]: "/tmp/l2tp/options.L2TP" Mon Jul 15 11:51:06 2024 daemon.info pppd[17969]: Plugin pppol2tp.so loaded. Mon Jul 15 11:51:06 2024 daemon.notice pppd[17969]: pppd 2.4.7 started by root, uid 0 Mon Jul 15 11:51:06 2024 kern.info kernel: [ 7379.574591] l2tp-L2TP: renamed from ppp1 Mon Jul 15 11:51:06 2024 daemon.info pppd[17969]: Renamed interface ppp1 to l2tp-L2TP Mon Jul 15 11:51:06 2024 daemon.info pppd[17969]: Using interface l2tp-L2TP Mon Jul 15 11:51:06 2024 daemon.notice pppd[17969]: Connect: l2tp-L2TP <--> Mon Jul 15 11:51:06 2024 daemon.notice pppd[17969]: CHAP authentication succeeded Mon Jul 15 11:51:06 2024 daemon.notice pppd[17969]: local IP address 10.0.0.8 Mon Jul 15 11:51:06 2024 daemon.notice pppd[17969]: remote IP address 10.0.0.1 Mon Jul 15 11:51:06 2024 daemon.notice pppd[17969]: primary DNS address 10.0.0.1 Mon Jul 15 11:51:06 2024 daemon.notice pppd[17969]: secondary DNS address 85.26.158.187 Mon Jul 15 11:51:06 2024 daemon.notice netifd: Network device 'l2tp-L2TP' link is up Mon Jul 15 11:51:06 2024 daemon.notice netifd: Interface 'L2TP' is now up Mon Jul 15 11:51:06 2024 daemon.info dnsmasq[2211]: reading /tmp/resolv.conf.auto Mon Jul 15 11:51:06 2024 daemon.info dnsmasq[2211]: using local addresses only for domain lan Mon Jul 15 11:51:06 2024 daemon.info dnsmasq[2211]: using nameserver 10.0.0.1#53 Mon Jul 15 11:51:06 2024 daemon.info dnsmasq[2211]: using nameserver 85.26.158.187#53 Mon Jul 15 11:51:06 2024 daemon.info dnsmasq[2211]: using nameserver 85.26.158.187#53 Mon Jul 15 11:51:06 2024 daemon.info dnsmasq[2211]: using nameserver 85.26.146.139#53 Mon Jul 15 11:51:06 2024 user.notice firewall: Reloading firewall due to ifup of L2TP (l2tp-L2TP) Mon Jul 15 11:51:08 2024 daemon.info ntpd[1322]: Listen normally on 15 l2tp-L2TP 10.0.0.8:123 Mon Jul 15 11:51:08 2024 daemon.debug ntpd[1322]: new interface(s) found: waking up resolver |
Интерфейс после подключения:
[admin@GTX400-912GM-WiFi] > ping 10.0.0.8 SEQ HOST SIZE TTL TIME STATUS 0 10.0.0.8 56 64 686ms 1 10.0.0.8 56 64 194ms 2 10.0.0.8 56 64 260ms 3 10.0.0.8 56 64 118ms sent=4 received=4 packet-loss=0% min-rtt=118ms avg-rtt=314ms max-rtt=686ms
[admin@GTX400-912GM-WiFi] > ping 192.168.88.1 SEQ HOST SIZE TTL TIME STATUS 0 192.168.88.1 56 64 85ms 1 192.168.88.1 56 64 110ms 2 192.168.88.1 56 64 101ms 3 192.168.88.1 56 64 100ms sent=4 received=4 packet-loss=0% min-rtt=85ms avg-rtt=99ms max-rtt=110ms
[admin@GTX400-912GM-WiFi] > ping 192.168.88.25 SEQ HOST SIZE TTL TIME STATUS 0 192.168.88.25 56 254 346ms 1 192.168.88.25 56 254 77ms 2 192.168.88.25 56 254 57ms 3 192.168.88.25 56 254 101ms sent=4 received=4 packet-loss=0% min-rtt=57ms avg-rtt=145ms max-rtt=346ms
root@LT40:~# ping 10.0.0.1 PING 10.0.0.1 (10.0.0.1): 56 data bytes 64 bytes from 10.0.0.1: seq=0 ttl=64 time=223.782 ms 64 bytes from 10.0.0.1: seq=1 ttl=64 time=81.302 ms 64 bytes from 10.0.0.1: seq=2 ttl=64 time=117.578 ms 64 bytes from 10.0.0.1: seq=3 ttl=64 time=81.150 ms ^C --- 10.0.0.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 81.150/125.953/223.782 ms
root@LT40:~# ping 192.168.89.1 PING 192.168.89.1 (192.168.89.1): 56 data bytes 64 bytes from 192.168.89.1: seq=0 ttl=64 time=230.330 ms 64 bytes from 192.168.89.1: seq=1 ttl=64 time=87.924 ms 64 bytes from 192.168.89.1: seq=2 ttl=64 time=121.082 ms 64 bytes from 192.168.89.1: seq=3 ttl=64 time=94.882 ms ^C --- 192.168.89.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 87.924/133.554/230.330 ms
root@LT40:~# ping 192.168.89.5 PING 192.168.89.5 (192.168.89.5): 56 data bytes 64 bytes from 192.168.89.5: seq=0 ttl=254 time=185.867 ms 64 bytes from 192.168.89.5: seq=1 ttl=254 time=77.129 ms 64 bytes from 192.168.89.5: seq=2 ttl=254 time=102.513 ms 64 bytes from 192.168.89.5: seq=3 ttl=254 time=115.261 ms ^C --- 192.168.89.5 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 77.129/120.192/185.867 ms |