고정 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
바꾸 십시오.