Ubuntu 18.04无头设备仅能ping通外部IP,无法访问内部网络及部分站点求助
看起来你这情况有点闹心啊——原本好好的Pi-hole服务器,折腾了Home Assistant安装后网络直接乱套,现在虽然能通外部公共IP,但内部设备连不上,部分网站访问也卡壳。我来帮你一步步排查可能的问题:
先查路由表,这是内网不通的核心嫌疑
能ping通外网但摸不到内网设备,十有八九是路由规则出了岔子。先看看当前的路由配置:ip route show重点盯两个地方:一是有没有对应你内网网段的路由条目(比如你内网是192.168.1.x的话,应该有
192.168.1.0/24 dev 你的网卡名 proto kernel scope link src 你的设备IP);二是有没有指向路由器的默认路由(default via 路由器IP dev 你的网卡名)。如果内网网段的路由没了,手动补一条试试:sudo ip route add 192.168.1.0/24 dev eth0 # 把eth0换成你实际的网卡名,比如wlan0DNS配置可能是部分网站访问失败的原因
虽然能ping通8.8.8.8,但部分网站打不开,大概率是DNS解析拉胯了。先看看当前DNS设置:cat /etc/resolv.conf看看里面有没有靠谱的DNS服务器(比如路由器IP,或者8.8.8.8这类公共DNS)。如果之前Pi-hole的配置残留在这里,肯定会出问题。可以手动编辑这个文件修正:
sudo nano /etc/resolv.conf添加一行
nameserver 你的路由器IP或者nameserver 8.8.8.8,按Ctrl+O保存,Ctrl+X退出。另外Ubuntu 18.04常用systemd-resolved管理DNS,也可以用这个命令看状态:systemd-resolve --status如果发现异常,重启服务试试:
sudo systemctl restart systemd-resolved核对网卡IP配置,别让网段跑偏了
装Pi-hole的时候大概率设置过静态IP,后来恢复默认有没有搞混?先看网卡的IP信息:ip addr show确认你的设备IP和内网其他设备在同一个网段(比如都是192.168.1.x)。如果是DHCP动态获取的,重新触发一下:
sudo dhclient -r sudo dhclient 你的网卡名如果是静态IP,去
/etc/netplan/目录下找配置文件,检查子网掩码、网关、DNS是不是都正确,然后应用配置:sudo netplan apply防火墙可能悄悄拦了内网通信
折腾软件的时候说不定误改了防火墙规则,导致内部设备连不上。先看看ufw的状态:sudo ufw status如果是启用状态,先临时关掉试试能不能ping通内网设备:
sudo ufw disable如果关掉后正常了,那就是防火墙的锅,之后再调整规则允许内网网段的通信就行。
ARP缓存异常也可能背锅,清空试试
有时候ARP缓存里的旧信息会导致设备找不到内网主机,清空缓存再试试:sudo ip neigh flush all之后再ping内网设备,看看能不能正常解析对方的MAC地址。
备注:内容来源于stack exchange,提问作者DorkyP

