え、PC にもトランクポート使えるの?
はじめに
突然ですが、アクセスポートとトランクポートの使い分けはどのようにしていますか?
一般的にはスイッチ同士の接続にはトランクポートを使用し、PC などの末端機器を接続するポートはアクセスポートを使用すると思います。
トランクポートはタグ VLAN とも呼ばれ、イーサネットフレームに VLAN ID を付加します。
タグのついたフレームを受け取った機器は、そのタグを処理する能力が必要です。つまり、PC が接続しているスイッチのポートにトランクポートを設定した場合、PC がタグ VLAN を処理する能力を持っている必要があります。
構成
今回作成した実機の環境は、下図の通りです。SW01
の Fa0/2
ポートに流れるパケットを Fa0/24
にコピーして、この先に繋がっている別 PC で Wireshark を動かして待機しています。PC が使用する VLAN を 100、スイッチの管理用 VLAN を 200 とします。スイッチ間は 100 と 200 のトランクポートにします。
SW01# show monitor session 1
Session 1
---------
Type : Local Session
Source Ports :
Both : Fa0/1
Destination Ports : Fa0/24
Encapsulation : Replicate
Ingress : Disabled
実際にやってみた
Mac PC でやってみました。
2017年の MacBook Air (まだ、りんごが光ってるやつ) は、802.1Q に対応していました。
下記のように VLAN インターフェース?を作成し、物理 NIC (親 interface) に紐付けます。そして、作成した VLAN インターフェースに IP アドレスを付与します。
$ ifconfig [interface] create
$ ifconfig [interface] vlan [VLAN ID] vlandev [親 interface]
$ ifconfig [interface][IP address]
- VLAN インターフェース名 : vlan100
- VLAN ID : 100
- 親 interface : en3
- IP アドレス : 172.16.0.1/24
IP アドレスは親インターフェースではなく、作成した VLAN インターフェースに付与します。親インターフェースには、何も設定されていません。わかりにくいですね。
sh-3.2# ifconfig vlan100 create
sh-3.2# ifconfig vlan100 vlan 100 vlandev en3
sh-3.2# ifconfig vlan100 172.16.0.1/24
sh-3.2# ifconfig en3
en3: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=6467<RXCSUM,TXCSUM,VLAN_MTU,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether 00:e0:4c:68:06:d5
inet6 fe80::10a3:c81b:75dc:5a8%en3 prefixlen 64 secured scopeid 0x6
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (100baseTX <full-duplex>)
status: active
sh-3.2# ifconfig vlan100
vlan100: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6063<RXCSUM,TXCSUM,TSO4,TSO6,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether 00:e0:4c:68:06:d5
inet 172.16.0.1 netmask 0xffffff00 broadcast 172.16.0.255
vlan: 100 parent interface: en3
media: autoselect (100baseTX <full-duplex>)
status: active
そして、PC が接続しているポートをトランクの設定にします。
SW01#show run int fas0/2
Building configuration...
Current configuration : 123 bytes
!
interface FastEthernet0/2
switchport access vlan 100
switchport trunk allowed vlan 100,200
switchport mode trunk
end
この状態で、PC01 から PC02 に ping を打ちます。
スイッチ - PC 間でトランクポートの設定をしていますが、正常に ping を打つことができました。キャプチャを見ても、VLAN タグが付けられていることがわかります。
おわりに
今回は、PC にトランクポートを設定する方法について紹介しました。トランクポートはスイッチ間で使用するものであり、PC 用には使えないものだと思っていました。接続する PC によって使用する VLAN が変わるダイナミック VLAN みたいなものが実現できるのかと思って試してみました。
今回は CLI で設定しましたが、GUI でも設定可能です。Windows でも対応しているかもしれません。気になる方は方法を探してみてください。
Discussion