나는 sysadm 팀에서 Linux 브리징, 특히 VLAN 인터페이스를 추가하기 위해 브리지를 생성해야 하는 필요성에 대해 논쟁을 벌였습니다.
실제로는 VLAN을 생성하기 위해 Linux 브리지가 레이어 2 패킷 라우팅을 허용한다는 이론을 얻었습니다.
ip link add link eth0 name eth0.100 type vlan id 100
잘 작동합니다. VLAN을 생성한 br0
다음 브리지에 VLAN을 추가할 필요가 없습니다.
예를 들어, 패킷이 여러 물리적 인터페이스가 있는 호스트에 도착하면 Linux 커널은 각 물리적 인터페이스가 다른 물리적 스위치에 연결되어 있더라도 패킷을 어디로 라우팅할지 완벽하게 결정할 수 있습니다.
그렇다면 왜 여전히 linuxbridge가 필요한가요?
또한 가상화 측면에서 호스트와 게스트 간의 통신을 허용하기 위해 하이퍼바이저에 Linux 브리지가 필요한 이유가 무엇인지 궁금합니다.
답변1
베어메탈(가상화되지 않은) 호스트에서는 일반적으로 VLAN 인터페이스를 추가하기 위해 브리지를 생성할 필요가 없습니다.
그러나 하이퍼바이저에서는 모든 네트워크 세그먼트가 기본적으로 두 부분으로 나뉩니다.
- 외부 세계와 하이퍼바이저 사이의 물리적 네트워크 세그먼트
- 호스트와 가상 머신 간의 가상 네트워크 세그먼트
서로 통신할 수 있는 것은 두 개가 아니라 세 가지입니다. 하이퍼바이저, VM,그리고 바깥 세상.
하이퍼바이저의 라우팅을 사용하여 가상 머신과 외부 세계 간의 연결을 제공할 수 있지만 이는 불편합니다. DHCP를 사용하려면 호스트의 가상 머신에 대해 최소한 DHCP 도우미가 필요합니다. 일부 클러스터링 기술에서는 모든 노드가 동일한 IP 네트워크 세그먼트에 있어야 하므로 라우팅을 사용하는 경우 이러한 클러스터의 P2V 변환이 어색해질 수 있습니다. 하이퍼바이저가 매우 큰 서버가 아닌 한, 실행 중인 실제 VM 수는 상당히 작을 가능성이 높으므로 이미 제한된 IPv4 주소 공간을 비효율적으로 작은 서브넷으로 분할하거나 지점 간 연결을 사용해야 할 수도 있습니다. .
브리징을 사용하면 하이퍼바이저와 해당 가상 머신의 네트워크 연결이 완전히 독립적인 여러 개의 베어메탈이 있는 스위치에 대한 업링크를 가장 실제적으로 사용하는 방식으로 호스트와 해당 가상 머신이 외부 세계에 표시될 수 있습니다. 연결된 호스트를 구별할 수 있는 방법은 없습니다.
여러 VLAN을 지원하는 하나의 대형 브리지 대신 각 VLAN에 대해 별도의 브리지를 생성하기로 한 결정은 본질적으로 설계/프레젠테이션 선택입니다. 하이퍼바이저 네트워크의 실제 구성은 "논리"를 밀접하게 따르지만, 어떤 것이 무엇인지에 대한 네트워크 다이어그램을 더 쉽게 시각화할 수 있습니다. 하이퍼바이저 내부의 네트워크에 대해 별도의 "가상 논리적" 및 "가상 물리적" 다이어그램을 유지 관리할 필요 없이 발생합니다.
VMware는 브리지를 vSwitch 또는 가상 스위치라고 부르기로 결정했습니다. 네트워크 스위치는 기본적으로 다중 포트 브리지이므로 원하는 경우 Linux 하이퍼바이저의 브리지를 "가상 스위치"라고 부를 수 있습니다.
답변2
물론 VLAN을 사용하기 위해 브리지가 필요하지는 않습니다.
하지만 원할 경우 다음을 수행할 수 있습니다.
- 서로 다른 네트워크를 "병합"하여 단일 엔터티로 처리합니다(예: eth 인터페이스와 wlan). LAN 측 홈 WiFi 라우터의 경우와 같습니다. 즉, 라우팅을 사용하지 않고 L2에서 서로 다른 세그먼트를 연결합니다.
- 스위치를 구축합니다(실제로 각 스위치는 해당 포트 사이의 모든 VLAN을 연결합니다). 이는 가상화의 예입니다. 서버가 가상이 아니라 물리적인 경우 실제 스위치를 사용하여 네트워크에 연결할 수 있습니다.
- 장애 조치를 위한 구성 단순화 - 기본 인터페이스 자체의 구성을 변경하는 것보다 물리적(또는 논리적! - 예: 물리적 인터페이스에 생성된 VLAN)이 지원하는 "가상" 브리지 인터페이스를 생성하는 것이 더 나을 수 있습니다. 예를 들어, br-wan에는 IP 설정이 있을 수 있으며 아래 장치(wlan0, eth1, eth2.45)를 간단히 전환할 수 있습니다. 브리지에는 고정된 MAC 주소가 있을 수 있으므로 액세스 방법만 변경하면 됩니다.
- 패킷 추적에 표시되지 않는 숨겨진(L2) 방화벽이나 QoS 샤퍼(또는 스니퍼)를 만듭니다.
중복성 또는 더 높은 대역폭을 제공하기 위해 링크 집계(예: LACP)에 사용되는 연결/팀인 "브리지"의 특수 유형에 유의하세요.