THISISCOOL 2017-12-09
我今天想谈论的并不是如何配置静态IP,这样的话题已经有好多高手再谈。
我想谈的是为什么,我按照他们的教程无论如何也要发生各种问题,没办法连接外网的问题。
先给大家看我的最终版配置方案:我只修改了一个文件,修改的部分已经红色标出。注:这个配置足够解决所有问题,不需要修改其他地方
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="a8f0def7-cd82-4e97-9615-fc4001fd2282" DEVICE="ens33" IPADDR=192.168.148.133 GATEWAY=192.168.148.2 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=8.8.4.4 ONBOOT="yes"
可是为社么如此简单的配置,我反复试了很多次,各个字段的意思我明明已经理解,可是依然会出各种问题。
比如操作系统 ping www.baidu.com的时候 报出 name or service not known
我试过很多种修改方法,大家一致认为是DNS没有配置好导致的。可是依然有很多朋友发现,虽然我按照各种教程配置了DNS,比如上图中添加DNS1,或者修改/etc/resolv.conf,结果依然是没有任何变化。其实配置网络这个事情属于小儿科的把戏,所以能配置成功的人未必是高手。所以大家都是在不停尝试,成功就是成功,不成功就是不成功。你运气差罢了
我想谈的一个结论就是。上面的红色配置已经足够配置IP并且ping桶www.baidu.com.不需要修改其他地方,其实很多人发现修改vi /etc/resolv.conf没有效果,网络重启后就被清空了。而上面配置文件中配置DNS1后会自动修改这个文件。
那么大家的原因在哪里的,我觉得很有可能是复制粘贴的问题。我给大家一个简单的步骤重新开始一遍所有过程。假设你刚装好虚拟机,本身自动分配ip(BOOTPROTO="DHCP")的时候是可以ping baidu.com。但是配置静态IP后却无法ping通baidu.com的情况的解决方法
1,确认配置之前是否可以ping baidu.com如果不可以,就重新安装吧,或者自己解决
2,vi /etc/sysconfig/network-scripts/ifcfg-*这个文件打开后,请不要复制粘贴别人的内容,请手工修改红色部分
3,service network start重启网络。ping baidu.com看是否能够成功
vi /etc/sysconfig/network-scripts/ifcfg-ens33
注释:参照我的配置文件只修改红色部分,所有的都可以一模一样。但是下面两项需要写自己指定的ip,不要和我一样。你本来ip是多少就写多少。
IPADDR确定好后。GATEWAY的最后一个改成2就好。
IPADDR=192.168.148.133 GATEWAY=192.168.148.2<br /><br /><br />我猜测是因为手工粘贴可能混入了一些特殊字符,所以导致配置文件读取不正确。请大家相信我配置了很多次,遇到了各种问题,最终只配置了一个文件解决了。<br />
From 192.168.25.133 icmp_seq=238 Destination Host Unreachable 虚拟机ping主机不通,但是主机可以ping通虚拟机,虚拟机ping不通外网