Освобожденные программы от использования активного соединения VPN

Когда я соединяюсь с VPN, весь мой сетевой трафик автоматически направляется через нее. Существует ли способ добавить льготы к этому? Я не знаю, имеет ли добавление исключений какое-либо отношение к протоколу VPN, но VPN, которую я использую, имеет протокол OpenVPN.

Разговор о OpenVPN, почему это не установлено по умолчанию на установках Ubuntu в отличие от PPTP?

Я не мог получить список серверов IRCHighWay, и это - результат, который я получаю попытку соединить на XChat с выполнением выполнения сценария удара:

* Looking up irc.irchighway.net
* Connecting to irc.irchighway.net (65.23.153.98) port 6667...
* Connected. Now logging in...
* You have been K-Lined.
* *** You are not welcome on this network.
* *** K-Lined for Open proxies are not allowed. (2011/02/26 01.21)
* *** Your IP is 173.0.14.9
* *** For assistance, please email banned@irchighway.net and include everything shown here.
* Closing Link: 0.0.0.0 (Open proxies are not allowed. (2011/02/26 01.21))
* Disconnected (Remote host closed socket).

IP 173.0.14.9 одно должное к моей VPN. Я забыл проверять ip route list прежде, чем запустить скрипт, и это - то после выполнения его:

~$ ip route list
99.192.193.241 dev ppp0  proto kernel  scope link  src 173.0.14.9 
173.0.14.2 via 192.168.1.1 dev eth1  proto static 
173.0.14.2 via 192.168.1.1 dev eth1  src 192.168.1.3 
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.3  metric 2 
169.254.0.0/16 dev eth1  scope link  metric 1000 
default dev ppp0  proto static

О, и запущение скрипта возвратило этот вывод:

~$ sudo bash irc_route.sh
Usage: inet_route [-vF] del {-host|-net} Target[/prefix] [gw Gw] [metric M] [[dev] If]
       inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [metric M]
                              [netmask N] [mss Mss] [window W] [irtt I]
                              [mod] [dyn] [reinstate] [[dev] If]
       inet_route [-vF] add {-host|-net} Target[/prefix] [metric M] reject
       inet_route [-FC] flush      NOT supported

Я запустил скрипт после соединения с VPN.

7
задан 26 February 2011 в 11:43

2 ответа

Создайте файл irc_route.sh, который содержит:

#!/bin/bash
# script to make connections to irc.irchighway.net go via DEV.
DEV=eth0 
GW=$(ip route list | sed "s/.* via \([0-9.]*\) dev $DEV.*/\1/;t;d"|head -1)
route add -host irc.irchighway.net gw $GW $DEV

Измените DEV на интерфейс, через который вы подключаетесь к Интернету (может быть любой из wlan0, eth1, eth0, ppp0). Затем запустите скрипт с sudo bash irc_route.sh, вы можете проверить результаты, запустив ip route list до и после.

IP-адрес шлюза по умолчанию для интернет-трафика на устройстве DEV сохраняется в переменной GW, которая затем используется для маршрутизации всего трафика, идущего на сервер irc.irchighway.net, через ваш GW по умолчанию вместо соединения OpenVPN, которое вы используете. есть.

Чтобы это работало для всех серверов IRCHighWay, вам необходимо получить список всех серверов.

server_list.txt:

 irc.irchighway.net
 caliburn.pa.us.irchighway.net

Сценарий:

#!/bin/bash
# script to make connections to irchighway go via DEV.
DEV=eth0 
GW=$(ip route list | sed "s/.* via \([0-9.]*\) dev $DEV.*/\1/;t;d"|head -1)
cat server_list.txt| xargs -iSERVER route add -host SERVER gw $GW $DEV

Существует «более простое» решение, на основе которого можно пометить порты и маршрут, см. iproute2 учебник , но я не использовал это. И есть некоторые проблемы с такого рода маршрутизацией, если вы не знаете, что делаете.

0
ответ дан 26 February 2011 в 11:43

Вы не можете мешать определенным программам устанавливать соединения через VPN, но если они хотят достичь определенного хоста или номера порта, это возможно. Я предполагаю, что в худшем случае вы хотите, чтобы определенные приложения обходили брандмауэр.

Это должно быть возможно сделать с помощью SELinux, запретив сетевые подключения из одной программы. Я не знаю ни хороших инструментов для этой конфигурации, ни как изменить ее на лету.

Я думаю, что когда-то был модуль в iptables, который мог совпадать при отправке программы, но я давно его не видел.

0
ответ дан 26 February 2011 в 11:43

Другие вопросы по тегам:

Похожие вопросы: