私はOpenBSDシステムをルーターとして設定しています。インターフェイス 1 つはアップストリーム、もう 1 つは 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アドレスを同じインターフェイスの2番目のアドレスに設定するだけです。