Ubuntu 22.04设置静态IP后无法访问互联网问题求助
嘿,针对你遇到的Ubuntu 22.04 Server设置静态IP后无法访问互联网的问题,我给你梳理几个排查方向,一步步来应该能解决:
先搞定Netplan的安装问题:你说执行
netplan apply或netplan try提示未安装,这有点奇怪,毕竟Ubuntu 22.04 Server默认是用Netplan管理网络的。先检查一下是不是真的没装,运行sudo apt list --installed | grep netplan,如果没查到相关包,就执行sudo apt update && sudo apt install netplan.io把它装上。检查静态IP配置的正确性:Netplan的配置文件在
/etc/netplan/目录下,一般是类似00-installer-config.yaml的文件。YAML格式对缩进要求很严格,一定要用空格(别用Tab),下面给你一个标准的静态IP配置模板,记得替换成你自己的网络参数:network: ethernets: enp0s3: # 这里换成你的网卡名称,可通过`ip addr`命令查看 addresses: [192.168.1.100/24] # 静态IP+子网掩码,要和路由器网段一致 gateway4: 192.168.1.1 # 路由器的网关IP,这个是上网的关键 nameservers: addresses: [8.8.8.8, 1.1.1.1] # 公共DNS服务器,没设这个大概率解析不了域名 version: 2校验并应用配置:写完配置文件后,先执行
sudo netplan generate校验语法,如果有错误会直接提示,修正后再执行sudo netplan apply生效。要是担心配置出问题导致断网,可以用sudo netplan try,它会在120秒内自动回滚,期间如果能正常操作就按回车确认生效。逐步排查网络连通性:
- 先ping网关:
ping 192.168.1.1(替换成你的网关IP),如果ping不通,说明静态IP和网关不在同一网段,或者网卡没正确绑定IP,得重新检查配置。 - 网关能ping通的话,再pingDNS服务器:
ping 8.8.8.8,如果ping不通,可能是网关限制了对外访问,或者DNS配置有误。 - DNS能ping通的话,再ping域名:
ping google.com,要是还是不行,可能是DNS解析的问题,可以临时手动设置DNS试试:echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf,之后再ping域名看能不能通。
- 先ping网关:
检查防火墙限制:有时候防火墙规则会阻止出站流量,运行
sudo ufw status查看防火墙状态,如果是开启的,可以临时关闭试试sudo ufw disable,要是能上网了,再调整防火墙规则允许出站流量即可。
备注:内容来源于stack exchange,提问作者Fledermaus-20

