Используйте оба OpenVPN и eth0 вместе
Я подключаюсь к VPN, используя openVPN. Теперь, после того как соединение установлено, весь мой трафик проходит через tun0.
Мой шлюз локальной сети 10.100.98.4... Итак, для приложений, чтобы использовать мое прямое подключение к Интернету, я сделал
sudo route add default gw 10.100.98.4
Но я не могу использовать tun0 сейчас. Я знаю это, потому что
curl --interface tun0 google.com
не дает мне ничего.. Как мне использовать оба соединения одновременно. Как я могу этого достичь?
МАРШРУТНЫЕ СТОЛЫ:-
Без VPN работает:-
Destination Gateway Genmask Flags Metric Ref Use Iface
10.100.98.0 * 255.255.255.0 U 1 0 0 eth0
default 10.100.98.4 0.0.0.0 UG 0 0 0 eth0
С VPN:-
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.0.1 10.10.54.230 255.255.255.255 UGH 0 0 0 tun0
10.10.54.230 * 255.255.255.255 UH 0 0 0 tun0
free-vpn.torvpn 10.100.98.4 255.255.255.255 UGH 0 0 0 eth0
10.100.98.0 * 255.255.255.0 U 1 0 0 eth0
default 10.10.54.230 0.0.0.0 UG 0 0 0 tun0
После командования маршрута
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.0.1 10.10.54.230 255.255.255.255 UGH 0 0 0 tun0
10.10.54.230 * 255.255.255.255 UH 0 0 0 tun0
free-vpn.torvpn 10.100.98.4 255.255.255.255 UGH 0 0 0 eth0
10.100.98.0 * 255.255.255.0 U 1 0 0 eth0
default 10.100.98.4 0.0.0.0 UG 0 0 0 eth0
default 10.10.54.230 0.0.0.0 UG 0 0 0 tun0
1 ответ
После добавления маршрута по умолчанию вы сообщаете всему трафику, что вы должны выходить из шлюза, так что вы будете получать только странные вещи.
Если у вас есть конкретная сеть на другом конце вашей VPN, к которой вам нужен доступ, вы хотите добавить определенные маршруты, чтобы указать tun0, Вы можете сделать это вручную, добавив маршруты после прохождения туннеля, или лучше поменять OpenVPN. server.conf файл, чтобы "протолкнуть" вам маршруты, когда появится туннель.
Если вы хотите сделать что-то более сложное - скажем, вы хотите заставить весь трафик портов 80 и 443 пропускать VPN, но все остальное вывести из строя eth0 - тогда вы могли бы использовать iptables источник трафика NAT, соответствующий определенным правилам IP-адресу tun0 что-то вроде этого:
iptables -t nat -A POSTROUTING -s 10.10.98.0/24 -d ! 10.10.98.0/24 -p tcp --dport 80 -j SNAT --to-source 10.10.54.230
iptables -t nat -A POSTROUTING -s 10.10.98.0/24 -d ! 10.10.98.0/24 -p tcp --dport 443 -j SNAT --to-source 10.10.54.230
Чтобы сделать это постоянным, как корень, iptables-save > /etc/iptables/iptables.rules,
Удачи!