IKEv2 туннель между MikroTik и StrongSwan: EAP ms-chapv2 и доступ к сайтам

от автора

Введение

Идея статьи возникла из желания пропускать определенные сайты через VPN-туннель напрямую через маршрутизатор, так как дома большое количество устройств, а пускать весь трафик через VPN неудобно в связи с низкой пропускной способностью туннеля. Статья написана сразу после создания конфигурации. Настройка будет проходить в Winbox MikroTik.

Конфигурация StrongSwan

Здесь я рассмотрю только основные конфигурационные файлы StrongSwan, без углубления в настройку данного демона.

/etc/ipsec.conf

config setup    charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2,  mgr 2"    uniqueids=never  conn ikev2-vpn    auto=add    compress=no    type=tunnel    keyexchange=ikev2    fragmentation=yes    forceencaps=yes    dpdaction=clear    dpddelay=300s    rekey=no    left=%any    leftid=    leftcert=server-cert.pem    leftsendcert=always    leftsubnet=0.0.0.0/0    right=%any    rightid=%any    rightauth=eap-mschapv2    rightsourceip=10.10.10.0/24    rightdns=8.8.8.8,8.8.4.4    rightsendcert=never    eap_identity=%identity 

/etc/ipsec.secrets

# This file holds shared secrets or RSA private keys for authentication.  # RSA private key for this host, authenticating it to any other host # which knows the public part.  # this file is managed with debconf and will contain the automatically created $ include /var/lib/strongswan/ipsec.secrets.inc  : RSA "server-key.pem" user1 : EAP "password1" user2 : EAP "password2" 

iptables на VPS

-A FORWARD -s 10.10.10.0/24 -o eth0 -p tcp -m policy --dir in --pol ipsec -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360  -A POSTROUTING -s 10.10.10.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p udp -m udp --dport 500 -j ACCEPT -A INPUT -p udp -m udp --dport 4500 -j ACCEPT -A INPUT -j DROP -A FORWARD -s 10.10.10.0/24 -m policy --dir in --pol ipsec --proto esp -j ACCEPT -A FORWARD -d 10.10.10.0/24 -m policy --dir out --pol ipsec --proto esp -j ACCEPT -A FORWARD -j DROP

Импорт сертификатов и настройка IPSec MikroTik

Импорт сертификатов

Для добавления сертификатов, необходимо перенести их в память вашего MikroTik в раздел Files.

System -> Certificates

Импортируем открытый ключ корневого сертификата вашего центра сертификации на VPS на котором установлен StrongSwan.

Последовательно импортируем открытый и закрытый ключи авторизации используемые в конфигурации StrongSwan.

Настройка клиента IPsec

IP -> IPsec

Импортируем закрытый ключ авторизации StrongSwan, для использования в клиенте.

Далее, последовательно настраиваем профиль VPN-клиента.

Вместо «VPS IP» указываем адрес вашего сервера, где развернут StrongSwan.

В разделе IPsec Idenity настраиваем профиль авторизации, указываем учётные данные и сертификат импортированный ранее.

После выполнения этого шага туннель между MikroTik и StrongSwan будет поднят автоматически.

Вывод в разделе Log при успешной авторизации
Вывод в разделе Log при успешной авторизации

В разделе IP -> Addresses при успешной авторизации, появится IP адрес выданный StrongSwan.

Настройка маршрутизации трафика и списка ресурсов

IP -> Firewall

В разделе NAT создаем правило перенаправления трафика.

В данном случае я использовал списки адресов.

local — подсеть маршрутизатора.

List1 — список сайтов.

Перенаправляем трафик на шлюз(IP адрес выданный StrongSwan)

Настройка списков

IP -> Firewall

В разделе Address Lists необходимо добавить следующие списки:

local — подсеть маршрутизатора, в моем случае 192.168.1.0/24

List1 — список сайтов. Например habr.com, можно добавить сайт по fqdn, ip адрес будет определён автоматически.

List1 — список сайтов. Например habr.com, можно добавить сайт по fqdn, ip адрес будет определён автоматически.

Заключение

В данной статье я постарался подробно описать настройку туннеля между MicroTik и StrongSwan. Очень жду фидбека и вашей конструктивной критики.

ссылка на оригинал статьи https://habr.com/ru/post/539426/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *