Я пытаюсь направить некоторый трафик по ip из моей локальной сети через экземпляр сервера Ubuntu под управлением openconnect на удаленный сервер.
Client Router Ubuntu Server (ens160) tun0 remote resource
| 192.168.1.x | -> | 192.168.1.1 | -> | 192.168.1.38 | -> | VPN | -> | 1.1.1.1 |
мои маршруты выглядят так:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 tun0
1.3.4.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0 (vpn dhcp range)
1.4.5.6 192.168.1.1 255.255.255.255 UGH 0 0 0 ens160 (ip from remote)
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
мне удалось направить трафик, направленный на 1.1.1.1, на мой сервер Ubuntu по адресу 192.168.1.38
. Маршрут трассировки от клиента проверяет это.
Tracing route to [1.1.1.1] over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.1.1
2 <1 ms <1 ms <1 ms 192.168.1.38
3 * * * Request timed out.
таким образом, трафик останавливается на сервере Ubuntu на ens160
интерфейс (я полагаю). Вот где я нахожусь растеряться. Я искал решения, но я немного смущен множеством вариантов, которые у меня есть. Первоначально я просто хотел добавить статический маршрут говоря src lan through tun0
, но шлюз 0.0.0.0
? Я тогда вижу, что третий маршрут-ip, принадлежащий удаленному VPN-местоположению. Поэтому я предполагаю, что это маршрут через мою глобальную сеть для VPN.
я включил переадресацию ip. И попытался добавить правило masquarade и nat с iptables. Но я уверена, что все испортила. как-то.
iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE
iptables -A FORWARD --in-interface ens160 -j ACCEPT
Я ценю любую помощь.