自己做實驗搭建環(huán)境一般都用 VirtualBox 的虛擬主機來做的烫罩,安裝好一個系統(tǒng)亩冬,把基本初始化都做好,然后把它作為基礎(chǔ)鏡像书释,需要新的主機直接復(fù)制生成就可以使用了,也比較的方便赊窥。但是復(fù)制生成新的虛擬主機會有一個 MAC 地址的問題爆惧,即使在復(fù)制生成新的虛擬主機時選擇“重新初始化所有網(wǎng)卡的 MAC 地址”,實際上新生成的虛擬機中會有兩個網(wǎng)卡锨能,比如 eth0 和 eth1扯再,eth0 是原來主機的網(wǎng)卡芍耘,eth1 是新生成的網(wǎng)卡,顯然如果復(fù)制生成多個虛擬主機熄阻,那都有一個相同的 eth0 網(wǎng)卡斋竞,這肯定不行的,所以還要做些初始化秃殉,具體的步驟寫成一個腳本了坝初,見這個文章:虛擬主機復(fù)制后的網(wǎng)絡(luò)初始化設(shè)置
那個腳本可以刪除多余的網(wǎng)卡,可以手動設(shè)置新 IP钾军,設(shè)置主機名鳄袍,它自動去修改 ifcfg-eh0 文件里的參數(shù)。不過我忘記了 NETWORK 參數(shù)和 GATEWAY 參數(shù)也需要根據(jù)外部的局域網(wǎng)環(huán)境做修改吏恭,這次問題就是這么產(chǎn)生的拗小。
虛擬主機改好了 IP 地址(192.168.1.120),DNS 地址也正確(設(shè)置為路由器地址 192.168.1.1)樱哼,從虛擬主機也可以 ping 通 DNS 地址哀九,但ping 外網(wǎng)發(fā)現(xiàn)是不通的,執(zhí)行 ping baidu.com 顯示:
connect: Network is unreachable搅幅。后來發(fā)現(xiàn)是忘記了 ifcfg-eth0 文件里面的 NETWORK 參數(shù)和 GATEWAY 參數(shù)也需要修改阅束,復(fù)制過來的參數(shù)是 192.168.0.0 和 192.168.0.1,應(yīng)該改為192.168.1.0 和 192.168.1.1盏筐。當(dāng)然這個網(wǎng)段地址是根據(jù)你自己機器外接的局域網(wǎng)來改的围俘。
查找問題:
1砸讳,執(zhí)行 route -n 查看路由表琢融,發(fā)現(xiàn)沒有默認網(wǎng)關(guān):
[root@vm2 network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
2,檢查 ifcfg-eth0簿寂,發(fā)現(xiàn) GATEWAY 和 NETWORK 都不對漾抬,寫的是 192.168.0.1 和 192.168.0.0,改成 192.168.1.1 和 192.168.1.0 就好了常遂,重啟一下網(wǎng)絡(luò) service network restart
3纳令,再看下 route -n:
[root@vm2 network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
默認網(wǎng)關(guān)出來了。然后試了下可以 ping 通外網(wǎng)地址了克胳。