有線接続と無線接続がこのように構成されています
[Match]
Name=eth01
[Network]
Address=10.0.0.120/24
Gateway=10.0.0.1
[Route]
Destination=0.0.0.0/0
Metric=1000
- 10.0.0.1をターゲットにしてみました。
[Route]
私が読んだ内容に基づいてこの部分を空にしようとしました。https://www.freedesktop.org/software/systemd/man/systemd.network.html このパスをデフォルトパスに設定する必要があります。
ワイヤレス構成は次のとおりです。
[Match]
Name=wlan0
[Network]
Address=10.0.0.129/24
Gateway=10.0.0.1
[Route]
Destination=0.0.0.0/0
Metric=2000
もう一度ターゲットをゲートウェイに設定してみました。
私が何を試しても、次のパスを取得します。
default via 10.0.0.1 dev wlan0 proto static
default via 10.0.0.1 dev eth01 proto static
10.0.0.0/24 dev wlan0 proto kernel scope link src 10.0.0.129
10.0.0.0/24 dev eth01 proto kernel scope link src 10.0.0.120
10.0.0.1 dev wlan0 proto static metric 2000
しかし、有線デバイスがない場合を除いて、デフォルトルートが有線デバイスを通過するようにしたいと思います。
答え1
次のようにする必要があります。
[Match]
Name=eth01 # or wlan0
[Network]
Address=10.0.0.120/24 # or 10.0.0.129/24
RouteMetric=1000 # or 2000
# This section is probably optional
[Route]
Destination=10.0.0.1
Scope=link
PreferredSource=10.0.0.120 # or 10.0.0.129
Metric=1000 # or 2000
[Route]
# Destination=0.0.0.0/0 is implied when the option is not explicitly set
Gateway=10.0.0.1
PreferredSource=10.0.0.120 # or 10.0.0.129
Metric=1000 # or 2000
答え2
これは私にとって効果的です。清潔でシンプルです。
/etc/systemd/network/eth.network
[Match]
Name=eth01
[Network]
Address=10.0.0.120/24
[Route]
Gateway=10.0.0.1
Metric=1000
そして
/etc/systemd/network/wlan.network
[Match]
Name=wlan0
[Network]
Address=10.0.0.129/24
[Route]
Gateway=10.0.0.1
Metric=2000
与える
$ ip r
default via 10.0.0.1 dev eth01 proto static metric 1000
default via 10.0.0.1 dev wlan0 proto static metric 2000
10.0.0.0/24 dev wlan0 proto kernel scope link src 10.0.0.129
10.0.0.0/24 dev eth01 proto kernel scope link src 10.0.0.120