Linux網路介面配置檔案ifcfg-eth0解析
在Windows上配置網路比較容易,有圖形化介面可操作。在Linux中往往是通過命令修改檔案的方式配置網路,因此不僅需要知道配置哪個檔案,還要知道檔案中每個配置引數的功能。在Redhat/Fedora等Linux中,網路配置檔案一般是/etc/sysconfig/network-scripts/ifcfg-eth0;而在SLES 10中卻是/etc/sysconfig/network/ifcfg-eth-id-xx:xx:xx:xx:xx:xx(後面是該網路介面的MAC地址);在SLES 11中是/etc/sysconfig/network/ifcfg-eth0。
在一個計算機系統中,可以有多個網路介面,分別對應多個網路介面配置檔案,在/etc/sysconfig/network-scripts/目錄下,依次編號的檔案是ifcfg-eth0,ifcfg-eth1,...,ifcfg-eth<X>。常用的是ifcfg-eth0,表示第一個網路介面配置檔案。
ifcfg-eth0示例:
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.0.1.27
NETMASK=255.255.255.0
GATEWAY=10.0.1.1
BROADCAST=10.10.1.255
HWADDR=00:0C:29:13:5D:74
PEERDNS=yes
DNS1=10.0.1.41
USERCTL=no
NM_CONTROLLED=no
IPV6INIT=yes
IPV6ADDR=FD55:faaf:e1ab:1B0D:10:14:24:106/64
1. 配置引數說明
注:這些引數值不區分大小寫,不區分單引號和雙引號,甚至可以不用引號。
TYPE:配置檔案介面型別。在/etc/sysconfig/network-scripts/目錄有多種網路配置檔案,有Ethernet 、IPsec等型別,網路介面型別為Ethernet。
DEVICE:網路介面名稱
BOOTPROTO:系統啟動地址協議
none:不使用啟動地址協議
bootp:BOOTP協議
dhcp:DHCP動態地址協議
static:靜態地址協議
ONBOOT:系統啟動時是否啟用
yes:系統啟動時啟用該網路介面
no:系統啟動時不啟用該網路介面
IPADDR:IP地址
NETMASK:子網掩碼
GATEWAY:閘道器地址
BROADCAST:廣播地址
HWADDR/MACADDR:MAC地址。只需設定其中一個,同時設定時不能相互衝突。
PEERDNS:是否指定DNS。如果使用DHCP協議,預設為yes。
yes:如果DNS設定,修改/etc/resolv.conf中的DNS
no:不修改/etc/resolv.conf中的DNS
DNS{1, 2}:DNS地址。當PEERDNS為yes時會被寫入/etc/resolv.conf中。
NM_CONTROLLED:是否由Network Manager控制該網路介面。修改儲存後立即生效,無需重啟。被其坑過幾次,建議一般設為no。
yes:由Network Manager控制
no:不由Network Manager控制
USERCTL:使用者許可權控制
yes:非root使用者允許控制該網路介面
no:非root使用者不執行控制該網路介面
IPV6INIT:是否執行IPv6
yes:支援IPv6
no:不支援IPv6
IPV6ADDR:IPv6地址/字首長度
2. 配置生效
修改網路配置,最簡單地是使用ifconfig命令,無需重啟,立即生效。關於ifconfig的知識在博文《Linux命令 — 設定或檢視網路配置命令ifconfig》中有詳細介紹。ifconfig配置的網路只是當前臨時有效,當計算機重啟之後就失效了。為了使網路配置永久有效,就需要在/etc/sysconfig/network-scripts/下修改網路介面配置檔案。但是,這些檔案修改後,並不能立即生效。有兩種方式使修改檔案的網路配置生效:
1) 執行service network restart命令,重啟網路服務(推薦)
2) 重啟計算機