それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

netplan でDHCP設定すると metric がぶっ壊れた件。

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を優先してほしいんだけどなぁ