最近尝试使用 Debian Bookworm 操作系统将无线静态 IP (wlan0) 分配给我的 Raspberry pi。使用静态 IP 配置接口文件后,IP 显示为使用hostname -I
命令分配的。但 Pi 在无线网络上不可用,并且在尝试 ping 其他服务器或路由器时出现名称解析暂时失败的情况。
/etc/resolv.conf
也尝试在文件中添加名称服务器。得到同样的错误。使用 DHCP 分配的 IP 一切正常。静态 IP 出现问题的原因可能是什么?
答案1
我不确定您是否应该按照您的方式设置固定 IP 地址。在“书虫”版本中,RPi 供应商决定替换dhcpcd
为NetworkManager
.除非您在网络配置方面经验丰富,否则最好删除迄今为止所做的所有更改,并使用nmcli
(部分NetworkManager
)进行配置。
如果您从未使用过nmcli
,您应该做好准备;恕我直言,与 相比,它很沉重dhcpcd
。man nmcli
开始之前请先阅读。
让我们开始吧 - 你需要“姓名进行配置的接口。获取它们的一种方法是:
sudo nmcli -p connection show # using my system for this
======================================
NetworkManager connection profiles
======================================
NAME UUID TYPE DEVICE
----------------------------------------------------------------------------
Mesh01 b509f34f-8cec-4753-8024-62b59403303d wifi wlan0
lo d11f74e5-a19c-49a9-962f-402e2b88b7ae loopback lo
Wired connection 1 72c460ce-42c1-3585-9619-7ed3a8ee5a05 ethernet --
对于静态 IP,您需要指定三 (3) 项:1.)IP地址,2.)域名解析 &3.)网关。
在您的命令中使用“姓名”从上面的命令在您的系统上运行(即不要使用Mesh01
),并替换为适合您的网络的 IP 地址。另请注意,gateway
和dns
地址不一定是您网络上的相同 IP 地址:
sudo nmcli c mod "Mesh01" ipv4.addresses 192.168.1.201/24 ipv4.method manual
sudo nmcli con mod "Mesh01" ipv4.gateway 192.168.1.1
sudo nmcli con mod "Mesh01" ipv4.dns 192.168.1.1
并且不要忘记应用静态 IP 地址,您实际上是在对 DHCP 客户端守护进程说:“站起来——我已经拿到了”。因此,在关闭 DHCP 守护程序后,您应该准备好手动进行路由器/网关/DHCP 服务器配置。通常,这涉及对这些设备进行一些手动配置;例如,确保您分配的静态 IP 地址位于“DHCP 池”之外,等等。
接下来,重新启动您上面配置的界面:
sudo nmcli c down "Mesh01"
sudo nmcli c up "Mesh01"
那应该可以了。如果您仍然遇到问题,并且您并不真正需要固定 IP,我建议您让 DHCP 完成它的工作。您可以按如下方式恢复 RPi 中的 DHCP 功能:
sudo nmcli con modify "Mesh01" ipv4.method auto
sudo nmcli c down "Mesh01"
sudo nmcli c up "Mesh01"