Adott egy RouterOS 6.33.3-at futtató Mikrotik eszköz (RB433AH), kábelmodem mögött, ezen az ábrán látható környezetben:
A peer NAT traversal-t és a policy generálást beállítottam. A probléma, hogy ha egy NAT mögött lévő roadwarrior kliens próbál csatlakozni, akkor nem épül fel a kapcsolat, csak akkor, ha kézzel létrehozok egy policy-t, ahol a source=Mikrotik privát címe, destination=a roadwarrior kliens publikus címe (kimenő forgalomra vonatkozó policy tehát). Dinamikusan (automatikusan) csak egy policy generálódik a bejövő forgalomra.
RouterOS: 6.33.3
[admin@MikroTik] > ip ipsec peer print
Flags: X - disabled, D - dynamic
0 address=0.0.0.0/0 local-address=0.0.0.0 passive=no port=500
auth-method=pre-shared-key secret="xxx" generate-policy=port-strict
policy-template-group=default exchange-mode=main-l2tp
send-initial-contact=yes nat-traversal=yes hash-algorithm=sha1
enc-algorithm=3des,aes-256 dh-group=modp1024 lifetime=1d dpd-interval=2m
dpd-maximum-failures=5
[admin@MikroTik] > ip ipsec policy print
Flags: T - template, X - disabled, D - dynamic, I - inactive, * - default
0 T * group=default src-address=::/0 dst-address=::/0 protocol=all
proposal=default template=yes
Csak egy policy szabály van alapértelmezetten.
Első próbálkozásra, kézzel létrehozott policy nélkül csak 1 dinamikus policy generálódik:
[admin@MikroTik] > ip ipsec policy print
Flags: T - template, X - disabled, D - dynamic, I - inactive, * - default
0 T * group=default src-address=::/0 dst-address=::/0 protocol=all
proposal=default template=yes
1 D src-address=20.20.20.20/32 src-port=23201 dst-address=30.30.30.30/32
dst-port=1701 protocol=udp action=encrypt level=require
ipsec-protocols=esp tunnel=no sa-src-address=20.20.20.20
sa-dst-address=30.30.30.30 priority=2
Utána kézzel hozzáadom a policy-t:
/ip ipsec policy add dst-address=20.20.20.20/32 protocol=udp
sa-dst-address=20.20.20.20
sa-src-address=192.168.0.253 src-address=192.168.0.253/32
Ha ezután újra próbálok csatlakozni, a VPN kapcsolat felépül:
[admin@MikroTik] > ip ipsec policy print
Flags: T - template, X - disabled, D - dynamic, I - inactive, * - default
0 T * group=default src-address=::/0 dst-address=::/0 protocol=all
proposal=default template=yes
1 src-address=192.168.0.253/32 src-port=any dst-address=20.20.20.20/32
dst-port=any protocol=udp action=encrypt level=require
ipsec-protocols=esp tunnel=no sa-src-address=192.168.0.253
sa-dst-address=20.20.20.20 proposal=default priority=0
2 D src-address=20.20.20.20/32 src-port=23201 dst-address=30.30.30.30/32
dst-port=1701 protocol=udp action=encrypt level=require
ipsec-protocols=esp tunnel=no sa-src-address=20.20.20.20
sa-dst-address=30.30.30.30 priority=2
A megoldás végül az lenne, ha létrehoznék egy policy template group-ot, pl: "RW" group, amiben a következő policy-k vannak:
[admin@MikroTik] > ip ipsec policy print
Flags: T - template, X - disabled, D - dynamic, I - inactive, * - default
0 T * group=default src-address=::/0 dst-address=::/0 protocol=all proposal=default template=yes
1 T group=RW src-address=192.168.0.253/32 dst-address=0.0.0.0/0 protocol=udp proposal=default template=yes
2 T group=RW src-address=0.0.0.0/0 dst-address=0.0.0.0/0 protocol=udp proposal=default template=yes
Ez megoldja a problémát, pl. egy NAT mögötti 3G/LTE klienssel felépül a kapcsolat, de pl. egy dupla NAT mögötti klienssel már nem. Ugyanez a dupla nat mögötti kliens SoftEther-rel működik.
Az SA-k létrejönnek, de a statisztikában látszik hogy a kimenő forgalomhoz tartozó SA 0 byte. Mi lehet a hiba oka?
Minden ötletet szívesen fogadok és köszönöm.
- 1702 megtekintés