Используйте оба 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
,
Удачи!