树莓派设置静态ip 永久有效 我的需要设置三个 一个摄像头的 两个设备的
通过 systemd-networkd 配置
此方法适用于较新的Raspberry Pi OS版本,支持同时绑定多个IP地址到同一网卡,且配置清晰稳定。
1.禁用DHCP客户端对eth0的管理:编辑/etc/dhcpcd.conf
文件,添加以下内容以忽略eth0接口的自动分配
sudo nano /etc/dhcpcd.conf
添加如下内容:
denyinterfaces eth0
nogateway
2.创建或修改systemd-networkd配置文件:在/etc/systemd/network/
目录下新建或修改网络配置文件(如10-eth0.network
)
sudo nano /etc/systemd/network/10-eth0.network
添加以下内容(根据实际网络参数修改IP、网关和DNS):
[Match]
Name=eth0[Network]
DHCP=no
# 主网关(假设主网关为192.168.1.1,否则根据实际情况修改)
Gateway=192.168.1.1
# DNS服务器(根据实际网络填写)
DNS=192.168.1.1 8.8.8.8# 定义3个IP地址及子网
[Address]
Address=192.168.1.238/24[Address]
Address=172.17.10.238/16[Address]
Address=172.16.2.238/24
3.启用并重启服务
sudo systemctl enable systemd-networkd
sudo systemctl restart systemd-networkd
sudo reboot
4.验证配置
ip addr show eth0
输出应包含以下内容:
inet 192.168.1.238/24 scope global eth0
inet 172.17.10.238/16 scope global eth0
inet 172.16.2.238/24 scope global eth0
5.
检查路由表
ip route show
确认默认网关和子网路由是否正确:
default via 192.168.1.1 dev eth0 # 主网关生效
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.10.238
172.16.2.0/24 dev eth0 proto kernel scope link src 172.16.2.238
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.238
6. 禁用冲突的网络服务(慎用 会导致网络停止)
sudo systemctl stop dhcpcd # 停止 dhcpcd
sudo systemctl disable dhcpcd # 禁用 dhcpcd 自启动
sudo systemctl stop NetworkManager # 停止 NetworkManager(如有安装)
sudo systemctl disable NetworkManager # 禁用 NetworkManager
sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
7.如何撤销第6步的操作?
sudo systemctl enable --now dhcpcd
sudo systemctl enable --now NetworkManager