Основной материал для прочтения: http://wiki.mikrotik.com/wiki/Manual:IP/IPsec
Требуется поднять IPSEC-тоннель между двумя Mikrotik
Mikrotik1:
Mikrotik2:
Этапы настройки:
IP → Firewall → Filter rules
> /ip firewall filter > add chain=input action=accept protocol=udp dst-port=500 src-address=Y.Y.Y.Y > add chain=input action=accept protocol=ipsec-esp src-address=Y.Y.Y.Y > add chain=input action=accept protocol=ipsec-ah src-address=Y.Y.Y.Y
IP → Firewall → NAT
> /ip firewall nat > add chain=srcnat action=accept src-address=192.168.10.0/23 dst-address=192.168.20.0/24
IP → IPsec → Proposals
> /ip ipsec proposals > add name="Secure" auth-algorithms=sha1 enc-algorithms=aes-128-cbc lifetime=30m pfs-group=modp1024
IP → IPsec → Policy
> /ip ipsec policy > add src-address=192.168.10.0/24 src-port=any dst-address=192.168.20.0/24 dst-port=any protocol=all action=encrypt level=require ipsec-protocols=ah-esp tunnel=yes sa-src-address=X.X.X.X sa-dst-address=Y.Y.Y.Y proposal=Secure priority=0
IP → IPsec → Peers
> /ip ipsec peers > add address=Y.Y.Y.Y local-address=:: passive=no port=500 auth-method=pre-shared-key secret="Pa$$word" generate-policy=no policy-template-group=default exchange-mode=main send-initial-contact=yes nat-traversal=no hash-algorithm=sha1 enc-algorithm=aes-128 dh-group=modp1024 lifetime=1d dpd-interval=2m dpd-maximum-failures=5
IP → Firewall → Filter rules
> /ip firewall filter > add chain=input action=accept protocol=udp dst-port=500 src-address=X.X.X.X > add chain=input action=accept protocol=ipsec-esp src-address=X.X.X.X > add chain=input action=accept protocol=ipsec-ah src-address=X.X.X.X > add chain=input action=accept protocol=udp src-address=X.X.X.X
IP → Firewall → NAT
> /ip firewall nat > add chain=srcnat action=accept src-address=192.168.20.0/23 dst-address=192.168.10.0/24
IP → IPsec → Proposals
> /ip ipsec proposals > add name="Secure" auth-algorithms=sha1 enc-algorithms=aes-128-cbc lifetime=30m pfs-group=modp1024
IP → IPsec → Policy
> /ip ipsec policy > add src-address=192.168.20.0/24 src-port=any dst-address=192.168.10.0/24 dst-port=any protocol=all action=encrypt level=require ipsec-protocols=ah-esp tunnel=yes sa-src-address=Y.Y.Y.Y sa-dst-address=X.X.X.X proposal=Secure priority=0
IP → IPsec → Peers
> /ip ipsec peers > add address=X.X.X.X local-address=:: passive=no port=500 auth-method=pre-shared-key secret="Pa$$word" generate-policy=no policy-template-group=default exchange-mode=main send-initial-contact=yes nat-traversal=no hash-algorithm=sha1 enc-algorithm=aes-128 dh-group=modp1024 lifetime=1d dpd-interval=2m dpd-maximum-failures=5
Mikrotik: балансировка двух WAN используя PCC
При эксплуатации IPSEC и балансировке каналов выяснился интересный факт: при установке IPSEC не получается обменяться всеми ключами. IPSEC вроде бы как и поднимается, но работать не работает. Если посмотреть IP → IPsec → Installed SAs - можно увидеть что счетчик «Current Bytes» для одного из ключей равен 0, т.е. обмен ключами все-таки не прошел. Для правильной работы необходимо добавить еще два правила:
> /ip firewall mangle > add chain=output action=mark-connection new-connection-mark=ISP1_conn passthrough=no out-interface=WAN1 > add chain=output action=mark-connection new-connection-mark=ISP2_conn passthrough=no out-interface=WAN2