2015年12月3日 星期四

用「文字列介面」命令修改「網路相關設定」

這幾天在一個電腦上安裝 Fedora 23,一時忘了在過程中順便設定網路,導致重開機以後不能上網。當然之後的步驟都不行操作了,當然也就沒有「MATE 桌面」((F22) 安裝只有『MATE 桌面』(無 GNOME 3) 的 Fedora 工作站)。覺得有必要先把這個補救步驟寫下來,免得下次又忘了先設定網路時,方便參考之用。

一、設定「網路位址」等相關資訊

當網路環境中沒有 DHCP 服務(:會自動設定網路環境)時,就要手動設定「網路位址」等相關資訊;不然是不能連上網路的。以下例子是假設網路環境為:
網路卡 編號:enp2s0(可用 ifconfig 或 ip link 查詢得之)
指定網路位址:192.168.10.15
網路遮罩:255.255.255.0(子網路通常是 C 級網路)
子網路位址:192.168.10.0(C 級「子網路」的網路位址)
預設網路閘道:192.168.10.10(子網路對外「閘道」的網路位址)
網域名稱服務:192.168.10.11(提供「域名服務」設備的網路位址)
網域名稱服務:8.8.8.8(這個「域名服務」比較不會當機)
通常,網路在安裝過程中未設定時,網路的預設設定為:DHCP;有時會預設網路卡關閉(:安裝時網路線未插妥),下表中將需要修改的設定列出,
原 設 定新 設 定說    明
BOOTPROTO=dhcpBOOTPROTO=none

IPADDR=192.168.10.13依所處的網路環境而定,
詢問網路管理人員,
以獲取設定相關訊息。

NETMASK=255.255.255.0

NETWORK=192.168.10.0

GATEWAY=192.168.10.10

DNS1=192.168.10.11

DNS2=8.8.8.8
IPV6INIT=yesIPV6INIT=no若沒用到 IPv6 就順便關閉。
ONBOOT=noONBOOT=yes若未設定為開啟,才需修改。
在「命令列介面」操作時,只能用 vi 或 vim 這類「文字介面」的編輯程式。記得在開啟「終端機」後,先切換為 root 身分再開始編輯 /etc/sysconfig/network-scripts/ifcfg-enp2s0 這個設定檔,
[root@Core-i7 ~]# vi  /etc/sysconfig/network-scripts/ifcfg-enp2s0
其中,檔案名稱 ifcfg-enp2s0 的 enp2s0 是網路卡編路,可用 ifconfig 或 ip link 查詢得之。
  如果,對 vi 或 vim 的操作不熟,底下提供文字形式的命令,直接在「終端機」下命令即可,
cd /etc/sysconfig/network-scripts/
sed -i /BOOTPROTO/s/dhcp/none/ ifcfg-enp2s0
sed -i /IPV6INIT/s/yes/no/              ifcfg-enp2s0
sed -i /ONBOOT/s/no/yes/             ifcfg-enp2s0
echo IPADDR=192.168.10.13     >> ifcfg-enp2s0
echo NETMASK=255.255.255.0 >> ifcfg-enp2s0
echo NETWORK=192.168.10.0  >> ifcfg-enp2s0
echo GATEWAY=192.168.10.10 >> ifcfg-enp2s0
echo DNS1=192.168.10.11         >> ifcfg-enp2s0
echo DNS2=8.8.8.8                   >> ifcfg-enp2s0
雖然,上面有設定「域名服務器」的位址,有些系統可能因為某些套件尚未安裝,「域名服務」不能正常反應,還要多些設定才行,
cd  /etc
sed  -i  /nameserver/d  resolv.conf
echo  "nameserver  192.168.10.11" >> resolv.conf
echo  "nameserver  8.8.8.8"           >> resolv.conf

二、重啟「網路卡」,更新設定值

做完上面的步驟後,新設定值還不能生效,要將「網路卡」重新啟動才可讓新設定生效。
[root@Core-i7 ~]# ifdown enp2s0 ; ifup enp2s0

已測試版本:

  • Fedora 23 Server (最小安裝)

參考資料:

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)