Linux ping不通外网,可以ping通内网和8.8.8.8,大佬赶紧来救场!!!

Linux ping不通外网,可以ping通内网和8.8.8.8,大佬赶紧来救场!!!

问题描述:

这是配置信息:
图片说明
可以ping内网和8.8.8.8
图片说明
ping外网的时候卡在ping这里不动了只能Ctrl c 终止
图片说明
宿主机网络没问题,用的是桥接模式,桥接设置的也没问题

可能原因是DNS没配置好

方法一:修改vi /etc/resolv.conf

       增加如下内容:

nameserver 114.114.114.114 (电信的DNS)

nameserver 8.8.8.8(googel的DNS)

就可以实现ping通外网了

方法二:

ip a 或者 ifconfig 查看使用的网卡然后进入/etc/sysconfig/network-scripts找到对应的网卡进行修改

vi /etc/sysconfig/network-scripts/ifcfg-ethx

DEVICE=ethx
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.101
NETMASK=255.255.255.0
DNS1=114.114.114.114
重启网卡 service network restart

方法三:

如果添加了DNS还是无法ping外网,那就要查看路由中的网关设置 netstat -rn

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.129.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

这就表示网关没有设置,添加路由网关

route add default gw 192.168.129.2(我的路由网关是这个)

再次查看netstat -rn

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.129.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

0.0.0.0 192.168.129.2 0.0.0.0 UG 0 0 0 eth0

添加成功,但是这种方法不是永久的,重启服务器或者重启网卡后悔失效。

静态路由加到/etc/sysconfig/static-routes 文件中就行了,没有这个文件就新建一个

如 route add default gw 192.168.129.2

则文件中加入

any net default gw 192.168.129.2

保存退出,重启网卡验证

编辑 /etc/network/interfaces,添加 gateway 192.168.2.1记得重启网卡

看一下网关和子网掩码

检查一下其他同网段的机器是否存在这个问题
如果都ping不通 可能是对方加了IP白名单 或者是windows防火墙
如果其他机器可以ping通,检查一下自己到外网服务器的通信都否有问题
看一下 公司对外出口的IP限制

你使用了DHCP模式(?) 宿主机是否是DHCP呢

搞了一天终于搞通了,原因是dhcp自动设置ip的时候把我的ip设置成了10.4.18.* 而我的默认网关是10.4.16.1把ip地址改成10.4.16.*就可以了,但是奇怪的是我宿主机的ip也是10.4.18.*网关也是10.4.16.1就可以正常上网,可能是我们学校的nat协议配置的问题吧!好奇怪!也有被防火墙拦截的感觉因为一开始我ping我的宿主机也是ping的时候不动,后来把宿主机的防火墙关了之后才可以ping通!我猜是虚拟机的数据包少了什么信息,所以被学校的防火墙拦截了。。。

route add default gw 192.168.2.1 这个IP是你的网关。
试试这条命令
还不行的话
编辑 /etc/network/interfaces
添加 gateway 192.168.2.1记得重启网卡
reboot也可以