특정 인터페이스에서 핑 문제 발생

특정 인터페이스에서 핑 문제 발생

특정 인터페이스에서 ping을 시도하고 있는데 노트북에 유선 및 무선 연결이 있습니다.

유선 어댑터 의 IP eth0는 172.16.109.75이고
WiFi 어댑터 의 IP는 wlan0192.168.1.69입니다.

eth0다음 명령을 사용하여 플러그를 뽑은 동안 Google에 ping을 실행하면:

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

예상대로 잘 작동합니다. 케이블을 연결 eth0하고 동일한 작업을 다시 실행했습니다.

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

상단의 출력에서 eth0​​전송하는 것처럼 보이지만(차단되어 직장에서 ping을 수행할 수 없음) 이는 wifi제가 직접 온라인에 있는 별도의 네트워크에 대한 또 다른 링크이므로 ping 요청을 보내는 것이 wlan0작동해야 합니다. . 무슨 일이에요? 어떻게 고쳐야 합니까?

답변1

이더넷 케이블이 연결되면 기본 라우팅 게이트웨이가 dhcp를 통해 변경될 수 있습니다. wlan0에서 패킷을 보내지만 시스템은 패킷을 전달할 게이트웨이가 누구인지 알 수 없습니다. 이런 방식으로 192.168.1 네트워크 내의 시스템에만 ping을 수행할 수 있고 더 멀리 있는 시스템에는 ping을 수행할 수 없습니다. Google 서버로부터 응답을 받으려면 기본 게이트웨이를 무선 라우터로 다시 변경하거나 이 서버에 대한 특정 경로를 추가해야 합니다.

route add -host 74.125.230.112/32 gw 192.168.1.1 # assuming 192.168.1.1 is the wireless router's ip

답변2

SystemWide에는 하나의 기본 게이트웨이와 하나의 SystemWide 라우팅 테이블만 있을 수 있습니다. 정확하지는 않지만 충분합니다.

NicWide에서는 각 네트워크 카드에 기본 게이트웨이가 있을 수 있습니다. 각 네트워크 카드에는 별도의 라우팅 테이블이 있을 수 있습니다.

간단히 말해서 ip route, ip rule및 /etc/iproute2/rt_tables에 익숙해지십시오. 이거 봐요"두 가지 기본 경로"지도 시간.

http://www.rjsystems.nl/en/2100-adv-routing.php

답변3

나의 예

# 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

관련 정보