2019-11-01 遇到的一点小问题
最近在树莓派上做东西,有几张SD卡需要来回切换。使用ssh经常遇到IP变掉的事。
系统是通过Systemd-networkd来进行IP管理的。
[root@alarmpi ~]# systemctl status systemd-networkd
* systemd-networkd.service - Network Service
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-09-23 23:54:29 UTC; 1 months 10 days ago
Docs: man:systemd-networkd.service(8)
Main PID: 225 (systemd-network)
Status: "Processing requests..."
Tasks: 1
Memory: 2.1M
CGroup: /system.slice/systemd-networkd.service
`-225 /usr/lib/systemd/systemd-networkd
Sep 23 23:54:28 alarmpi systemd[1]: Starting Network Service...
Sep 23 23:54:29 alarmpi systemd-networkd[225]: Enumeration completed
Sep 23 23:54:29 alarmpi systemd[1]: Started Network Service.
Sep 23 23:54:29 alarmpi systemd-networkd[225]: eth0: IPv6 successfully enabled
Nov 01 10:17:11 alarmpi systemd-networkd[225]: eth0: Gained carrier
Nov 01 10:17:12 alarmpi systemd-networkd[225]: eth0: DHCPv4 address 192.168.10.218/22 via 192.168.8.1
Nov 04 01:08:10 alarmpi systemd-networkd[225]: eth0: Gained IPv6LL
Nov 04 01:08:22 alarmpi systemd-networkd[225]: eth0: Configured
因为半年前做的功能是通过修改dhcpcd的配置文件/etc/dhcpcd.conf
,重启服务systemctl restart dhcpcd
,重启网卡ip link set eth0 down
和ip link set eth0 up
来进行设备的动态IP和静态IP设置管理。
所以继续通过修改DHCP配置文件 /etc/dhcpcd.conf
来设置固定IP:
interface eth0
static ip_address=192.168.10.250/22
static routers=192.168.8.1
static domain_name_servers=218.85.152.99
在文件后面添加上面内容,命令systemctl start dhcpcd
启动dhcpcd服务就可以正常设置静态IP了,需要动态IP只需要删掉添加的内容就行。
使用ip addr
看会有两个IP,命令systemctl disable systemd-networkd
和systemctl enable dhcpcd
设定开机启动项。重启就可以了。
[root@alarmpi tmp]# systemctl disable systemd-networkd
Removed /etc/systemd/system/multi-user.target.wants/systemd-networkd.service.
Removed /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service.
Removed /etc/systemd/system/dbus-org.freedesktop.network1.service.
Removed /etc/systemd/system/sockets.target.wants/systemd-networkd.socket.

网友评论