
Мне сложно понять, как работает мой VPN-клиент и как настроить таблицы маршрутизации так, чтобы они работали так, как мне нужно.
Вот вывод ДО подключения к моему VPN
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 * 255.255.255.0 U 303 0 0 wlan0
ПОСЛЕ подключения к моему vpn
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default XXX.XXX.XXX.XXX 128.0.0.0 UG 1 0 0 ppp0
default 192.168.3.1 0.0.0.0 UG 303 0 0 wlan0
1.1.1.1 * 255.255.255.255 UH 0 0 0 ppp0
vpn.domain.tld 192.168.3.1 255.255.255.255 UGH 1 0 0 wlan0
128.0.0.0 XXX.XXX.XXX.XXX 128.0.0.0 UG 1 0 0 ppp0
192.168.3.1 192.168.3.121 255.255.255.255 UGH 1 0 0 wlan0
отчеты ifconfig
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1379 metric 1
inet XXX.XXX.XXX.XXX netmask 255.255.255.255 destination 1.1.1.1
ppp txqueuelen 100 (Point-to-Point Protocol)
RX packets 25 bytes 14115 (13.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 51 bytes 7076 (6.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 metric 1
inet 192.168.3.121 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::ca3a:35ff:fec1:9095 prefixlen 64 scopeid 0x20<link>
ether c8:3a:35:c1:90:95 txqueuelen 1000 (Ethernet)
RX packets 499060 bytes 549032226 (523.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 385300 bytes 77733269 (74.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Я бы хотел, чтобы ТОЛЬКО трафик, идущий на XXX.XXX.XXX.XXX (IP-адрес класса B), шел в VPN. Весь остальной трафик, естественно, шел на wlan0.
Извините, если это дубликат. Любой совет будет полезен.
Примечание: значение XXX.XXX.XXX.XXX одинаково в каждом отмеченном случае.
решение1
Я нашел здесь небольшой урок:
http://www.gentoo.org/doc/en/vpnc-howto.xml#doc_chap7
У меня была та же проблема, что и у вас: у меня было два маршрута по умолчанию. К сожалению, у меня есть Juniper VPN, который выходит, как только вы меняете маршрут по умолчанию.
Но, насколько я понимаю, удалить VPN-маршрут по умолчанию можно с помощью этой команды:
sudo route del default gw XXX.XXX.XXX.XXX
Затем вы можете добавить конкретную маршрутизацию подсети следующим образом:
sudo route add -net XXX.XXX.XXX.XXX netmask 255.255.255.0 dev tun0
Вам может потребоваться настроить сетевую маску в соответствии с сетью, к которой вы собираетесь. «Tun0» — это устройство VPN. Вы можете использовать ifconfig, чтобы увидеть, какое устройство добавил ваш vpn.
Просто FYI, я думаю, что эта техника называется раздельным туннелированием. Насколько я понимаю, администратор vpn может либо разрешить, либо запретить раздельное туннелирование. Juniper VPN, похоже, хорошо справляется с обеспечением этого решения, и я не вижу способа его переопределить.