이더넷 연결 문제로 인해 eth0 자체에서 eth0 및 eth1로 ping을 보낼 수 있습니다. 왜?

이더넷 연결 문제로 인해 eth0 자체에서 eth0 및 eth1로 ping을 보낼 수 있습니다. 왜?

우리가 사용하는 프로젝트 중 하나에서MYC-Y7Z020-4E512D-766-I SOM리눅스 모듈커널 4.1.4. 여기서는 2개의 이더넷 포트 eth0과 eth1을 사용하려고 합니다. 요구 사항은 eth0과 eth1의 IP를 각각 172.20.0.200/21(255.255.248.0) 및 172.20.0.201/21(255.255.248.0)로 설정하는 것입니다.

두 포트를 모두 원하는 IP로 설정하고 ping 테스트를 수행한 후 IP(172.20.0.150/21)로 노트북에 연결된 eth0 포트에서 eth0 및 eth1을 ping할 수 있으며 eth1:eth1 포트를 ping할 때 eth0 포트가 연결되어 있고 연결이 끊겼습니다. eth1 또는 eth0 포트를 ping할 수 없습니다.

질문:여기서는 eth0 포트를 사용하여 두 포트를 ping할 수 있습니다..

따라서 eth0 및 eth1의 서브넷 마스크를 /24(255.255.255.0)로 변경하고 동일한 시나리오를 사용하여 테스트합니다. 그런 다음 동일한 결과를 얻었습니다. eth0 자체를 사용하여 두 포트를 모두 ping합니다.

그런 다음 두 포트를 모두 다음으로 설정했습니다.서로 다른 IP 제품군에는 동일한 서브넷 마스크가 있습니다.eth0 IP 172.20.0.200/21 (255.255.248.0) 및 eth1 IP 172.20.1.201/21 (255.255.248.0) 및 ping 테스트를 수행한 결과핑 문제 없음, 1대1로 ping을 보낼 수 있습니다. 랩탑을 eth0 포트에 연결해야만 eth0을 ping할 수 있고, eth1 포트에 연결해야만 eth1을 ping할 수 있습니다.

내가 듣는 것은 내 /etc/network/interfaces파일의 모습 입니다

auto eth0
iface eth0 inet static
    address 172.20.0.74
    netmask 255.255.248.0
    gateway 172.20.0.10

auto eth1
iface eth1 inet static
        address 172.20.8.201
        netmask 255.255.255.0
        gateway 172.20.8.10

두 포트가 모두 동일한 IP 제품군에 있을 때 이 핑 문제를 해결하는 방법.

답변1

두 개의 인터페이스를 동일한 서브넷에 배치하지 마십시오. 복원력을 원할 경우 본딩을 고려하십시오(이렇게 하면 하나의 IP 주소가 할당되지만 두 개의 포트가 사용됩니다).

(물론 동일한 인터페이스에 여러 개의 IP 주소를 할당할 수 있습니다. 앞서 했던 것처럼 동일한 서브넷에 두 개의 인터페이스를 할당할 수도 있지만 교과서 모델처럼 작동할 것이라고 기대하지는 마세요.)

관련 정보