브리지에 연결된 이더넷 포트가 있습니다.
$ brctl show
bridge name bridge id STP enabled interfaces
eth0_bridge 8000.6a612bcc4723 yes eth0
브리지는 VLAN을 인식합니다(예: /sys/class/net/eth0_bridge/bridge/vlan_filtering
) 1
. 이 브리지에 추가 인터페이스를 추가하고 다음과 같이 VLAN을 할당할 수 있기를 원합니다.
ip link set eth1 master eth0_bridge
bridge vlan add dev eth1 vid 10 pvid untagged
그러면 eth1의 태그가 지정되지 않은 트래픽이 eth0의 VLAN 10에 연결됩니다. 하지만 다음을 수행할 때까지는 트래픽이 발생하지 않습니다.
bridge vlan add dev eth0 vid 10
이 작업을 완료하면 모든 것이 원하는 대로 작동할 것입니다. 하지만 이것이 호스팅되어야 하는 브리지의 eth0
트렁크 포트 인지 알 수 있는 방법이 있습니까?eth0_bridge
모두VLAN, 그리고 브리지의 출구에서 VLAN 필터링을 수행합니까?
답변1
사용할 때bridge vlan
명령을 사용하면 VLAN ID 범위를 한 번에 추가(또는 삭제)할 수 있습니다. 예를 들어:
# bridge vlan add vid 2-4094 dev eth0
사용 가능한 모든 VLAN을 트렁크 인터페이스에 추가이더넷 0(0과 4095는 프로토콜에 예약되어 있어 사용할 수 없으며 사용해서는 안 됩니다. 1은 기본적으로 태그가 지정되지 않은 PVID VLAN ID이므로 사용하지 않거나 제거하는 것이 좋습니다.)
# bridge vlan show dev eth0
eth0 1 PVID Egress Untagged
2
3
[...]
4093
4094
# bridge -c vlan show dev eth0
port vlan ids
eth0 1 PVID Egress Untagged
2-4094
대신 여기에 -c
있습니다 . 브리지 매뉴얼 페이지(적어도 iproute2-ss191125까지)에는 이 옵션에 대한 정보가 전혀 없습니다.-c[ompressvlans]
-c[olor]
범위 제거는 예상대로 작동합니다.
# bridge vlan del vid 100-200 dev eth0
# bridge -c vlan show
port vlan ids
bridge0 1 PVID Egress Untagged
eth1 1 Egress Untagged
10 PVID Egress Untagged
eth0 1 PVID Egress Untagged
2-99
201-4094
내부적으로 모든 것은 (해시된) 개별 VLAN 목록.
참고 1
Cumulus Networks(주로 네트워킹 장비에서 Linux의 기본 네트워킹 스택을 사용하는 것으로 알려져 있음)는오래된(그리고최신) 이에 대한 예:
다음 브리지 예시를 고려해보세요.
auto bridge iface bridge bridge-vlan-aware yes bridge-ports swp1 swp9 bridge-vids 2-100 bridge-pvid 101 bridge-stp on
이 구성에 대한 VLAN 멤버십은 다음과 같습니다.
cumulus@switch$ bridge -c vlan show portvlan ids swp1 101 PVID Egress Untagged 2-100 swp9 101 PVID Egress Untagged 2-100 bridge 101
사용된 구성 파일은 다음과 같습니다.상호 작용ifupdown2의 파일(그리고플러그인)은 실제로 Cumulus Networks에서 대체하기 위해 개발되었습니다.위 아래라면, 대부분 호환되는 구문을 가지고 있지만 브리징 및 VLAN 지원이 크게 향상되었습니다.
노트 2
모든 VLAN을 자동으로 브리지 포트로 플러딩하는 특수 플래그에 대한 증거는 찾지 못했습니다. 이것커널 커밋VID 4095가 제한적으로 IEEE 802.1Q에 로그인되지만 사용이 허용되도록 지시합니다.관리 운영을 위해VID에 대한 와일드카드 일치로 사용되지만 Linux에서는 이 방법을 사용하지 않는 것 같습니다.