systemd-networkd
나는 최근에 (nuked 및 네트워크 관리자) 가 직접 네트워크를 관리하는 서버를 설정하고 netplan.io
다음과 같은 고정 IP를 제공했습니다.
/etc/systemd/network/10-ethernet.network
[Match]
Name=eno1
[Network]
Address=192.168.1.2/24
Gateway=192.168.1.1
DNS=192.168.1.1
다시 시작한 후 systemd-networkd.service
기본 경로는 다음과 같습니다.
default via 192.168.1.1 dev eno1 proto static
default via 172.16.0.1 dev eno2 proto static
default via 172.31.255.1 dev eno3 proto static
^^^
네트워크 카드가 여러 개 있고 eno1
선호하는 네트워크 카드를 선택하고 싶기 때문에 라우팅을 다음과 같이 하려고 합니다.
default via 192.168.1.1 dev eno1 proto static metric 100
default via 172.16.0.1 dev eno2 proto static metric 300
default via 172.31.255.1 dev eno3 proto static metric 500
^^^^^^^^^^
값이 없으면 metric
기본값은 0입니다. 이는 모든 경로가 동일한 우선순위(가장 높음)를 갖는다는 것을 의미하며, 이는 제가 피하고 싶은 것입니다.
나는 이 설정을 시도했습니다:
[Route]
Gateway=192.168.1.1
Metric=100
하지만 하나만 생성됩니다.추가의원래 메트릭(누락)이 남아 있는 동안 필요한 메트릭이 있는 경로입니다 metric
.
저는 Systemd 240을 사용하고 있습니다. 이를 어떻게 달성해야 합니까?
답변1
이 스레드에서는 개발자가 작업 방식과 작동 방식에 대해 논의하는 모습을 볼 수 있습니다.https://github.com/systemd/systemd/issues/928
그들은 몇 가지 예를 들었습니다:
길찾기 탭 아래
[Route]
Destination=192.168.0.0/24
Metric=2048
DHCP 탭 아래
[DHCP]
RouteMetric=1024
설명됩니다 :
IP를 얻을 때 networkd-address.c의 address_configure를 통해 서브넷 경로를 구성하지 말고 나중에 networkd-dhcp4.c의 link_set_dhcp_routes를 통해 메트릭으로 dhcp 제공 경로를 처리하세요.
다음과 같은 경고도 있습니다.
RouteMetric은 패킷 라우팅에는 작동하지만 로컬 서브넷에 남아 있는 패킷에는 작동하지 않습니다.
제가 참조한 티켓이 현재 열려 있으므로 원하는 정확한 기능이 아직 존재하지 않을 수 있습니다. 작동 방식을 알고 있다고 생각되면 개발자에게 직접 피드백을 제공하고 토론에 참여하세요.