comment cingler et utiliser une carte réseau spécifique

11

J'ai 3 cartes réseau, 1 Lan (filaire), 1 carte réseau sans fil et 1 est une clé USB sans fil

comment envoyer une requête ping à partir d'une carte réseau spécifique?

et comment utiliser une carte réseau spécifique pour une application spécifique

exemple

i want to ping google from wlan1

exemple pour application spécifique

i want to use firefox or transmission from wan1

Lan ip 192.168.0.2> Fonctionne correctement entrez la description de l'image ici broche -I wlan1 google.com entrez la description de l'image ici

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
172.16.221.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet8
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan1
192.168.48.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet1

one @ onezero: ~ $ ip route

default via 192.168.0.1 dev eth0  proto static 
169.254.0.0/16 dev eth0  scope link  metric 1000 
172.16.221.0/24 dev vmnet8  proto kernel  scope link  src 172.16.221.1 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.2  metric 1 
192.168.0.0/24 dev wlan1  proto kernel  scope link  src 192.168.0.3  metric 2 
192.168.48.0/24 dev vmnet1  proto kernel  scope link  src 192.168.48.1 

@Khaled

one@onezero:~$ ping -S 192.168.0.2  hotmail.com
PING hotmail.com (65.55.72.135) 56(84) bytes of data.
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=1 ttl=236 time=391 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=2 ttl=236 time=296 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=3 ttl=236 time=393 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=4 ttl=236 time=352 ms

 ping -S 192.168.0.3  hotmail.com
PING hotmail.com (65.55.72.183) 56(84) bytes of data.
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=1 ttl=236 time=312 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=2 ttl=236 time=457 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=3 ttl=236 time=298 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=5 ttl=236 time=330 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=6 ttl=236 time=300 ms

Enfin, le problème de l'application

One Zero
la source
1
Voulez-vous simplement définir l'adresse source ou vous attendez-vous à sélectionner un chemin réseau différent? La définition d'une adresse source ne changera pas automatiquement la route sélectionnée et fera quitter une interface particulière.
Zoredache

Réponses:

9

Si vous regardez le manuel ping man ping, vous pouvez lire:

-I interface address
   Set source address to specified interface address. Argument may be numeric IP
   address or name of device.
Khaled
la source
1
check 2nd pic> ping -I wlan1 google.com
One Zero
Peut-être que votre ping a été bloqué dans votre connexion.
Khaled
son travail sur eth0
One Zero
5

Consultez votre table de routage.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan1

Votre interface wlan1 sait uniquement comment atteindre le réseau 192.168.0.0. Vous avez également vos wlan1 et eth0 dans le même sous-réseau, ce qui pourrait causer des problèmes. Vous devez ajouter un itinéraire à la table de routage pour toutes les destinations que vous souhaitez atteindre sur votre interface WLAN. Par exemple

route add -host 65.55.72.135 gw 192.168.0.1 dev wlan1
ping -I wlan1 65.55.72.135

Notez que cela ne vous permettra pas de router par application. Pour cela, vous devrez configurer le routage de stratégie avec quelque chose comme iptables -m owner --uid-owner La ping -S src_ip dest_ipcommande enverra en fait le paquet avec une source de votre adresse IP wlan1 mais acheminera ensuite le paquet vers eth0 car le prochain bond est eth0 dans la table de routage. Votre meilleur pari est de placer les interfaces wlan1 et eth0 sur des sous-réseaux séparés.

resmon6
la source
4

En ce qui concerne ping (8) de BSD , vous pouvez utiliser le -Scommutateur de ping pour simuler le ping à partir d'une interface particulière:

-S src_addr
             Use the following IP address as the source address in outgoing packets.  On hosts
             with more than one IP address, this option can be used to force the source address to
             be something other than the IP address of the interface the probe packet is sent on.
             If the IP address is not one of this machine's interface addresses, an error is
             returned and nothing is sent.

La connaissance au niveau de l'application pour l'interface réseau (adresses IP) est quelque peu possible dans une certaine mesure si nous spécifions une passerelle différente pour différentes interfaces ou redirige le trafic en fonction du port ou d'un autre critère via des règles de pare-feu ... par exemple. si vous utilisez firefox pour vous connecter à 80 ports uniquement, vous pouvez spécifier la règle SNAT dans iptables pour vous connecter via l'adresse IP spécifiée, d'où l'interface souhaitée

kaji
la source
je n'ai pas compris, commande? ping -S?
One Zero
ping -S your.first.ip.addr hotmail.com & ping -S your.another.ip.addr hotmail.com pings hotmail.com avec votre adresse IP différente disponible. S'il n'est pas spécifié, le protocole par défaut prend la sonde ping via la passerelle par défaut
1
Quelle version de ping poursuivez-vous? Sur mon système Ubuntu, -Sconfigure le tampon d'envoi de socket.
Zoredache
ping -V> utilitaire ping, iputils-sss20101006
One Zero