Como fazer um teste de ping através de uma tabela de roteamento não padrão?

1

Eu tenho uma caixa Linux atuando como um roteador para minha rede doméstica. tem 3 tabelas de roteamento:

# ip route show default
default via 192.168.5.1 dev wlp2s0
172.18.231.140/30 dev wwx0c5b8f279a64  proto kernel  scope link  src 172.18.231.141
192.168.0.0/24 dev enp1s0  proto kernel  scope link  src 192.168.0.110
192.168.1.0/24 dev enp3s0  proto kernel  scope link  src 192.168.1.10
192.168.5.0/24 dev wlp2s0  proto kernel  scope link  src 192.168.5.100

#ip route show table ISP1
default via 192.168.0.1 dev enp1s0
192.168.0.0/24 dev enp1s0  proto kernel  scope link  src 192.168.0.110
192.168.1.0/24 dev enp3s0  proto kernel  scope link  src 192.168.1.10

# ip route show table ISP2
default via 172.18.231.142 dev wwx0c5b8f279a64
172.18.231.140/30 dev wwx0c5b8f279a64  proto kernel  scope link  src 172.18.231.141
192.168.0.0/24 dev enp1s0  proto kernel  scope link  src 192.168.0.110
192.168.1.0/24 dev enp3s0  proto kernel  scope link  src 192.168.1.10

O que normalmente acontece é que todos os clientes que se conectam à rede passam pelo gateway padrão e, se eu quiser, estou adicionando a regra ip para corresponder ao ip e mudar os clientes para usar a tabela ISP1 ou a tabela ISP2

agora quero fazer uma ping check para ver minha rede móvel "wwx0c5b8f279a64" que está anexada à tabela ISP2 conectada ou desconectada, mas na caixa Linux não consigo fazer uma ping check porque ping check passa pela rota padrão que passa pela interface "wlp2s0".

Existe uma maneira de resolver esse problema? Acho que se eu puder rotear o tráfego local da caixa Linux para a tabela ISP2, isso funcionará, mas não consigo descobrir como trafegar o tráfego local da caixa para a tabela ISP2.

    
por Gihan Lasita 13.07.2018 / 06:01

2 respostas

0

A maneira óbvia é adicionar temporariamente uma regra que irá ativar a tabela para o endereço ou intervalo de endereços que você deseja executar:

ip rule add to 8.8.8.8 table ISP2
ping 8.8.8.8
ip rule del to 8.8.8.8 table ISP2

Observe que, enquanto a regra estiver ativa, todo o tráfego para 8.8.8.8 passará por essa interface, portanto, se você estiver realmente usando o 8.8.8.8 como um servidor de nomes em algum lugar, talvez não funcione durante esse período.

    
por 13.07.2018 / 09:25
1

Talvez nping (normalmente parte do nmap ) possa ajudar aqui? A partir do manpage:

--dest-mac mac (Ethernet Destination MAC Address) This option sets the destination MAC address that should be set in outgoing Ethernet frames. This is useful in case Nping can't determine the next hop's MAC address or when you want to route probes through a router other than the configured default gateway. The MAC address should have the usual format of six colon-separated bytes, e.g. 0:50:56:d4:01:98. Alternatively, hyphens may be used instead of colons. Use the word random or rand to generate a random address, and broadcast or bcast to use ff:ff:ff:ff:ff:ff. If you set up a bogus destination MAC address your probes may not reach the intended targets.

    
por 13.07.2018 / 08:40