#author("2025-10-08T22:04:44+09:00","default:nobuoki","nobuoki") #author("2025-10-08T22:05:44+09:00","default:nobuoki","nobuoki") Ubuntu 25.04 でのお話 * netplan を使う [#w1a8c7f2] #prism(bash){{{ $ diff -u 90-NM-d4735e4b-9bfa-3052-b1c4-ef3302803c9a.yaml new.yaml --- 90-NM-d4735e4b-9bfa-3052-b1c4-ef3302803c9a.yaml 2025-10-08 21:56:51.493179616 +0900 +++ new.yaml 2025-10-08 21:56:11.370205647 +0900 @@ -25,3 +25,13 @@ ipv6.method: "disabled" ipv6.ip6-privacy: "-1" proxy._: "" + # --- ここからVLAN設定の追加 --- + vlans: + enp0s31f6.100: # VLANインターフェース名 (親インターフェース名.VLAN_IDが慣例) + id: 100 # VLAN ID (VID) + link: enp0s31f6 # 親となる物理インターフェース + addresses: [192.168.100.155/24] # 付与したいIPアドレス + # デフォルトゲートウェイは不要なため、gateway4やroutesセクションは設定しません。 + renderer: NetworkManager # 親と同じrendererを指定 (NetworkManagerで管理させる) }}} からの #prism(bash){{{ sudo netplan try sudo netplan apply }}} ---- 以下、失敗の歴史 * 以下、失敗の歴史 [#yc95a941] * nmcliで失敗する [#o4cec9f6] ** nmcliで失敗する [#o4cec9f6] #prism(bash){{{ sudo nmcli connection add type vlan con-name enp0s31f6.100 ifname enp0s31f6.100 dev enp0s31f6 id 100 sudo nmcli connection modify enp0s31f6.100 ipv4.addresses 192.168.100.155/24 sudo nmcli connection modify enp0s31f6.100 ipv4.method manual sudo nmcli connection modify enp0s31f6.100 ipv4.never-default yes sudo nmcli connection up enp0s31f6.100 }}} ってやると、最後の最後で #prism(bash){{{ エラー: 接続のアクティベーションに失敗: Failed to find a compatible device for this connection }}} * ipだと一応うまくいく [#d2f86e9e] ** ipだと一応うまくいく [#d2f86e9e] #prism(bash){{{ sudo ip link add link enp0s31f6 name enp0s31f6.100 type vlan id 100 sudo ip addr add 192.168.100.155/24 dev enp0s31f6.100 sudo ip link set enp0s31f6.100 up ip a s enp0s31f6.100 }}} vlan-ifは作れるんだけど、nmcliの管理下ではないのでOSリブートで飛ぶ。むむむ。 * なぜ? [#w069c4b5] ** なぜ? [#w069c4b5] #prism(bash){{{ $ nmcli dev s DEVICE TYPE STATE CONNECTION enp0s31f6 ethernet 接続済み netplan-enp0s31f6 }}} vlan-ifの接続デバイスが、netplanで管理されているので、nmcliコマンドでうまくハンドリングできない nmcliで見ると enp0s31f6.100 が出来ている・・・のだが、connection.autoconnect と ipv4.never-default がイマイチ * ファイナルアンサー [#h2ac2c28] ** あがき [#k27cc827] 途中までipコマンドで作って、nmcliでちょこっと変更する #prism(bash){{{ sudo ip link add link enp0s31f6 name enp0s31f6.100 type vlan id 100 sudo ip addr add 192.168.100.155/24 dev enp0s31f6.100 sudo nmcli connection modify enp0s31f6.100 connection.autoconnect yes sudo nmcli connection modify enp0s31f6.100 ipv4.never-default yes sudo nmcli connection modify up enp0s31f6.100 }}} やってみれば分かるけど、nmcliの管轄外になってうまくいかない