저는 OpenBSD 시스템을 라우터로 설정하고 있습니다. 인터페이스 하나는 업스트림으로, 또 다른 인터페이스는 VLAN으로 구성되어 있습니다.
업스트림(em0):
inet 10.0.2.20 255.255.255.0 NONE description upstream
다운스트림(em1):
up
VLAN10:
inet 172.18.10.1 255.255.255.0 NONE vlan 10 vlandev em1
고정 IP가 172.18.10.10인 클라이언트에서 172.18.10.1을 ping하고 OpenBSD 시스템에서 tcpdump를 실행하면 ARP 쿼리를 받습니다.
Jun 20 16:40:16.170853 08:00:27:9c:0c:38 ff:ff:ff:ff:ff:ff 0806 60: arp who-has 172.18.10.1 tell 172.18.10.10
따라서 분명히 arp를 수신하지만 응답하지 않습니다.
누구든지 어떤 아이디어가 있습니까?
답변1
문제는 프레임에 태그를 지정해야 하는 VLAN 인터페이스가 설정되어 있다는 것입니다(802.1Q --https://en.wikipedia.org/wiki/IEEE_802.1Q), 그러나 클라이언트 호스트의 IP 주소는 VLAN 태그 지정이나 구성 없이 간단히 구성됩니다. 태그가 지정된/VLAN 이더넷 패킷은 다음과 유사하게 나타납니다.
May 01 15:06:43.890173 01:23:45:67:89:0a bc:de:f0:12:34:56 8100 161: 802.1Q vid 5 pri 3 172.16.0.2.53 > 172.16.1.2.56557: 5001 3/0/0 CNAME[|domain]
패킷이 VLAN 5에 있음을 나타내는 "vid" 및 802.1Q 정보를 확인하세요. 클라이언트의 패킷은 VLAN 10 태그 없이 도착하므로 하드웨어 인터페이스 em0(10.0.2.20)에 구성된 IP 주소에 의해 올바르게 무시됩니다.
설정과 목표에 따라 이러한 스테이션이 통신하도록 하는 방법에는 여러 가지가 있습니다.
- VLAN 10 및 태그 프레임을 사용하도록 클라이언트 호스트의 네트워크 인터페이스를 구성합니다.
- 클라이언트가 스위치 정의 VLAN에 있는 경우 OpenBSD 시스템에 연결된 인터페이스에서 스위치 태그 VLAN 10을 확인하십시오.
- 목표가 클라이언트와 OpenBSD 시스템을 동일한 네트워크 VLAN/세그먼트에 두는 것이라면 VLAN이 전혀 필요하지 않습니다.
ifconfig em0 alias 172.18.10.1 255.255.255.0
해당 IP 주소를 동일한 인터페이스의 두 번째 주소로 설정하면 됩니다.