Mam 3 karty sieciowe, 1 Lan (przewodową), 1 bezprzewodową kartę sieciową i 1 to bezprzewodowy usb
jak mogę pingować z określonej karty sieciowej?
i jak używać określonej karty sieciowej do określonej aplikacji
przykład
i want to ping google from wlan1
przykład dla konkretnego zastosowania
i want to use firefox or transmission from wan1
Lan ip 192.168.0.2> Działający poprawnie pin-I wlan1 google.com
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
Teraz wreszcie problem z aplikacją
networking
route
One Zero
źródło
źródło
Odpowiedzi:
Jeśli spojrzysz na instrukcję ping
man ping
, możesz przeczytać:źródło
Sprawdź swoją tablicę routingu.
Twój interfejs wlan1 wie tylko, jak połączyć się z siecią 192.168.0.0. Masz również wlan1 i eth0 w tej samej podsieci, co może powodować problemy. Musisz dodać trasę do tabeli routingu dla wszystkich miejsc docelowych, do których chcesz dotrzeć w interfejsie WLAN. Na przykład
Pamiętaj, że nie pozwoli to na trasowanie według aplikacji. W tym celu musisz skonfigurować routing zasad za pomocą czegoś takiego
iptables -m owner --uid-owner
.ping -S src_ip dest_ip
Polecenie faktycznie wyśle pakiet ze źródłem adresu IP wlan1, ale następnie przekieruje pakiet na eth0, ponieważ następnym skokiem jest eth0 w tabeli routingu. Najlepszym rozwiązaniem jest umieszczenie interfejsów wlan1 i eth0 w osobnych podsieciach.źródło
Jeśli chodzi o ping (8) z BSD , możesz użyć
-S
przełącznika ping do symulacji pingowania z określonego interfejsu:Świadomość interfejsu aplikacji (adresów IP) na poziomie aplikacji jest w pewnym stopniu możliwa, jeśli określimy inną bramę dla różnych interfejsów lub przekierowujemy ruch zgodnie z portem lub innym kryterium poprzez reguły zapory ogniowej ... np. jeśli używasz Firefoksa do łączenia się tylko z 80 portami, możesz określić regułę SNAT w iptables, aby łączyć się za pośrednictwem określonego adresu IP, stąd pożądany interfejs
źródło
-S
konfiguruje bufor wysyłania gniazda.