1. 程式人生 > >在CentOS中配置靜態ip,並連線外網

在CentOS中配置靜態ip,並連線外網

由於最近在搞大資料,因為涉及到Linux叢集配置,所以需要將每臺主機配置一個固定的ip,也就是靜態ip。但由於缺少運維知識,導致叢集內部可以通訊,但不可連線外網。環境如下:

       試驗中我在vmware中安裝CentOS6.7搭建了一個叢集,叢集中有3個節點,

hadoop01 :192.168.33.71

hadoop02 :192.168.33.72

hadoop03 :192.168.33.73

虛擬機器採用的是NAT方式上網(當然其他方式也能上網,但慣例一般都是採用NAT,所以本文就只作NAT配置介紹了)。

我昨天遇到的問題是,hadoop01,hadoop02,hadoop03之間可以通訊,可以ping通,但是卻不能從外部網路源下載東西,也不能ping(ping 123.125.114.144也不通)。糾結痛苦了一晚上,這不是什麼牛逼的技術問題,但是一旦被卡住也挺操蛋的,有人勸我直接從別人那邊copy一份拿來直接用,別管它了,可我就是不甘心,結果經過我半個晚上的研究,終於搞明白了虛擬機器靜態ip連線外網的那些事兒。總結如下:

配置靜態網路只需要關注3個檔案:/etc/sysconfig/network-scripts/ifcfg-eth0 

/etc/sysconfig/network

/etc/resolv.conf

--------------------------------------------------------------1--幾個概念-----------------------------------------------------------------------

在講解這3個檔案之前首先介紹幾個概念,閘道器,DNS,網路號,宿主機IP:

閘道器:閘道器是內網與外網之間關口,你的叢集中的節點要想與外網通訊必須通過閘道器。以上述我的3個節點的配置的話,我的閘道器就是192.168.33.2。如下圖所示,如果你在虛擬機器的“編輯”--“虛擬機器網路編輯器”中配置如下,其中第二步的子網IP是可以由你指定的,此時我指定了192.168.33.0網段。此時第三步中便可看到VMware自動

為你分配的閘道器192.168.33.2


網路號上圖中的第二步中192.168.33.0便是網路號,這個網路號你是可以通過虛擬機器在這一步人為改變的,你也可以改成192.68.200.0或其他的網路號。

宿主機ip:此時,通過ip地址你可以會發現,有了網路號192.168.33.0,也有了閘道器192.168.33.2,那麼ip地址192.168.33.1去哪裡了?此時,你可以開啟你的網路連線,檢視一下vmware8的ip,如下圖:

上圖可以看到,當你在虛擬機器的“虛擬網路編輯器”中配置完你自己的網路號後,在宿主機(我的是win7)的vm8配置中ip會自動生成,當然還有子網掩碼,這兩個配置都是不需要你去幹預

的。

DNS在叢集中,如果 你想在客戶機中連線外部網路的域名的話,就需要用到DNS,確切來說它是一個解析器,用於將域名解析成實際ip地址,比如將baidu.com解析為

123.125.114.144。DNS地址一般與閘道器相同,在此我的DNS地址也是192.168.33.2.當然DNS除了可以寫在ifcfg-eth0中也可以寫在/etc/resolv.conf檔案中。

-----------------------------------------2----我的配置---------------------------------- 現將我的三個檔案配置詳情展示如下 : (1)/etc/sysconfig/network-scripts/ifcfg-eth0 檔案:

上圖中紅框部分為核心配置,在配置的時候 一定要搞清楚,閘道器和DNS1不要配錯! (2)如果ifcfg-eth0配置如上圖的話,/etc/sysconfig/network採取預設配置即可。 (3)/etc/resolv.conf 檔案配置如下: 就一行話:nameserver 192.168.33.2 這是DNS解析用的,也就是你的DNS1的Ip ------------------------3----重啟網路---------------------------------------- 當配置完上述3個檔案後執行命令 service network restart  ------------------------4--測試--------------------------------------------- ping baidu.com測試一下,發現,通了!