Dois gateways na mesma rede

3

Minha máquina executa o Ubuntu Server 16.04 e possui duas NICs, eth0 e eth1, conforme mostrado no diagrama de rede. Sua função era inicialmente rotear o tráfego da sub-rede 192.168.50.0/24 para a sub-rede 192.168.1.0/24, na qual o roteador DSL se conecta à Internet. Então minha configuração de rede é

Saída de (eth0) cat /etc/network/interfaces.d/eth0

#auto eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.7
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1

Saída de (eth1) cat /etc/network/interfaces.d/eth1

#auto eth0
#iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.50.7
netmask 255.255.255.0

Agora adicionei outro roteador de celular que também se conecta à internet e está conectado à sub-rede 192.168.50.0/24. Preciso direcionar parte do tráfego da Internet através desse roteador celular, mas não de todo ele (por exemplo, conexões ssh) Alguma idéia de como conseguir isso?

    
por Panos 24.04.2017 / 18:44

1 resposta

2

Aqui, teremos ssh como o serviço de roteamento. Use mangle table do iptable para modificar os pacotes ssh .

sudo iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 0x1

Estamos marcando todos os pacotes com porta de destino 22 as 0x1 .

Agora salve e reinicie o iptables .

sudo service iptables save
sudo service iptables restart

Em seguida, crie uma nova tabela de rotas IP em /etc/iproute2/rt_tables apenas fornecendo uma entrada

100 sshtable

Regra de gravação para ssh pacotes.

ip rule add fwmark 0x1 lookup sshtable

Adicionar rota na nova tabela sshtable . Todo o outro tráfego passará pelo gateway padrão, 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 sshtable $ROUTE; done

Adicione uma entrada de gateway padrão para ssh pacotes à tabela sshtable

sudo ip route add default gw 192.168.50.254 table sshtable

Use ip route show table sshtable para mostrar todas as rotas em sshtable .

Tente.

    
por 2707974 25.04.2017 / 09:35