VLAN 이전에 LAN에 접근했다가 그 뒤로 끊긴 TAP 클라이언트는 보통 잘못된 인터페이스를 여전히 포함한 브리지를 갖고 있습니다. 프레임 전달은 VLAN 태그를 추가하지 않으므로 물리 업링크로 보낸 태그 없는 클라이언트 프레임은 트렁크 포트에서 태그 없이 도착하고, 버려지거나 네이티브 VLAN으로 들어갑니다. 호스트 어딘가에 서브인터페이스가 있다고 해서 브리지의 멤버 목록이 달라지지는 않습니다. 가장 먼저 없애야 할 오해가 이것입니다: 태그는 그것을 소유한 인터페이스가 붙이는 것이지, 호스트가 그저 하나 갖고 있다고 붙는 것이 아닙니다.

VLAN 하나를 확장한다는 것은 2계층 도메인 하나를 뜻하며, 브리지는 모든 VLAN을 실어 나르는 트렁크가 아니라 그 도메인에 합류해야 합니다.

트렁크를 브리지했기 때문에 태그가 나타나지 않는다

VLAN 120을 실어 나르는 Linux 업링크 eno1 를 관리형 스위치에 연결한다고 합시다. 단일 VLAN에 통하는 설계는 tap_vpn 를 br_vpn 에 브리지하고, br_vpn 안에 eno1 대신 eno1.120 를 두는 것입니다. VLAN 서브인터페이스는 송신 시 태그를 붙이고 수신 시 이를 제거하므로, 브리지는 해당 VLAN의 태그 없는 프레임만 봅니다. 대신 물리 인터페이스를 브리지에 넣으면 같은 프레임이 트렁크 포트에서 태그 없이 나가며, 이는 계획한 것과 다릅니다.

VLAN 필터링을 끈 채 트렁크를 브리지하는 것은 같은 결과로 가는 지름길이 아닙니다. 그것은 클라이언트가 볼 필요가 없는 VLAN까지 포함해 그 회선의 모든 VLAN을 브리지에 넘깁니다.

두 가지 정당한 설계, 하나의 태그 소유자

VLAN 인식 브리지가 다른 유효한 구성입니다: 트렁크가 브리지 포트로 들어가고, 포트별 멤버십, PVID, 태그된 송신 설정이 어떤 VLAN이 통과할지 결정합니다. 거기서는 브리지가 태깅을 소유하며, 그 아래에 VLAN 서브인터페이스를 추가하면 한 가지 일에 두 번째 소유자가 생깁니다. 두 설계 모두 동작합니다; 둘의 조각을 섞으면 동작하지 않습니다. 멤버 목록을 수정하기 전에 어떤 객체가 태그를 붙이는지 결정하십시오.

스위치 포트는 어떤 설계를 고르든 그에 맞아야 합니다. VLAN을 태그 없이 실어 나르는 access 포트는 물리 인터페이스를 연결 지점으로 짝짓고, 트렁크 포트는 태그된 서브인터페이스와 짝집니다. 맞지 않는 access 포트에 서브인터페이스를 추가해도 아무것도 고쳐지지 않습니다.

주소를 멤버십과 함께 옮기기

서브인터페이스 설계에서 브리지된 서브넷에 대한 호스트 주소 는 br_vpn 에 있어야 하며, 이전에 있을 수 있었던 종속된 VLAN 포트에 있으면 안 됩니다. 그것을 포트에 남겨 두면 동작하는 것처럼 보이다가 이상하게 동작할 수 있습니다, 브리지는 2계층에서 전달하는데 주소는 멤버 위에 있기 때문입니다. 그것을 별도 실험이 아니라 멤버십 변경의 일부로 옮기십시오.

주소를 옮기면 관리 경로가 끊길 수 있습니다. 독립적인 복구 경로를 마련하고, 기존 구성을 배포판 자체의 네트워크 관리자로 저장하며, 다음 업그레이드 후에 그것과 충돌할 경쟁 시작 스크립트를 피하십시오.

클라이언트 주소 지정에도 같은 주의가 필요합니다. 브리지 VPN은 클라이언트를 확장 서브넷에 두므로 풀이 다른 임대나 정적 할당과 겹치지 않아야 하고, DHCP로 제공되는 구성은 LAN이 실제로 기대하는 것이어야 합니다. 동작하는 2계층 경로는 중복 주소에 대해 아무것도 말해 주지 않습니다.

경로를 탓하기 전에 멤버십을 확인하십시오

의도한 상태가 아니라 현재 상태를 읽으십시오: ip -d link show dev eno1.120 는 VLAN id와 상위 인터페이스를 출력하고, ip link show master br_vpn 는 브리지 멤버를 나열하며, bridge vlan show 는 포트별 멤버십과 송신 처리를 보고합니다. 서브인터페이스 설계에서는 TAP 장치와 VLAN 장치가 멤버인지 확인하십시오. VLAN 인식 브리지에서는 포트 정책 자체를 확인하십시오, 브리지가 존재한다는 것이 무엇을 허용하는지 증명하지는 않기 때문입니다.

그런 다음 허용된 클라이언트 하나를 그 VLAN의 서비스에 대해 시험하되, ARP, 방화벽 정책, 응답 경로가 멤버십과 별개의 사안임을 기억하십시오. 패킷을 캡처한다면 하드웨어 오프로드가 트레이스에서 VLAN 태그가 나타나는 위치를 바꿀 수 있음을 유의하십시오. 범위도 정직하게 유지하십시오: 라우팅된 TUN 클라이언트는 어떤 브리지 변경으로도 VLAN 멤버가 되지 않으며, 클라이언트 간 트래픽이 호스트와 VLAN의 연결을 대체하지 않습니다.

관련 글