Crie um arquivo, irc_route.sh, que contenha:
#!/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.*//;t;d"|head -1)
route add -host irc.irchighway.net gw $GW $DEV
Altere DEV para ser a interface da qual você obtém sua conexão com a Internet (pode ser qualquer um dos wlan0, eth1, eth0, ppp0). Em seguida, execute o script com sudo bash irc_route.sh
, você pode verificar os resultados executando ip route list
antes e depois.
O IP do gateway padrão para o tráfego de internet no dispositivo DEV é armazenado na variável GW, que é então usada para rotear todo o tráfego que vai para o servidor irc.irchighway.net através do seu GW padrão ao invés da conexão OpenVPN que você tem.
Para que isso funcione para todos os servidores IRCHighWay, você precisaria obter uma lista de todos os servidores.
server_list.txt:
irc.irchighway.net
caliburn.pa.us.irchighway.net
Script:
#!/bin/bash
# script to make connections to irchighway go via DEV.
DEV=eth0
GW=$(ip route list | sed "s/.* via \([0-9.]*\) dev $DEV.*//;t;d"|head -1)
cat server_list.txt| xargs -iSERVER route add -host SERVER gw $GW $DEV
Existe uma solução "mais fácil", você pode marcar as portas e rotear com base nisso, veja tutorial do iproute2 mas eu não usei isso. E há alguns problemas com esse tipo de roteamento se você não sabe o que está fazendo.