Привет. Есть необычная задача, которую не получается решить самому. Прошу помощи.
Существует две сети организации, соединенные при помощи OpenVPN. Адрес сервера в внутренней сети OpenVPN - 192.168.195.1, адрес клиента - 192.168.195.2. Локальная подсеть за сервером OpenVPN - 192.168.180.0.
Одну из машин за сервером (192.168.180.211) нужно вывести в интернет через шлюз клиента OpenVPN, для того чтобы она использовала его внешний IP.
Со стороны сервера добавляю маршрут и правила для хоста 192.168.180.211.
# ip route add default via 192.168.195.2 table 120
# ip rule add from 192.168.180.211 table 120
В итоге получется так:
# ip route list table 120
default via 192.168.195.2 dev tun1
# ip rule
0: from all lookup local
32765: from 192.168.180.211 lookup 120
32766: from all lookup main
32767: from all lookup default
При попытке зайти на гугл с машины 192.168.180.211, на стороне сервера (на интерфейсе OpenVPN - tun1) вижу след.:
# tcpdump -n -i tun1 ip src 192.168.180.211
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun1, link-type RAW (Raw IP), capture size 262144 bytes
21:08:55.648552 IP 192.168.180.211.49367 > 13.107.5.80.80: Flags [S], seq 4144276543, win 8192, options [mss 1460,nop,nop,sackOK], length 0
21:08:55.648601 IP 192.168.180.211.49368 > 13.107.5.80.80: Flags [S], seq 2365187574, win 8192, options [mss 1460,nop,nop,sackOK], length 0
21:08:58.336611 IP 192.168.180.211.49369 > 172.217.21.131.80: Flags [S], seq 682449834, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
21:09:01.345580 IP 192.168.180.211.49369 > 172.217.21.131.80: Flags [S], seq 682449834, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
Но со стороны клинта OpenVPN не вижу ни одного пакета.
В iptables на время пердолинга сделал -P FORWARD ACCEPT.