A와 B(172.16.2.0/24 및 172.17.2.0/24)라는 두 개의 네트워크가 있습니다. A는 이더넷이고 B는 WiFi입니다. OpenWRT 라우터는 A와 B를 연결하며 대부분의 트래픽은 문제 없이 통과됩니다. 라우터의 기본 경로는 이더넷의 케이블 모뎀으로 연결되며 인터넷 트래픽은 정상적으로 작동합니다.
이더넷과 WiFi 인터페이스를 갖춘 두 대의 멀티홈 Linux 시스템이 있습니다. ip_forward가 1로 설정되어 있지만 컴퓨터는 일반적으로 라우팅을 수행하지 않습니다(누구의 기본 게이트웨이로 나열되지 않음).
WiFi 전용 컴퓨터는 모든 WiFi 주소와 이더넷 전용 컴퓨터의 주소를 ping할 수 있지만 멀티홈 컴퓨터의 이더넷 주소는 ping할 수 없습니다. (라우터의 이더넷 주소를 ping할 수 있습니다.)
tcpdump로 관찰할 때 멀티홈 호스트의 이더넷 주소를 ping하면 ICMP 요청 패킷이 WiFi에서 멀티홈 이더넷 주소로 도착하지만 응답이 전송되지 않음을 알 수 있습니다.
멀티홈 호스트는 다른 호스트에 ping을 보낼 수 있지만 기본적으로 이러한 ping은 대상 네트워크에 연결된 인터페이스에서 실행됩니다.
"-I [이더넷 주소]" 옵션을 사용하여 멀티 홈 호스트에서 ping을 수행하면 ping 패킷이 WiFi 호스트로 전송되고 적절하게 주소가 지정된 응답이 반환되지만 ping 프로세스에서는 수신되지 않습니다. 이는 "요청" 일시 중지를 의미합니다. . "
멀티홈 호스트는 Ubuntu 및 Debian이며 iptables 규칙이 사용되지 않으며 모든 기본 정책이 허용됩니다.
[WiFi-addr]에서 [Multi-home-Ethernet-Addr]까지의 패킷을 먹는 것이 무엇인지 아십니까?
[코멘트 작성자의 요청에 따라 추가된 정보:]
root@vegas:~# ip a 1: lo: mtu 16436 qdisc noqueue 상태를 알 수 없음 링크/루프백 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 범위 호스트 lo inet6::1/128 범위 호스트 항상 valid_lft 항상 선호_lft 2: eth0: mtu 1500 qdisc pfifo_fast 상태 UP qlen 1000 링크/에테르 d0:27:88:d5:72:7b brd ff:ff:ff:ff:ff:ff inet 172.16.2.250/24 brd 172.16.2.255 범위 전역 eth0 inet6 fe80::d227:88ff:fed5:727b/64 범위 링크 항상 valid_lft 항상 선호_lft 3: wlan0: mtu 1500 qdisc mq 상태 UP qlen 1000 링크/이더 9c:4e:36:01:64:2c brd ff:ff:ff:ff:ff:ff inet 172.17.2.250/24 brd 172.17.2.255 범위 전역 wlan0 inet6 fe80::9e4e:36ff:fe01:642c/64 범위 링크 항상 valid_lft 항상 선호_lft 4: tun0: mtu 1500 qdisc pfifo_fast 상태 알 수 없음 qlen 100 링크/없음 inet 172.19.0.1 피어 172.19.0.2/32 범위 전역 tun0 root@vegas:~# ip ro sh 기본적으로 172.16.2.254 dev eth0 172.16.2.0/24 dev eth0 프로토타입 커널 범위 링크 src 172.16.2.250 172.17.2.0/24 dev wlan0 프로토타입 커널 범위 링크 src 172.17.2.250 172.19.0.0/24(172.19.0.2 dev tun0을 통해) 172.19.0.2 dev tun0 프로토타입 커널 범위 링크 src 172.19.0.1 root@vegas:~# ip ru sh 0: 모든 지역 주민에게서 찾기 32766: 모든 것에서 기본 찾기 32767: 전체에서 기본값 찾기