這裡介紹 CentOS Linux 7 的網路設定檔的配置方法,讓新灌好的系統可以上網。
使用最小安裝(minimal install)來安裝 CentOS Linux 7 作業系統時,若在安裝時沒有設定網路,則裝好之後就必須手動設定網路才能上網,以下是設定的方法。
進入
/etc/sysconfig/network-scripts/
這個放置網路設定檔的目錄,並查看一下該目錄的檔案:
cd /etc/sysconfig/network-scripts/ ls
ifcfg-enp0s3 ifdown-ppp ifup-eth ifup-sit ifcfg-lo ifdown-routes ifup-ippp ifup-Team ifdown ifdown-sit ifup-ipv6 ifup-TeamPort ifdown-bnep ifdown-Team ifup-isdn ifup-tunnel ifdown-eth ifdown-TeamPort ifup-plip ifup-wireless ifdown-ippp ifdown-tunnel ifup-plusb init.ipv6-global ifdown-ipv6 ifup ifup-post network-functions ifdown-isdn ifup-aliases ifup-ppp network-functions-ipv6 ifdown-post ifup-bnep ifup-routes
在 CentOS Linux 中,網路卡設定檔的命名規則為 ifcfg-網路卡名稱
,以這個例子來說,enp0s3
這張網路卡的設定檔就是 ifcfg-enp0s3
,使用文字編輯器編輯這個檔案,預設的設定應該是自動使用 DHCP 取得 IP 位址,內容大約會像這樣:
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp 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=enp0s3 UUID=fc289d60-31ad-4d3c-a668-14d7445efa41 DEVICE=enp0s3 ONBOOT=no
若要改為靜態 IP 位址,可以將設定檔修改成這樣:
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=enp0s3 UUID=fc289d60-31ad-4d3c-a668-14d7445efa41 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.56.10 GATEWAY=102.168.56.1 NETWORK=192.168.56.0 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=9.9.9.9
以下是一些重要的欄位解釋:
BOOTPROTO
:IP 取得方式,static
代表靜態 IP 位址,dhcp
代表動態取得 IP 位址。ONBOOT
:設定為yes
代表開機自動啟動此網路介面。IPADDR
:IP 位址。GATEWAY
:預設閘道。NETWORK
:網路的位址。NETMASK
:網路遮罩。DNS1
:第一台 DNS 伺服器。DNS2
:第二台 DNS 伺服器。
編輯好 ifcfg-enp0s3
設定檔之後,可以使用 ifup
與 ifdown
指令來啟動與停用網路介面:
# 啟動網路介面 ifup enp0s3 # 停用網路介面 ifdown enp0s3
ifup
與 ifdown
所接的參數就是網路卡設定檔 ifcfg-
之後的名稱。
啟用網路卡之後,若想要查看網路卡的狀況,通常我們會使用 ifconfig
這個指令,而 CentOS 的最小安裝中並沒有包含這個指令,所以執行時會出現這樣的錯誤訊息:
ifconfig: command not found
若要使用,請先安裝 net-tools
這個套件:
sudo yum install net-tools
這樣就可以使用 ifconfig
指令了。