Всем привет! Помогите с маршрутизацией в ipsec. Схема такая: comp1 - proxy - comp2
«comp1» и «comp2» подключаются как ipsec-клиенты к ipsec-серверу «proxy». У них нет белых ip, а у сервера есть.
Использую Strongswan. Настроил VTI на всех трех компьютерах, роутинг такой:
«proxy»
root@ubuntu1604:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 10.1.1.1/32 scope global lo
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1c:42:53:83:34 brd ff:ff:ff:ff:ff:ff
inet 10.2.0.47/24 brd 10.2.0.255 scope global enp0s5
valid_lft forever preferred_lft forever
3: ip_vti0@NONE: <NOARP> mtu 1332 qdisc noop state DOWN group default qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
7: ipsec1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1436 qdisc noqueue state UNKNOWN group default qlen 1
link/ipip 10.2.0.47 peer 10.2.0.49
8: ipsec2@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1436 qdisc noqueue state UNKNOWN group default qlen 1
link/ipip 10.2.0.47 peer 10.2.0.48
root@ubuntu1604:~# ip r
default via 10.2.0.1 dev enp0s5
10.2.0.0/24 dev enp0s5 proto kernel scope link src 10.2.0.47
10.1.2.1 dev ipsec1 scope link
10.1.3.1 dev ipsec2 scope link
«comp1»
root@ubuntu1604:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1c:42:86:b5:24 brd ff:ff:ff:ff:ff:ff
inet 10.2.0.48/24 brd 10.2.0.255 scope global enp0s5
valid_lft forever preferred_lft forever
3: ip_vti0@NONE: <NOARP> mtu 1332 qdisc noop state DOWN group default qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
5: ipsec2@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1436 qdisc noqueue state UNKNOWN group default qlen 1
link/ipip 10.2.0.48 peer 10.2.0.47
inet 10.1.3.1/32 scope global ipsec2
valid_lft forever preferred_lft forever
root@ubuntu1604:~# ip r
default via 10.2.0.1 dev enp0s5
10.2.0.0/24 dev enp0s5 proto kernel scope link src 10.2.0.48
10.1.0.0/16 dev ipsec2 scope link
«comp2»
root@ubuntu1604:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1c:42:ef:b6:53 brd ff:ff:ff:ff:ff:ff
inet 10.2.0.49/24 brd 10.2.0.255 scope global enp0s5
valid_lft forever preferred_lft forever
3: ip_vti0@NONE: <NOARP> mtu 1332 qdisc noop state DOWN group default qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
6: ipsec2@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1436 qdisc noqueue state UNKNOWN group default qlen 1
link/ipip 10.2.0.49 peer 10.2.0.47
inet 10.1.2.1/32 scope global ipsec2
valid_lft forever preferred_lft forever
root@ubuntu1604:~# ip r
default via 10.2.0.1 dev enp0s5
10.2.0.0/24 dev enp0s5 proto kernel scope link src 10.2.0.49
10.1.0.0/16 dev ipsec2 scope link
Когда пингую 10.1.2.1 -> 10.1.3.1 — всё хорошо, tcpdump на «proxy» показывает, что пакеты идут через него на второй компьютер.
Проблема следующая: нужно пробросить интернет-трафик через второй компьютер, делаю так: на «comp2»:
ip route add 8.8.4.4/32 via 10.1.3.1
iptables -t nat -A POSTROUTING -s 10.1.0.0/16 ! -d 10.1.0.0/16 -j MASQUERADE
Дело в том, что, мониторя tcpdump'ом трафик на «proxy», трафик дальше сервера не уходит. Словно шлюз 10.1.3.1 в команде роутинга игнорится! Что может быть, как это исправить?