Linux下ifconfig不顯示ip地址問題總結
問題一:ifconfig之後只顯示lo,沒有看到eth0 ?
eth0設定不正確,導致無法正常啟動,修改eth0配置檔案就好
ubuntu 12.04的網路設定檔案是/etc/network/interfaces,開啟檔案,會看到
auto lo
iface lo inet loopback
這邊的設定是本地迴路。在後面加上
auto eth0
iface eth0 inet static
address 192.168.1.230 //(ip地址)
netmask 255.255.255.0 //(子網掩碼)
gateway 192.168.1.1 //(閘道器)
其中eth0就是電腦的網絡卡,如果電腦有多塊網絡卡,比如還會有eth1,都可以在這裡進行設定。iface eth0 inet 設定為dhcp是動態獲取IP,設定為static則用自定義的IP。這邊要自定義IP地址,所以選擇static選項。
eth0被關了
輸入命令列:ifconfig eth0 up #開啟eth0
問題二:ifconfig之後顯示eth0,但是沒有顯示“inet/地址/廣播/掩碼/ ”?
先用sudo dhclient eth0更新IP地址
然後執行sudo ifconfig eth0
3.reboot
問題三:重啟後,ping命令不能使用,因為dns還沒設定,編輯/etc/resolv.conf,加上dns伺服器地址。
設定好後,如果直接ping www.baidu.com會發現ping不通,因為dns還沒設定,編輯/etc/resolv.conf,加上dns伺服器地址。
nameserver 8.8.8.8
nameserver 8.8.4.4
這兩個是Google提供的免費DNS伺服器的IP地址
問題四:linux下網絡卡eth1如何修改為eth0
正常來說,Linux在識別網絡卡時第一張會是eth0,第二張才是eth1。有時候我們使用虛擬機器克隆技術後網絡卡的資訊就會改變,新克隆出來的虛擬主機網絡卡名字可能變為eth1.無論我們怎麼修改都無法改變,這就對我們使用N臺虛擬機器進行HA-heartbeat實驗時造成了困擾。
在這裡成這樣是因為複製系統的過程中複製的檔案已經有一個網絡卡在/etc/udev/rules.d/70-persistent-net.rules被識別成了eth0,而虛擬機器中的識別成了eth1。
解決方法:
1.編輯/etc/udev/rules.d/70-persistent-net.rules,找到與ifconfig -a得出的MAC相同的一行(NAME='eth1'這一行),把它改為"NAME=eth0 ",然後把上面一行(NAME='eth0')刪除掉。
vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:41:2b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
2.編輯/etc/sysconfig/network-scripts/ifcfg-eth0,把MAC改為正確的,把UUID刪掉。
3.編輯/etc/sysconf/network,把hostname也改一下。
4.重啟生效!reboot