Linux 브리지, 트렁크 및 PVID

Linux 브리지, 트렁크 및 PVID

후속 조치내 다른 질문나는 다음 사항을 명확히 하고 싶습니다.

포트 중 하나 대신 브리지 인터페이스를 구성하려면 키워드 self를 추가하십시오. 라우팅 스택(계층 3)은 IPv4 또는 IPv6 패킷을 처리하므로 태그가 지정된 프레임이 아닌 이 유형의 프레임을 수신할 것으로 예상합니다. 따라서 브리지를 떠날 때 VLAN ID 10은 태그가 지정되지 않아야 하며(라우팅 스택이 트래픽을 수신하려면) 라우팅 스택에서 브리지로 다시 태그를 지정하려면 이 포트 VLAN ID가 포트 VLAN ID여야 합니다. 이렇게 하면 하나의 VLAN만 라우팅 스택에 연결될 수 있습니다.

트렁크 포트는 여러 개의 VLAN을 전달하지만 PVID트렁크 포트를 통해 나가는 프레임 bridge(라우팅 스택에서 브리지 등으로)에는 하나의 값만 있어야 하며, 프레임에 올바른 태그가 지정되었는지 확인할 방법이 없습니다. VLAN ID(브리지에 도착한 ID)?

다이어그램에서 나는 내 문제를 설명하려고 합니다.

       +----+
       | L3 |
       +--+-+
          |
          |
          |br0
   +------+-------+
   | Linux Bridge |
   +------+-------+
          |trunk (vid 2-4094)
          |PVID (??)
          |
   +------+-------+
   |   L2 switch  |
   +-+----+-----+-+
     |    |     |
     |    |     |
   10|  20|   30|

예를 들어 VID 10 태그(에 바인딩됨 br0)가 있는 프레임이 Linux 브리지 trunk포트에 도착하면 태그가 제거되어 스택으로 전달되고 처리(예: ICMP)되며 응답 패킷이 생성됩니다. 브리지 br0에 PVID 태그가 지정됩니다. PVID=20으로 설정하면 해당 패킷이 VLAN10의 호스트에 도달하지 않습니다.

Linux 브리지는 원래 패킷의 대상 MAC 및 VLAN ID를 기반으로 응답 패킷을 전달할 것으로 예상합니다.

고쳐 쓰다몇 가지 실험을 거친 후 다음 설정이 작동하는 것으로 나타났습니다. 따라서 Vlan 하위 인터페이스를 생성하여 ethX.VID브리지에 추가한 다음 br0단일 IP 주소로 각 하위 인터페이스에 태그를 지정/태그 해제합니다.

즉, 태그가 지정된 패킷(여러 VLAN)이 br0에 도착하고 태그가 지정되지 않은 후 스택으로 푸시되고 응답 패킷은 br0을 통해 올바른 Vlan 하위 인터페이스로 다시 이동하여 태그가 지정되고 흘러나옵니다.

       +----+
       | L3 |
       +--+-+
          |
          |
          |br0
   +------+-------+
   | Linux Bridge |
   +------+-------+
    |      |     |
   |      |       |
 |eth0.10|eth0.20|eth0.30|
       +------+
       | eth0 |
       +--+---+
          |trunk (vid 2-4094)
          |PVID (??)
          |
   +------+-------+
   |   L2 switch  |
   +-+----+-----+-+
     |    |     |
     |    |     |
   10|  20|   30|

관련 정보