Налаштування L2TP

роутері

Нижче наведено приклад налаштування L2TP/IPsec тунелю між двома роутерами Mikrotik. Налаштування першого роутера: WAN інтерфейс - ether1 WAN IP - 10.0.0.101/24 LAN інтерфейс - bridge-local LAN IP - 192.168.10.0/24

Налаштування другого роутера: WAN інтерфейс - ether1 WAN IP - 10.0.0.102/24 LAN інтерфейс - bridge-local LAN IP - 192.168.20.0/24

Налаштування L2TP-сервера на першому роутері

Налаштування L2TP-клієнта на другому роутері

Налаштування IPsec-сервера на першому роутері

Налаштування IPsec-клієнта на другому роутері

Налаштування файрволу

Налаштування L2TP-сервера на першому роутері

/ip pool add name=l2tp-pool ranges=192.168.254.2-192.168.254.62

2. Створюємо PPP-профіль для підключення, шифрування не потрібно включати, т.к. буде використовуватись IPsec

/ppp profile add change-tcp-mss=yes local-address=192.168.254.1 name=l2tp remote-address=l2tp-pool

/ppp secret add name=client1 password=secret1 profile=l2tp service=l2tp

3. Налаштовуємо та включаємо L2TP-сервер

/interface l2tp-server server set authentication=mschap2 default-profile=l2tp enabled=yes keepalive-timeout=15 max-mru=1418 max-mtu=1418

Налаштування L2TP-клієнта на другому роутері

Налаштовуємо та включаємо L2TP-клієнт

/interface l2tp-client add allow=mschap2 connect-to=10.0.0.102 disabled=no max-mru=1418 max-mtu=1418 name=l2tp-to-m1 user=client1 password=secret1 profile=default

ПРИМІТКА: 1. Значення MTU 1418 – максимальне значення, при якому не буде фрагментації з використанням IPsec з алгоритмами SHA1 для підпису та AES-128 для шифрування. При використанні інших алгоритмів значення MTU будеіншим. Якщо використовується механізм обходу NAT IPsec, слід зменшити MTU на 28. 2. На цьому етапі слід перевірити працездатність підключення L2TP.

Налаштування IPsec-сервера на першому роутері

1. Налаштування IPsec-піра, IPsec політика буде створюватися автоматично, при підключенні клієнта (з динамічним створенням політики, роутер може приймати підключення від безлічі VPN-клієнтів без донастройки. В даному випадку VPN-канал піднімається між двома роутерами і можна налаштувати статичну політику, як на другому роутері). Пароль, який буде використовуватися при аутентифікації та генерації секрету для шифрування з'єднання, задається у параметрі secret

/ip ipsec peer add address=0.0.0.0/0 port=500 auth-method=pre-shared-key hash-algorithm=md5 enc-algorithm=aes-256 generate-policy=port-strict exchange-mode= main nat-traversal=no secret="ipsec-secret" send-initial-contact=no dpd-interval=15s dpd-maximum-failures=2

2. Налаштування алгоритмів для шифрування та підпису з'єднання

/ip ipsec proposal set defaul auth-algorithms=sha1 enc-algorithms=aes-128 name=default

ПРИМІТКА: 1. Якщо не вказати значення address=0.0.0.0/0 для peer, воно буде підставлено автоматично, але IPsec працювати не буде - баг RouterOS. 2. nat-traversal=yes для peer слід вказувати тільки якщо частина клієнтів буде підключатися через NAT.

Налаштування IPsec-клієнта на другому роутері

1. Налаштування IPsec-піра

/ip ipsec peer add address=10.0.0.101/32 port=500 auth-method=pre-shared-key hash-algorithm=md5 enc-algorithm=aes-256 exchange-mode=main nat-traversal=no secret ="ipsec-secret" send-initial-contact=yes dpd-interval=15s dpd-maximum-failures=2

2. Налаштування політики IPsec

/ip ipsec policy addaction=encrypt ipsec-protocols=esp level=require proposal=default protocol=udp sa-src-address=10.0.0.102 src-address=10.0.0.102/32 src-port=any sa-dst-address=10.0.0.101 -address=10.0.0.101/32 dst-port=any tunnel=no

2. Налаштування алгоритмів для шифрування та підпису з'єднання

/ip ipsec proposal set defaul auth-algorithms=sha1 enc-algorithms=aes-128 name=default

Налаштування файрволу

Сервер повинен приймати: UDP:1701 - L2TP, але тільки IPsec UDP:500 - IPsec, встановлення з'єднання UDP:4500 - IPsec, для обходу NAT IP протокол 50 - IPsec ESP

Зазначаємо ESP пакети, L2TP прийматимемо тільки в них

/ip firewall mangle add action=mark-packet chain=input new-packet-mark=esp protocol=ipsec-esp

/ip firewall filter add chain=input comment=L2TP dst-port=1701 packet-mark=esp protocol=udp src-address=10.0.0.102 add chain=input comment=IPSEC-NAT dst-port= 4500 protocol=udp src-address=10.0.0.102 add chain=input comment=IPSEC dst-port=500 protocol=udp src-address=10.0.0.102 add chain=input comment=IPSEC protocol=ipsec- esp src-address=10.0.0.102

Клієнту достатньо приймати пакети в стані встановлених

:local WANip [/ip address get [find interface="ether1"] address] :local shortWANip ([:pick "$WANip" 0 [:find "$WANip" "/" -1]] ) :set WANip ( $shortWANip . "/32" )

:local IPSECip [/ip ipsec policy get [find comment="dynamic ip"] sa-src-address]

if ($shortWANip != $IPSECip) do= < /ip ipsec policy set [find comment="dynamic ip"] sa-src-address=$shortWANip src-address=$WANip >

Ставимо скрипт на виконання раз на дві хвилини

/system scheduler add disabled=no interval=2m name=check-wan-for-ipsec on-event=ipsec-wan-addr policy=read,write