양방향으로 흐르는 네트워크 패킷이지만 여전히 통신할 수 없습니다.

양방향으로 흐르는 네트워크 패킷이지만 여전히 통신할 수 없습니다.

두 개의 NICS가 있는 Linux 상자가 있습니다.

eth0 192.168.11.14

eth1 192.168.12.14

내 라우팅 테이블은 다음과 같습니다.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.11.1    0.0.0.0         UG    100    0        0 eth0
192.168.11.0    *               255.255.255.0   U     0      0        0 eth0
192.168.12.0    *               255.255.255.0   U     0      0        0 eth1

기본 경로(eth0을 통한)는 잘 작동하지만 문제는 eth1 인터페이스에 있습니다. 다음과 같이 eth1에 대한 기본 게이트웨이를 설정했습니다.

#ip rule list
0:  from all lookup local 
32765:  from 192.168.12.14 iif eth1 lookup tbl_eth1 
32766:  from all lookup main 
32767:  from all lookup default

#ip route show table tbl_eth1
default via 192.168.12.1 dev eth1 

Linux 상자는 3개의 서브넷을 라우팅하는 레이어 3 스위치에 연결됩니다.

192.168.1.0    interface ip 192.168.1.1
192.168.11.0   interface ip 192.168.11.1
192.168.12.0   interface ip 192.168.12.1

첫 번째 서브넷의 주소에서 모든 인터페이스를 ping할 수 있습니다.

192.168.1.0 서브넷에서 192.168.12.14에 연결하려고 하거나 그 반대로 연결하려고 하면 문제가 발생합니다.

Traceroute 결과는 다음과 같습니다.

#traceroute 192.168.12.14
traceroute to 192.168.12.14 (192.168.12.14), 30 hops max, 60 byte packets
1  192.168.1.1 (192.168.1.1)  0.532 ms  0.911 ms  1.074 ms
2  * * *
3  * * *
4  * * *
etc..

# traceroute -i eth1 -s 192.168.12.14 192.168.1.51
traceroute to 192.168.1.51 (192.168.1.51), 30 hops max, 60 byte packets
1  192.168.12.1 (192.168.12.1)  1.196 ms  1.559 ms  1.739 ms
2  * * *
3  * * *
4  * * *
etc..

이제 정말 이상한 점은 다음과 같습니다. tshark를 사용하면 각 경우에 해당 목적지에 도착하는 경로 추적 패킷을 실제로 볼 수 있습니다. 이는 나가는 경로와 돌아오는 경로가 모두 올바르게 라우팅되고 있음을 알려줍니다. 그러나 나는 평생 동안 ping과 Traceroute가 모두 실패하는 이유를 알아낼 수 없습니다.

eth1을 Linux 상자의 기본 게이트웨이로 설정하면 제대로 작동하기 때문에 스위치에 문제가 없다고 합리적으로 확신합니다(그러나 eth0에서도 동일한 문제가 발생합니다).

나는 이것에 대해 어찌할 바를 모르고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

나중에 참고할 수 있도록 다른 SF의 @kasperd가 근본적인 문제를 해결했습니다.질문

관련 정보