XG-C100Cを追加してオンボードNICとブリッジ接続する
Ubuntu
はじめに
Ubuntu 22.04で運用している開発用マシンにXG-C100Cを追加した記録です。 最終的に以下のような環境を構築します。
┌───────────────┐ ┌──────────────┐ ┌────────────────┐
│ │ │ │ │ │
│ │ 10.0.0.100/24 │ │ Dynamic │ │
│ MacBook Pro ├─────────────────────┤ Dev Server ├──────────────┤ Home Network │
│ │ │ │ │ │
│ │ │ │ │ │
└───────────────┘ └──────────────┘ └────────────────┘
やったこと
- Ubuntu22.04にXG-C100Cを導入
- 既存のNIC(オンボード)とXG-C100Cとの間をブリッジ接続
XG-C100Cの導入
ASUSのサイトにあるドライバはバージョンが古い(5.0.3.3)ため私の環境(kernel 5.15.0-43)でコンパイルすることができませんでした。 そこで、 MarvellのダウンロードページからAQC107Cを選択してドライバを取得します。
ダウンロード完了後、以下のように指示通り作業を行うとドライバを導入します。
$ unzip Marvell_Linux_2.5.5.zip
Archive: Marvell_Linux_2.5.5.zip
creating: 05-23-22_Marvell_Linux_2.5.5/
inflating: 05-23-22_Marvell_Linux_2.5.5/atlantic-2.5.5.0-1.noarch.rpm
extracting: 05-23-22_Marvell_Linux_2.5.5/atlantic.tar.gz
inflating: 05-23-22_Marvell_Linux_2.5.5/README.txt
inflating: 05-23-22_Marvell_Linux_2.5.5/Release_Notes_Linux_2.5.5.txt
$ cd 05-23-22_Marvell_Linux_2.5.5
$ tar -zxf atlantic.tar.gz
$ sudo ./dkms.sh install
追加したNICの名称を確認します。正しい方法がわからないので、dmesg
からそれっぽいものを持ってきます。 今回追加したNICはenp4s0
という名称が付けられているようです。
$ sudo dmesg| grep atlantic
[ 2.502420] atlantic 0000:04:00.0: enabling device (0000 -> 0002)
[ 2.540366] atlantic: Detect ATL2FW 1030012
[ 5.859800] atlantic 0000:04:00.0 enp4s0: renamed from eth1
[ 17.700034] atlantic 0000:04:00.0 enp4s0: atlantic: link change old 0 new 1000
NIC間のブリッジ接続
’/etc/netplan/00-installer-config.yaml’を修正して既存のNIC(eno1
)とブリッジ接続します。
$ cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
eno1: {}
enp4s0: {}
bridges:
br0:
interfaces:
- eno1
- enp4s0
dhcp4: true
version: 2
MacBook Pro <-> Home Network間の通信を透過的に行うためufwを設定します。
$ sudo ufw allow from 10.0.0.0/24
/etc/default/ufw ufw.org
も以下のように修正します。
$ diff /etc/default/ufw ufw.org
19c19
< DEFAULT_FORWARD_POLICY="ACCEPT"
---
> DEFAULT_FORWARD_POLICY="DROP"