Итак, во-первых, нам нужно изменить маршрут по умолчанию. Запуск ip route
должен показать, что текущий маршрут по умолчанию является шлюзом для сети VPN 192.168.0.0/24
. Это необходимо изменить (при подключении к VPN), удалив текущий маршрут по умолчанию и создав новый, указывающий на шлюз / маршрутизатор локальной сети (не vpn). Поэтому, если шлюзом вашей локальной сети является 172.16.2.1
вы должны выполнить:
sudo ip route del default
sudo ip route default via 172.16.2.1
Теперь, если вы запустите ip route
и route -n
вы увидите, что новый маршрут по умолчанию теперь указывает на вашу локальную сеть, и по умолчанию никакой трафик не должен проходить через ваш VPN-туннель.
Теперь мы можем перейти к перенаправлению всего исходящего трафика через порт 80/443 на шлюз VPN.
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:80
sudo iptables -t nat -A OUTPUT -p tcp --dport 443 -j DNAT --to-destination 192.168.0.1:443
Теперь это должно переадресовывать / перенаправлять любой веб-трафик, исходящий на шлюз / маршрутизатор по умолчанию для вашего VPN, а весь остальной трафик по умолчанию выводиться локально.
Попробуйте и дайте мне знать, если это достигнет того, что вы ищете!