ping: sendto: Network is unreachable

本文详细阐述了解决Linux环境下,当本地板子能ping通路由IP但无法ping通外网IP的问题。通过查看路由表发现网关未设置,执行routeadddefaultgw命令后成功解决了网络问题,最终能够ping通外网。同时,提供了在网络信息不全时可能出现类似问题的解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章转载地址:http://blog.youkuaiyun.com/qingtingchen1987/article/details/7045068


在我的板子上ping路由上的IP的时候可以ping通,但是ping外网的IP的时候提示“ping: sendto: Network is unreachable”

后来使用route命令看了一下

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0           U          0      0        0      rausb0

发现网关(Gateway),是空着的没有设置,于是执行一下命令设置了网关:

# route add default gw 192.168.1.1
route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 rausb0
default         192.168.1.1     0.0.0.0         UG    0      0        0 rausb0

最后终于可以ping通外网了

# ping 119.75.217.56
PING 119.75.217.56 (119.75.217.56): 56 data bytes
64 bytes from 119.75.217.56: seq=0 ttl=52 time=38.349 ms
64 bytes from 119.75.217.56: seq=1 ttl=52 time=30.369 ms
64 bytes from 119.75.217.56: seq=2 ttl=52 time=30.541 ms
64 bytes from 119.75.217.56: seq=3 ttl=52 time=29.659 ms

64 bytes from 119.75.217.56: seq=4 ttl=52 time=29.786 ms


另外如果网络的其他信息没有设置好,也会出现这样的情况,可以参考如下设置(http://www.lslnet.com/linux/f/docs1/i57/big5378732.htm)

ifconfig lo 127.0.0.1
route add -net 127.0.0.0 netmask 255.255.255.0 lo
ifconfig eth0 192.168.10.0
route add -net 192.168.10.0 netmask 255.255.255.0

### 开发板网络不可达问题解决方案 当遇到 `SIOCADDRT: Network is unreachable` 或者 `ping: sendto: Network is unreachable` 的错误提示时,这通常是由于缺少默认网关配置或者是网络接口未正确初始化所引起的[^1]。 对于刚刷新完固件的开发板来说,如果设置了静态 IP 地址但是仍然无法访问外部网络,则可能是因为没有指定通往外界的路径即缺省路由。可以通过向系统添加一条指向路由器的默认路由来解决问题: ```bash route add default gw 192.168.1.1 eth0 ``` 这里假设网关地址为 `192.168.1.1` 并且使用的网络接口名为 `eth0`,实际环境中应当替换为具体的网关和接口名称[^2]。 另外一种情况是在使用 VMware 虚拟化环境下的 Ubuntu 主机与物理开发板之间的通信出现问题。此时可以尝试调整 VMware 中的虚拟网络设置以确保两者处于相同子网内,并重启 Ubuntu 上的网络服务使更改生效: #### 修改 VMware 网络配置 - 打开 VMware -> 编辑 -> 虚拟网络编辑器; - 配置适用于当前场景的适配器选项; #### 重载 Ubuntu 网络管理器 ```bash sudo service network-manager restart ``` 完成上述操作之后再次测试连通性应该能够得到改善[^3]。 值得注意的是,除了以上提到的原因之外,还有可能是 DNS 设置不正确导致域名解析失败进而表现为 "network is unreachable" 错误消息。因此建议也检查 `/etc/resolv.conf` 文件中的 nameserver 记录是否指向有效的公共DNS服务器如 Google 提供的服务 (8.8.8.8)[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值