Создайте файл 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, но я этого не использовал. И есть некоторые проблемы с такой маршрутизацией, если вы не знаете, что делаете.