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也可以