J'essaie de faire un ping à partir d'une interface spécifique, j'ai une connexion filaire et une connexion sans fil qui vont toutes les deux dans mon ordinateur portable.
Mon adaptateur filaire eth0
est sur l'IP 172.16.109.75
Mon adaptateur wifi wlan0
est sur l'IP 192.168.1.69
Quand je cingle google avec mon eth0
débranché avec la commande suivante :
[email protected]:~$ 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
Cela fonctionne bien comme prévu. Je branche mon eth0
câblez et réexécutez la même chose :
[email protected]:~$ 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
Par la sortie en haut, il semble l'envoyer depuis le eth0
(qui au travail ne pourra pas envoyer de ping car il est bloqué), mais le wifi
est un autre lien vers un réseau séparé où je suis directement sur le net et donc envoyant la requête ping depuis le wlan0
devrait marcher. Ce qui se passe? Comment dois-je résoudre ce problème ?
Réponse acceptée :
Probablement, lorsque vous branchez le câble Ethernet, votre passerelle de route par défaut change par DHCP. Vous envoyez des paquets depuis wlan0 mais votre système ne sait pas à qui est la passerelle vers laquelle les transférer. De cette façon, vous ne pouvez envoyer un ping qu'aux systèmes du réseau 192.168.1, mais pas plus loin. Si vous souhaitez obtenir une réponse du serveur Google, vous devrez soit redéfinir la passerelle par défaut sur le routeur sans fil, soit ajouter une route spécifique pour ce serveur.
route add -host 74.125.230.112/32 gw 192.168.1.1 # assuming 192.168.1.1 is the wireless router's ip