Linux 동작: 게이트웨이가 없는 네트워크 라우팅

Linux 동작: 게이트웨이가 없는 네트워크 라우팅

이더넷 인터페이스를 통한 일부 라우팅이 구성되었지만 게이트웨이가 지정되지 않은 Linux 시스템을 발견했습니다. 나는 게이트웨이가 아닌 인터페이스를 지정하는 라우팅이 지점 간 링크에서만 작동한다고 항상 생각했습니다. 이더넷은 지점 간 매체가 아니기 때문에 이더넷 인터페이스에는 적합하지 않습니다.

게이트웨이를 지정하지 않은 이더넷 인터페이스를 통해 패킷이 라우팅될 때 Linux는 어떻게 패킷을 전달합니까? 인터페이스에서 대상 IP 주소로 ARP 요청을 브로드캐스트합니까? (그리고 지정되지 않은 게이트웨이는 ARP 프록시 역할을 해야 합니까?) 여러 라우팅 테이블을 사용하는 정책 기반 라우팅의 경우 동작이 다른가요? (아래 두 번째 예)

이러한 경로의 예는 다음과 같습니다.

[Gaia]# ip route list
10.25.35.0/24 dev eth3  proto routed
...

[Gaia]# cat /proc/net/route
Iface   Destination     Gateway         Flags   RefCnt  Use     Metric  Mask            MTU     Window  IRTT
eth3    0023190A        00000000        0011    0       0       0       00FFFFFF        0       0       0
...

[Gaia]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.25.35.0      0.0.0.0         255.255.255.0   UD    0      0        0 eth3
...

이러한 PBR 라우팅의 예:

[Gaia]# ip route list table 2
default dev eth7  proto routed
...

시스템은 RHEL 5.2 및 Linux 커널 2.6.18을 기반으로 Check Point Gaia R77.30을 실행합니다.

답변1

귀하의 가정은 정확합니다. easy 을 사용하여 확인할 수 있습니다 tcpdump -i eth7 -n. 나는 이런 일이 일어나는 것을 본 적이 없으며 default웹에서만 가능하지만 아마도 아무런 차이가 없을 것입니다. 대상 IP 주소에 대한 ARP 요청은 이 인터페이스에서 브로드캐스트됩니다.

정책 라우팅은 라우팅 테이블만 선택하며 정의되지 않은 다음 홉 문제에는 영향을 미치지 않습니다.

답변2

다른 네트워크에 연결되지 않은 격리된 네트워크가 있는 경우 게이트웨이가 필요하지 않습니다. 호스트는 서로 직접 통신하며 ARP(또는 IPv6의 경우 Neighbor Discovery)를 사용하여 서로를 찾습니다.

로컬 연결은 다음과 같이 처리됩니다.하다게이트웨이가 있습니다. 네트워크 외부에서 통신하는 경우 동일한 메커니즘을 사용하여 네트워크에서 게이트웨이를 찾을 수도 있습니다. 호스트는 나가는 패킷을 보내려면 게이트웨이 호스트의 MAC 주소를 알아야 하므로 이를 찾기 위해 ARP/ND를 사용합니다.

답변3

각 이더넷 네트워크 인터페이스에는 로컬 네트워크 세그먼트에 지정된 경로가 있습니다. 게이트웨이가 없으면 항상 로컬 네트워크 세그먼트의 호스트에 연결할 수 있어야 하며 각 네트워크 카드는 로컬 네트워크에 연결됩니다.

로컬 네트워크 외부의 호스트에 접속하려면 게이트웨이를 통해 트래픽을 라우팅해야 합니다. 게이트웨이(라우터)에서 대상 IP는 로컬 IP이거나 다른 라우터로 전달되는 식입니다.

게이트웨이를 지정하지 않은 이더넷 인터페이스를 통해 패킷이 라우팅될 때 Linux는 어떻게 패킷을 전달합니까?

귀하의 질문은 나에게 약간 불분명합니다.

  • 패킷의 목적지가 인터페이스의 로컬 네트워크 내에 있다는 것을 의미합니까(경로가 "일치"한다고 말했습니까)? 그런 다음 제안한 대로 ARP를 사용하여 장치를 찾아 이더넷 프레임을 보냅니다. 이 경우 라우팅이 포함되지 않으며 호스트가 로컬이므로 직접 호스트에 연결할 수 있습니다.
  • 목적지가 로컬 구간에 없다는 뜻인가요? 그런 다음 라우팅이 발생하지 않고 패킷이 삭제됩니다. 라우팅 테이블이 (인터페이스나 로컬 네트워크에 관계없이) 패킷을 어디로 보내야 하는지 파악할 수 없기 때문입니다.

게이트웨이는 비호스트-로컬 패킷의 라우팅을 활성화하도록 정의됩니다.

관련 정보