Cisco CatalystスイッチのトランクポートにUbuntu 22.04がインストールされているDell R440を設定しています。問題は、プライマリVLANトラフィックのみがシステムからキャプチャされることです。
ポート構成は次のとおりです。
interface GigabitEthernet1/0/44
switchport access vlan 201
switchport trunk native vlan 201
switchport trunk allowed vlan 10,201
switchport mode trunk
!
show interfaces GigabitEthernet 1/0/44 trunk
Port Mode Encapsulation Status Native vlan
Gi1/0/44 on 802.1q trunking 201
Port Vlans allowed on trunk
Gi1/0/44 10,201
Port Vlans allowed and active in management domain
Gi1/0/44 10,201
Port Vlans in spanning tree forwarding state and not pruned
Gi1/0/44 10,201
この正確な設定はタグ付きVLANトラフィックを別のポートに送信します。これはDebianおよびBSDシステムでキャプチャできます。
サーバーのインターフェース構成は次のとおりです。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff
altname enp4s0f0
inet 192.168.201.20/24 brd 192.168.201.255 scope global eno1
valid_lft forever preferred_lft forever
inet6 fe80::d294:66ff:feaa:aaaa/64 scope link
valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether bb:bb:bb:bb:bb:bb brd ff:ff:ff:ff:ff:ff
altname enp4s0f1
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:d1:36:8a brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: eno1.10@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff
inet 192.168.10.199/24 scope global eno1.10
valid_lft forever preferred_lft forever
inet6 fe80::d294:66ff:feaa:aaaa/64 scope link
valid_lft forever preferred_lft forever
6: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 500
link/ether 50:50:50:50:50:50 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fe6e:5932/64 scope link
valid_lft forever preferred_lft forever
ご覧のとおり、VLANインターフェイスとmacvtapがあります。タグ付けされていないトラフィックをVLANインターフェイス(192.168.10.172から)に送信する仮想マシンがあります。インターフェイスからeno1
スニッフィングされたトラフィックは、システムで正しくタグ付けされます。
# tcpdump -nvei eno1 vlan 10
tcpdump: listening on eno1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
13:38:26.204155 50:50:50:50:50:50 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 10, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.4 tell 192.168.10.172, length 28
13:38:27.204132 50:50:50:50:50:50 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 10, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.4 tell 192.168.10.172, length 28
13:38:28.222031 50:50:50:50:50:50 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 10, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.4 tell 192.168.10.172, length 28
13:38:29.220143 50:50:50:50:50:50 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 10, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.4 tell 192.168.10.172, length 28
ホスト自体のトラフィックにもタグ付けされます。
# tcpdump -nvei eno1 vlan 10
tcpdump: listening on eno1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
14:21:21.254534 aa:aa:aa:aa:aa:aa > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 10, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.1 tell 192.168.10.199, length 28
14:21:22.278725 aa:aa:aa:aa:aa:aa > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 10, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.1 tell 192.168.10.199, length 28
14:21:23.302507 aa:aa:aa:aa:aa:aa > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 10, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.1 tell 192.168.10.199, length 28
デフォルトのVLAN(タグなし)および他のホストからのトラフィックをプライマリインターフェイスで監視できます(通信はスムーズに機能します)。
# tcpdump -nvei eno1 not vlan 10
tcpdump: listening on eno1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
14:21:12.669286 aa:aa:aa:aa:aa:aa > 00:00:5e:00:01:c9, ethertype IPv4 (0x0800), length 190: (tos 0x10, ttl 64, id 61852, offset 0, flags [DF], proto TCP (6), length 176)
192.168.201.20.22 > 172.16.20.10.51758: Flags [P.], cksum 0x4a7a (incorrect -> 0x92f4), seq 967793068:967793192, ack 3024530972, win 501, options [nop,nop,TS val 3219014539 ecr 3285414951], length 124
14:21:12.682517 ab:ab:ab:ab:ab:ab > aa:aa:aa:aa:aa:aa, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 31043, offset 0, flags [none], proto TCP (6), length 52)
172.16.20.10.51758 > 192.168.201.20.22: Flags [.], cksum 0x2ef4 (correct), ack 124, win 501, options [nop,nop,TS val 3285414975 ecr 3219014539], length 0
14:21:12.720108 22:22:22:22:22:22 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.201.134 tell 192.168.201.102, length 46
この構成は、以下を介して手動で適用されました。
sudo ip link add link eno1 name eno1.10 type vlan id 10
sudo ip link set dev eno1.10 up
sudo ip addr add 192.168.10.199/24 dev eno1.10
また、他のテストの中でネットプランを通過しました。
network:
ethernets:
eno1:
addresses:
- 192.168.201.20/24
gateway4: 192.168.201.1
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
dhcp4: false
dhcp6: false
vlans:
eno1.10:
id: 10
link: eno1
dhcp4: false
dhcp6: false
version: 2
このホストによって生成されたタグ付きトラフィックは他のホストに到達しません。また、タグ付きの他のホストからのトラフィックはこのホストに到達しません。実際には、まったく同じ方法(間違って)で動作する2番目のサーバーと2番目のスイッチ(すべて同じ)があるため、単一のハードウェアに障害があると非難することはほとんど不可能です。
これは移行に使用されるKVMホストになりますが、VMはこのトランクによって提供されるVLANと通信できる必要があります(他の多くのホストがあるため、トラブルシューティングのためにこの設定は簡素化されました)。ここに何が欠けているかについてのアイデアはありますか?
ベストアンサー1
ケーブルをラックに接続するために、データセンターでq in qが有効になっていない追加のスイッチを使用したことを除いて、問題はないことがわかりました。これにより、表示されたパケットが送信中に失われます。