A primeira coisa que você faz é definir a prioridade de sua rota gw padrão. Você pode fazer isso adicionando uma métrica para rotear. Você pode fazer manualmente
sudo route add -net default gw 132.45.65.57 netmask 0.0.0.0 dev eth0:1 metric 10
ou, você pode escrever código para fazer isso por você
sudo nano /etc/networking/interfaces
adicione no final da configuração da interface, mas na configuração de eth0:1 interface
up route add default gw 132.45.65.57 metric 10
down route del default gw 132.45.65.57
Alguma coisa assim
auto eth0:1
iface eth0:1 inet static
address 132.45.65.60
netmask 255.255.255.0
gateway 132.45.65.57
dns-nameservers 8.8.8.8 8.8.4.4
up route add default gw 132.45.65.57 metric 10
down route del default gw 132.45.65.57
Depois disso, você deve marcar o pacote e rotear o pacote marcado via eth0: 1
Dou-lhe exemplo para encaminhar o tráfego para a origem port 8080 e pode implementar a porta de que precisa para
Vamos começar pelo iptables . Aqui tomaremos 8080 como o serviço para roteamento. Use mangle table do iptables para modificar os pacotes 8080 .
sudo iptables -t mangle -A OUTPUT -p tcp –sport 8080 -j MARK –set-mark 0×1
Estamos marcando todos os pacotes com porta de origem 8080 como '0 × 1 ′.
Agora salve e reinicie o iptables .
service iptables save
service iptables restart
Para excluir esta entrada de iptables , podemos usar -D em vez de -A .
Em seguida, crie uma nova tabela de rotas IP em /etc/iproute2/rt_tables apenas fornecendo uma entrada
100 8080table
Regra de gravação para 8080 pacotes.
ip rule add fwmark 0×1 lookup 8080table
Adicionar rota na nova tabela 8080table . Aqui vamos usar '132.45.65.57' como o gateway para 8080 . O endereço "132.45.65.57", neste exemplo, será o endereço do gateway para eth0:1 . Todo o tráfego restante passará pelo
gateway padrão também conhecido como eth0 , que pode ser visto pelo comando IP route show.
Copiamos todas as entradas, exceto a entrada do gateway padrão da tabela principal.
sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table 8080table $ROUTE; done
Adicione uma entrada de gateway padrão para 8080 pacotes à tabela 8080table
sudo ip route add default via 132.45.65.57 table 8080table
Use ip route show table 8080table para mostrar todas as rotas em 8080table .
É isso.
Editar 1
Talvez seja melhor marcar e rotear o tráfego com base na rota de origem
auto eth0:1
iface eth0:1 inet static
address 132.45.65.60
netmask 255.255.255.0
gateway 132.45.65.57
dns-nameservers 8.8.8.8 8.8.4.4
up route add default gw 132.45.65.57 metric 10
down route del default gw 132.45.65.57
Depois disso, você deve marcar o pacote e rotear o pacote marcado via eth0: 1
Dou um exemplo para rotear o tráfego com base em ip, source ip 132.45.65.60
Mais uma vez, use mangle table de iptables para modificar os pacotes de 132.45.65.60
sudo iptables -t mangle -A OUTPUT -s 132.45.65.60 -j MARK -set-mark 0×1
Estamos marcando todos os pacotes com a fonte ip 132.45.65.60 as '0 × 1 ′.
Agora salve e reinicie o iptables .
service iptables save
service iptables restart
Para excluir esta entrada de iptables , podemos usar -D em vez de -A .
Em seguida, crie uma nova tabela de rotas IP em /etc/iproute2/rt_tables apenas fornecendo uma entrada
100 132table
Regra de gravação para pacotes do IP de origem 132.45.65.60
ip rule add fwmark 0×1 lookup 132table
Adicionar rota na nova tabela 132table . Aqui vamos usar '132.45.65.57' como o gateway para 132.45.65.60 . O endereço "132.45.65.57", neste exemplo, será o endereço do gateway para eth0:1 . Todo o tráfego restante passará pelo
gateway padrão também conhecido como eth0 , que pode ser visto pelo comando IP route show.
Copiamos todas as entradas, exceto a entrada do gateway padrão da tabela principal.
sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table 132table $ROUTE; done
Adicione uma entrada de gateway padrão para 132.45.65.60 pacotes à tabela 132table
sudo ip route add default via 132.45.65.57 table 132table
Use ip route show table 132table para mostrar todas as rotas em 132table .