netplan でDHCP設定すると metric ばぶっ壊れる件
表題のとおりです。
問題点
RaspberryPi4の、eth0 と wlan0 が接続されたUbuntuシステムで、netplan を設定するとmetric がおかしい。
パケットがすべてWif( wlan 0 ) 経由になってしまう。
原因
eth0 と wlan0 なら、wlan0のほうが接続が遅く、同一DHCPから割り当てると、あとから来たほうが優先されている。
netplan に metric を設定しても無駄。
再現方法
netplan で wifi を接続する
network:
version: 2
renderer: networkd
wifis:
wlan0:
dhcp6: false
dhcp4: false
addresses: [192.168.1.249/24]
gateway4: 192.168.1.1
dhcp4-overrides:
route-metric: 200
routes:
- to: 192.168.1.0/24
via: 192.168.1.1
metric: 200
- to: default
via: 192.168.1.1
metric: 200
access-points:
"takuya.mywif.local":
password: "***********"
networkd で、eth0 を設定する。
[Match] Name=macvlan0 [Network] DHCP=no Address=192.168.1.240/24 Gateway=192.168.1.1 DNS=192.168.1.1 DNS=192.168.1.5 LinkLocalAddressing=no [Route] Destination=192.168.1.0/24 Metric=1
結果
default via 192.168.1.1 dev eth0 proto static default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.2.249 metric 200 192.168.2.0/24 dev wlan0 proto kernel scope link src 192.168.1.249 ### ←おいおい、わたしmetricいれたよな 192.168.2.1 dev wlan0 proto dhcp scope link src 192.168.1.249 metric 200 192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.1.240 192.168.2.0/24 dev eth0 proto static metric 1
結論
netplan の metric はおかしい。
さらに、詳細に調べれば、原因が突き止められるかもしれないが、めんどくさいので netpaln すてて、 netowkrd + wpa_supplicant で Wifi 接続することにする。
netplan 怖いよ。renderer を network-managerに変えようかと思ったけど、もうしんどい。
経路が指定できないので、手動で ip route del / ip route add するのに疲れたのでもう諦める。
どっかで設定間違えたかなぁ。
個人的には、wlan0 とeth0 が共通サブネットとゲートウェイなら、eth0を優先してほしいんだけどなぁ