我今天想談論的並不是如何配置靜態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
我猜測是因為手工粘貼可能混入了一些特殊字符,所以導致配置文件讀取不正確。請大家相信我配置了很多次,遇到了各種問題,最終只配置了一個文件解決了。