Разделение IP точек входа и выхода VPN IKEv2 (Strongswan)
Добрый день! Имеется VPS на Ubuntu 22.04 с двумя IP-адресами:
eth0: 5.255.105.107 (основной)
eth0:0: 5.255.105.92 (дополнительный)
для поднятия VPN IKEv2 используется Strongswan.
Подключение к VPN осуществляется по IP 5.255.105.107 (точка входа). В итоге клиенты также получают IP 5.255.105.107 (точка выхода) после подключения при проверке через соответствующие сервисы (2ip и прочее). В этом случае VPN работает корректно.
Необходимо чтобы IP точки выхода был 5.255.105.92 при проверке через соответствующие сервисы (2ip и прочее).
/etc/ufw/before.rules:
*nat
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -m policy --pol ipsec --dir out -j ACCEPT
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
COMMIT
*mangle
-A FORWARD --match policy --pol ipsec --dir in -s 10.10.10.0/24 -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360
COMMIT
...
-A ufw-before-forward --match policy --pol ipsec --dir in --proto esp -s 10.10.10.0/24 -j ACCEPT
-A ufw-before-forward --match policy --pol ipsec --dir out --proto esp -d 10.10.10.0/24 -j ACCEPT
Пробовал менять
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
на
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source 5.255.105.92
Но это не помогло (вероятно и не так нужно задавать, я новичок, в iptables пока полностью не получается разобраться). Также экспериментировал с другими различными вариантами, в некоторых случаях у клиента не работал интернет (но подключение к VPN было успешно)
/etc/ufw/sysctl.conf
net/ipv4/ip_forward=1
net/ipv4/conf/all/accept_redirects=0
net/ipv4/conf/all/send_redirects=0
net/ipv4/ip_no_pmtu_disc=1
Конфиг /etc/ipsec.conf
config setup
uniqueids=no
conn ikev2-vpn
auto=add
compress=no
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
rekey=no
reauth=no
dpdaction=clear
dpddelay=35s
dpdtimeout=2000s
eap_identity=%identity
ike=chacha20poly1305-sha512-curve25519-prfsha512,aes256gcm16-sha384-prfsha384-ecp384,aes256-sha1-modp1024,aes128-sha1-modp1024,3des-sha1-modp1024!
esp=chacha20poly1305-sha512,aes256gcm16-ecp384,aes256-sha256,aes256-sha1,3des-sha1!
# server side settings
left=%any
leftid=5.255.105.107
leftcert=vpn-server-cert.pem
leftsendcert=always
leftsubnet=0.0.0.0/0
# client side settings
right=%any
rightid=%any
rightauth=eap-mschapv2
rightsourceip=10.10.10.0/24
rightdns=1.1.1.1,1.0.0.1
rightsendcert=never
Предполагаю что настраивать нужно именно в /etc/ufw/before.rules (тот же iptables), но не могу понять как именно это нужно сделать.