Problema de ping de uma interface específica

4

Estou tentando fazer ping de uma interface específica, tenho uma conexão com fio e sem fio indo para o meu laptop.

Meu adaptador com fio eth0 está no IP 172.16.109.75
Meu adaptador wi-fi wlan0 está no IP 192.168.1.69

Quando faço ping no google com meu eth0 desconectado com o seguinte comando:

conneco@mcr-pc-29334:~$ ping -I wlan0 www.google.co.uk
PING www.l.google.com (74.125.230.115) from 192.168.1.69 wlan0: 56(84) bytes of data.
64 bytes from 74.125.230.115: icmp_seq=1 ttl=51 time=32.7 ms
64 bytes from 74.125.230.115: icmp_seq=2 ttl=52 time=28.7 ms
64 bytes from 74.125.230.115: icmp_seq=3 ttl=52 time=28.9 ms
64 bytes from 74.125.230.115: icmp_seq=4 ttl=52 time=28.3 ms

Funciona bem como esperado. Eu pluguei meu cabo eth0 e executei o mesmo novamente:

conneco@mcr-pc-29334:~$ ping -I wlan0 www.google.co.uk
PING www.l.google.com (74.125.230.112) from 172.16.109.75 wlan0: 56(84) bytes of data.
From mcr-pc-29334.local (192.168.1.69) icmp_seq=2 Destination Host Unreachable
From mcr-pc-29334.local (192.168.1.69) icmp_seq=3 Destination Host Unreachable
From mcr-pc-29334.local (192.168.1.69) icmp_seq=4 Destination Host Unreachable
From mcr-pc-29334.local (192.168.1.69) icmp_seq=5 Destination Host Unreachable
From mcr-pc-29334.local (192.168.1.69) icmp_seq=6 Destination Host Unreachable
From mcr-pc-29334.local (192.168.1.69) icmp_seq=7 Destination Host Unreachable

Pela saída na parte superior, parece enviá-lo do eth0 (que no trabalho não conseguirá pingar porque fica bloqueado), mas o wifi é outro link para uma rede separada onde eu Estou diretamente na rede e, portanto, enviando a solicitação de ping do wlan0 deve funcionar. O que está acontecendo? Como devo corrigir isso?

    
por 0x7c0 28.03.2011 / 11:03

3 respostas

4

Provavelmente, ao conectar o cabo ethernet, seu gateway de rota padrão é alterado por dhcp. Você envia pacotes de wlan0 mas seu sistema não sabe quem é o gateway para encaminhá-los. Dessa forma, você só pode fazer ping de sistemas dentro da rede 192.168.1, mas não mais. Se você quiser obter uma resposta do servidor do Google, terá que alterar o gateway padrão de volta para o roteador sem fio ou adicionar uma rota específica para esse servidor.

route add -host 74.125.230.112/32 gw 192.168.1.1 # assuming 192.168.1.1 is the wireless router's ip
    
por 28.03.2011 / 11:43
1

SystemWide, só pode haver um gateway padrão e apenas uma tabela de roteamento SystemWide. Não é exatamente verdade, mas bom o suficiente para isso.

NicWide, pode haver um gateway padrão por nic. Cada nic pode ter sua própria tabela de roteamento individual.

Em suma, torne-se familiar com ip route , ip rule e / etc / iproute2 / rt_tables. Veja este tutorial " Duas rotas padrão ".

link

    
por 13.01.2015 / 08:01
-3

Meu exemplo

# echo "203 T3" >> /etc/iproute2/rt_tables
# apt install -y sipcalc
WNET=$(sipcalc -I wlp2s0 | grep "Network address" | awk '{print $4}')
WBIT=$(sipcalc -I wlp2s0 | grep "Network mask (bits)" | awk '{print $5}')
WLAN_NET="$WNET/$WBIT"

ip route add default via $GW_WLAN table T3
ip route add $WLAN_NET via $GW_WLAN table T3
ip rule add from $WLAN_NET table T3

# Tests
ip rule list
ping -I enp3s0 8.8.8.8
ping -I wlp2s0 8.8.8.8
    
por 14.08.2017 / 10:38

Tags