다른 VLAN에 있는 시스템의 유니캐스트 패킷이 표시되는 이유는 무엇입니까?

다른 VLAN에 있는 시스템의 유니캐스트 패킷이 표시되는 이유는 무엇입니까?

저는 (아직도) 레벨 3 스위치(Netgear GS516TP)에서 VLAN을 올바르게 구성하려고 노력 중입니다.

기본 시나리오: VLAN 10, 11, 12라는 3개의 VLAN이 있으며 각각 3개의 포트와 3개의 시스템이 있습니다.

  • 10.0.10.5, 포트 g10에 연결되고 VLAN 10에 속합니다.
  • 10.0.11.5, 포트 g11에 연결되고 VLAN 11에 속합니다.
  • 10.0.12.5, 포트 g12에 연결되고 VLAN 12에 속합니다.

여기에 이미지 설명을 입력하세요

VLAN 10에는 태그가 지정되지 않은 포트 g10, g11 및 g12가 있습니다.

여기에 이미지 설명을 입력하세요

VLAN 11에는 태그가 지정되지 않은 포트 g10 및 g11이 있습니다. 마찬가지로 VLAN 12에는 태그가 지정되지 않은 포트 g10 및 g12가 있습니다.

여기에 이미지 설명을 입력하세요

목표는 VLAN 11 및 VLAN 12에 속한 시스템이 VLAN 10의 시스템과 통신할 수 있도록 하는 것입니다. 그러나 VLAN 11의 시스템은 VLAN 12의 시스템에 대해 아무 것도 몰라야 합니다(그 반대의 경우도 마찬가지).

세 시스템 모두 넷마스크 255.255.0.0을 사용하는 동안 라우팅 구성은 다음과 같이 설정됩니다.

여기에 이미지 설명을 입력하세요

이제 문제입니다. 10.0.10.5에서 10.0.11.5까지 TCP 또는 UDP 패킷을 보낼 때(예를 들어 다음을 수행하여 nc -n 10.0.11.5 100) VLAN 12에 속한 시스템에서 실행 중인 Wireshark에서 이 패킷을 볼 수 있습니다. 다른 방식으로는 작동하지 않습니다. 그러나 10.0.11.5에서 전송된 패킷은 VLAN 12에 표시되지 않습니다.

VLAN 11의 시스템을 대상으로 하는 패킷이 VLAN 12에 속한 포트에 도달하지 않도록 하려면 어떻게 해야 합니까?

답변1

기본적으로 모든 포트는 L2 정보만 사용하여 패킷 처리 방법을 결정합니다(L2 == MAC == 브리지). 이 결정은 L3를 존중하지 않습니다. 즉, VLAN의 IP 범위를 알지 못합니다.

VLAN에 대한 라우팅을 활성화하고 인바운드 유니캐스트 패킷의 MAC DA[대상 주소]가 내부 브리지-라우터 인터페이스의 주소인 경우 패킷이 라우팅됩니다.

VLAN에 할당한 IP 주소(마지막 스크린샷에 표시됨)는 자체적으로 패킷을 "잡지" 않습니다. 실제로 "내부 브리지-라우터 인터페이스"로 패킷을 보내도록 서버를 설정해야 합니다. 일반적으로 이는 서버에 경로 테이블 항목을 추가하여 수행됩니다.

(on 10.0.10.5):
10.0.11.0/24 dev eth0 via 10.0.10.1

해당 "내부 브리지-라우터 인터페이스"로 향하는 패킷만 다른 VLAN으로 이동합니다.

내 예에서는 단계별로 다음과 같습니다.

  1. 10.0.10.5에 당신은ping 10.0.11.5
  2. 서버가 "누가 10.0.10.1을 가지고 있는지" 묻습니다.
  3. 스위치에 "MAC 10:da:12:34에는 10.0.10.1이 있습니다"라고 표시됩니다.
  4. 서버가 패킷을 보냅니다 SOURCE 10.0.10.5 DEST 10.0.11.5 MAC_DEST 10:da:12:34
  5. 그러한 MAC_DEST를 본 스위치는 해당 패킷에 할당된 VLAN을 변경하기로 결정합니다.
  6. 스위치는 또한 MAC_DEST를 10.0.11.5에 속하는 것으로 변경합니다.

(이더넷에서 패킷 전달이 작동하는 방식일 뿐이며 Netgear에만 해당되는 것은 아닙니다.)

아마도 여러 VLAN에 포트가 필요하지 않을 것입니다(실제로 확인하지는 않았습니다).

또한 설정라우팅 -> IP -> 라우팅 모드=

넷기어 지원:VLAN 라우팅이란 무엇입니까?

답변2

그렇게 할 수는 없으며 특별한 VLAN 기능(포트 격리 등)이 필요하거나 라우터를 사용하여 수행해야 합니다.

여기서 일어나는 일은 패킷(이더넷 프레임)이 포트에 들어갈 때 해당 포트의 PVID에서 VLAN ID를 가져오는 것입니다. 그런 다음 동일한 VLAN에 있는 다른 포트에서도 전송됩니다. (물론 스위치가 해당 특정 VLAN에 대해 저장된 대상 MAC에 대한 포트가 있는 경우 하나의 특정 포트로만 전달한다는 점을 제외하면 모든 포트가 서로 다른 VLAN에 있으므로 대상이 전달되지 않을 수 있으므로 그렇지 않을 수도 있습니다. 프레임이 전송된 VLAN에서 찾을 수 있습니다.)

즉, 포트 10을 통해 스위치로 전송된 모든 항목은 포트 11과 12에 나타날 수 있지만 포트 11이나 12를 통해 전송된 모든 항목은 포트 10으로만 이동할 수 있습니다.


포트 격리/보호된 포트/유사 기능은 일부 특수 포트를 제외하고 단일 VLAN 내에서 프레임 전달을 차단한다는 것입니다. 이러한 종류의 기능을 사용하면 모든 포트를 하나의 단일 VLAN에 배치하고 포트 10을 특수 포트로 표시하여 11과 12 사이에서 트래픽을 보내고 받을 수 있습니다. 그러나 이 기능은 11과 12를 서로 격리합니다. .


다른 옵션은 VLAN 11과 VLAN 12를 모두 태그가 지정된 VLAN으로 포트 10의 시스템에 가져오는 것입니다. 그런 다음 해당 머신에서 VLAN에 대해 고유한 IP 인터페이스를 만들어 두 VLAN과 통신할 수 있습니다. 머신에 라우팅을 설정하지 않으면 11번과 12번은 서로 통신할 수 없습니다. 물론 머신은 여전히 ​​VLAN을 인식해야 합니다.

물론 Netgear 자체가 VLAN 간의 라우터 역할을 할 수 있다면 그것도 작동합니다. 각 머신에 대해 VLAN을 설정하고 라우팅을 정렬하고 11과 12 사이에 필터링(방화벽)을 추가하기만 하면 됩니다.

관련 정보