RHEL6에서 여러 물리적 이더넷 포트를 구성하는 방법은 무엇입니까?

RHEL6에서 여러 물리적 이더넷 포트를 구성하는 방법은 무엇입니까?

4개의 이더넷 포트(eth0, eth1, eth2 및 eth3)가 있는 장치가 있습니다. 일부 포트를 구성했는데 결과는 ifconfig다음과 같습니다.

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:90:0B:68:D9:ED
          inet addr:192.168.0.81  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: 2601:1c0:5200:e950:290:bff:fe68:d9ed/64 Scope:Global
          inet6 addr: fe80::290:bff:fe68:d9ed/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:3382 errors:0 dropped:1 overruns:0 frame:0
          TX packets:9717 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:363791 (355.2 KiB)  TX bytes:13339318 (12.7 MiB)
          Memory:dfe60000-dfe7ffff

eth1      Link encap:Ethernet  HWaddr 00:90:0B:68:D9:EE
          inet addr:192.168.0.90  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:44 errors:0 dropped:1 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2919 (2.8 KiB)  TX bytes:438 (438.0 b)
          Memory:dfe40000-dfe5ffff

eth3      Link encap:Ethernet  HWaddr 00:90:0B:68:D9:F0
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::290:bff:fe68:d9f0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20454 (19.9 KiB)  TX bytes:618 (618.0 b)
          Memory:dfe00000-dfe1ffff

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:11986 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11986 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:14067159 (13.4 MiB)  TX bytes:14067159 (13.4 MiB)

따라서 내 문제는 이더넷 케이블을 eth0에 연결할 때만 각 IP 주소(eth0, eth1 및 eth3에 연결된 주소)에 액세스할 수 있다는 것입니다. 케이블이 eth0에 연결되면 3개 장치 모두에 ping을 보낼 수 있습니다. eth1과 eth3에 연결하면 둘 중 하나를 ping할 수 없습니다. eth1과 eth3에 연결하면 링크 표시등이 켜집니다.

내가 실행하면 ethtool eth3이라고 나옵니다 Link detected: yes.

누구든지 어떤 아이디어가 있습니까?

감사해요!

답변1

이 질문은 다음과 같은 질문과 관련이 있습니다.비대칭 라우팅— 한 인터페이스에서 수신된 패킷은 다른 인터페이스로 응답을 보내므로 네트워크 외부에서 특정 IP 주소에 액세스할 수 없습니다.

이 경우 수신된 ICMP 핑 요청은 요청 eth1,2,3으로 다시 라우팅되며 eth0(네트워크에 물리적으로 연결되지 않은 경우) 담당자는 응답할 수 없습니다 eth1,2,3. 해결책은 rp_filter모든 인터페이스가 서로 독립적으로 응답하도록 역방향 경로 필터 커널 매개변수의 기본값을 1에서 2로 변경하는 것입니다 .

  1. /etc/sysctl.conf포함하도록 편집되었습니다 .

    $ grep '.rp_filter' /etc/sysctl.conf
    net.ipv4.conf.default.rp_filter = 2
    net.ipv4.conf.all.rp_filter = 2
    net.ipv4.conf.eth0.rp_filter = 2
    net.ipv4.conf.eth1.rp_filter = 2
    net.ipv4.conf.eth2.rp_filter = 2
    net.ipv4.conf.eth3.rp_filter = 2
    
  2. 구성 다시 로드:

    $ sysctl -p
    

문제에 대해 자세히 알아보기여기그리고거기.

관련 정보