Поднял сервер на strongswan ikev2, для доступа к виртуалкам на серваке. Адреса клиентам раздаются через dhcp из сети 192.168.99.0/24, эта же сеть стоит в leftsubnet сервера. Макос, винда, всякие телефоны - все работает хорошо, и сам клиент пингуется изнутри сети, и клиенты видят все ресурсы этой сети.
А вот устройства на линуксах коннект поднимают, из сети пингуются, но ресурсов сети не видят, и более того, трафик на 192.168.99.0/24 уходит через дефолтный gateway. Но стоит сделать
iptables -t nat -A POSTROUTING -d 192.168.99.0/24 -j SNAT --to-source 192.168.99.121 (адрес, полученый клиентом)
как всё волшебным образом начинает работать. Причем поведение одинаковое, что с NetworkManager, что с просто запуском сервиса strongswan.
Что я делаю не так?
- iptables на клиенте чист, разрешено все.
- форвардинг включен
config setup
strictcrlpolicy=no
uniqueids=never
conn %default
keyexchange=...
esp=...
dpddelay=60s
dpdaction=restart
closeaction=restart
fragmentation=yes
forceencaps=yes
rekey=no
lifetime=86400s
mobike=yes
keyingtries=%forever
conn test
left=x.x.x.x
leftid=x.x.x.x
leftcert=xxx.com.crt
leftsendcert=always
leftfirewall=yes
leftsubnet=192.168.99.0/24
right=%any
rightid=%any
rightsourceip=%dhcp
rightsendcert=never
rightauth=eap-mschapv2
rightdns=8.8.8.8,8.8.4.4
eap_identity=%identity
type=tunnel
auto=add