유선 연결과 무선 연결이 이렇게 구성되어 있습니다
[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