Ubuntu 22.04でトランクポートを使用してKVMを設定する方法は?

Ubuntu 22.04でトランクポートを使用してKVMを設定する方法は?

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が有効になっていない追加のスイッチを使用したことを除いて、問題はないことがわかりました。これにより、表示されたパケットが送信中に失われます。

おすすめ記事