systemd-networkd는 고정 IP를 구성하지 않습니다

systemd-networkd는 고정 IP를 구성하지 않습니다

고정 IP 주소로 전환을 시도했지만 systemd는 계속해서 DHCP를 사용합니다. 이것은 내 /etc/systemd/network/eth0.network파일입니다:

[Match]
Name=eth0

[Network]
Address=192.168.5.100/24
DHCP=no

파일에 잘못된 설정을 넣으면 systemctl 상태에 경고 메시지가 표시되므로 파일을 읽고 있다는 것을 알고 있습니다.

결과는 다음과 같습니다 systemctl status systemd-networkd.

[[0;1;32m●[[0m systemd-networkd.service - Network Service
     Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
     Active: [[0;1;32mactive (running)[[0m since Wed 2020-12-16 17:25:20 UTC; 32s ago
TriggeredBy: [[0;1;32m●[[0m systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
   Main PID: 137 (systemd-network)
     Status: "Processing requests..."
      Tasks: 1 (limit: 1141)
     Memory: 1.5M
     CGroup: /system.slice/systemd-networkd.service
             └─137 /lib/systemd/systemd-networkd

Dec 16 17:25:19 beaglebone-yocto systemd[1]: Starting Network Service...
Dec 16 17:25:20 beaglebone-yocto systemd-networkd[137]: Enumeration completed
Dec 16 17:25:20 beaglebone-yocto systemd[1]: Started Network Service.
Dec 16 17:25:21 beaglebone-yocto systemd-networkd[137]: eth0: IPv6 successfully enabled
Dec 16 17:25:21 beaglebone-yocto systemd-networkd[137]: eth0: Link UP
Dec 16 17:25:24 beaglebone-yocto systemd-networkd[137]: eth0: Gained carrier
Dec 16 17:25:25 beaglebone-yocto systemd-networkd[137]: eth0: Gained IPv6LL
Dec 16 17:25:28 beaglebone-yocto systemd-networkd[137]: eth0: DHCPv4 address 10.1.1.61/16 via 10.1.0.1

마지막으로 결과는 다음과 같습니다 ip a.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000
    link/ether 04:a3:16:bb:c6:0a brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.61/16 brd 10.1.255.255 scope global dynamic eth0
       valid_lft 86322sec preferred_lft 86322sec
    inet6 fe80::6a3:16ff:febb:c60a/64 scope link
       valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0

나는 무엇이 잘못되었는지 모른다. 파일을 읽고 오류가 발생하지 않지만 여전히 DHCP를 사용하고 있습니다.

답변1

고정 IP 주소로 전환을 시도했지만 systemd는 계속 DHCP를 사용합니다.

예! 정확히. /lib/systemd/network에는 모든 유선 네트워크에 대해 DHCP를 설정하는 파일이 있습니다. 좋은 생각. 감사해요!

이는 파일 앞에 숫자를 붙이지 않았기 때문입니다. 인용하다 man systemd.network:

각 파일 이름 앞에 숫자를 붙이는 것이 좋습니다(예 10-eth0.network: ). 그렇지 않으면 systemd-network-generator.service(8)에 의해 생성된 기본 .network파일이 사용자 구성 파일보다 우선할 수 있습니다.

따라서 시스템 기본값은 사용자 정의 구성보다 우선 적용됩니다. 이를 방지하려면 파일 이름을 eth0.network다음과 같이 10-eth0.network바꾸 십시오.

관련 정보