Ubuntu 22.04 LTS にAQC107の10G NICを刺す

今回試す製品

NIC: AREA(エアリア) SD-PE410GL-B

OS: Ubuntu 22.04.2 LTS

cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
(snip)

ドライバの追加とかは不要

  • NICをUbuntu 22.04.2 LTSに刺すと認識されています。
  • ifconfigだと出てきませんがifconfig -a だと enp16s0 が表示されます。
lspci -k |lv
(snip)
10:00.0 Ethernet controller: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02)
        Subsystem: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]
        Kernel driver in use: atlantic
        Kernel modules: atlantic
(snip)
ls /sys/class/net/
enp16s0  enp42s0  lo

上で出てきた名前から未知のものを適当に選んで詳細を見ます。

udevadm info --query=all --path=/sys/class/net/enp16s0
(snip)
E: INTERFACE=enp16s0
(snip)
E: ID_MODEL_FROM_DATABASE=AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]
(snip)

netplan設定ファイルの追加と設定反映

  • 今回はnetplanで管理してたので設定ファイルを追加します。
  • 今回はDHCPサーバが別にあるので中身は適当です。

設定ファイルの追加

# /etc/netplan/01-enp16s0.yaml
network:
  version: 2
  ethernets:
    enp16s0:
      dhcp4: true

設定の反映

netplan apply

ifconfigの確認

  • 有効になってればオプションなしのifconfigに見えるはず
ifconfig
(snip)
enp16s0: flags=4099  mtu 1500
        ether 1c:fd:08:79:70:5a  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
(snip)

試験ネットワーク(192.168.64.0)へのルーティングに問題がないか確認

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.253.1   0.0.0.0         UG    0      0        0 enp42s0
192.168.64.0    0.0.0.0         255.255.255.0   U     100    0        0 enp16s0
192.168.253.0   0.0.0.0         255.255.255.0   U     0      0        0 enp42s0

試験ネットワーク内の他のホストへのping導通確認

ping 192.168.64.3
PING 192.168.64.3 (192.168.64.3) 56(84) bytes of data.
64 bytes from 192.168.64.3: icmp_seq=1 ttl=128 time=1.69 ms
64 bytes from 192.168.64.3: icmp_seq=2 ttl=128 time=0.965 ms
64 bytes from 192.168.64.3: icmp_seq=3 ttl=128 time=0.878 ms

MACアドレスの変更(netplan)

その後、複数のNICでMACアドレスが重複するという問題に遭遇した。

$ ifconfig
enp16s0: flags=4163  mtu 1500
        inet 192.168.253.6  netmask 255.255.255.0  broadcast 192.168.253.255
        inet6 fe80::1efd:8ff:fe79:705a  prefixlen 64  scopeid 0x20
        ether 1c:fd:08:79:70:5a  txqueuelen 1000  (Ethernet)

netplanの設定ファイルを書き換えることでMACアドレスを変更できた。

# cat /etc/netplan/01-enp16s0.yaml
network:
  version: 2
  ethernets:
    enp16s0:
      dhcp4: true
      macaddress: 1c:fd:08:70:00:00

# netplan apply
# ifconfig
enp16s0: flags=4163  mtu 1500
        inet 192.168.253.6  netmask 255.255.255.0  broadcast 192.168.253.255
        inet6 fe80::1efd:8ff:fe79:705a  prefixlen 64  scopeid 0x20
        ether 1c:fd:08:70:00:00  txqueuelen 1000  (Ethernet)
        RX packets 7230259010  bytes 9433492361677 (9.4 TB)
        RX errors 0  dropped 292269  overruns 0  frame 0
        TX packets 37745848687  bytes 56934930393148 (56.9 TB)
        TX errors 1  dropped 0 overruns 0  carrier 0  collisions 0

この例では ether 1c:fd:08:79:70:5aether 1c:fd:08:70:00:00 に変わったのを確認できた。