11.1.2 Network interface names
網卡命名原則:
Ethernet 介面卡,開頭為
en
onboard 的網卡名稱為 eno1, eno2 … etc
可插拔(PCI 介面)的網卡名稱為 enp2s0無線網路卡,開頭為
wl
3G/4G 網路卡,開頭為
ww
虛擬機則一律為
eth0
,eth1
,eth2
… etc
11.2 Validating Network Configuration =====================================
1 | # 顯示 enp0s8 資訊 |
1 | # 列出所有資訊 |
11.3 Configuring Network with nmcli ===================================
在 RHEL 7 中提供了 nmcli(NetworkManager) 作為網路設定管理之用。
11.3.1 Network Manager
nmcli
命令是修改 /etc/sysconfig/network-scripts/ifcfg-*
中的內容,有兩個觀念必須弄清楚,分別是 device & **connection**:
device
:每一個網路卡(介面)都屬於一個 deviceconnection
:每一個 device 可以同時有多個 connection 設定(每次只有一種可以生效),可快速因應在不同場景所需要的網路設定變更
11.3.2 Viewing network information with nmcli
sudo systemctl status NetworkManager.service
:檢查 Network Manager 目前服務狀態nmcli connection show
:列出目前所有的 connectionnmcli connection show --active
:顯示出目前狀態為 active 的 connectionnmcli connection show "System eth0"
:顯示指定 connection 的詳細內容 (小寫的部分可以變更、大寫的部分無法變更)
1 | [student@server0 ~]$ nmcli connection show --active |
nmcli device status
:顯示目前 device 的狀態nmcli device show eth0
:顯示指定 device 的詳細狀態
11.3.3 Creating network connections with nmcli
sudo nmcli connection add con-name "my-connect-name" type ethernet ifname eth0
device: eth0
connection: my-connect-name
設定內容:DHCPsudo nmcli connection add con-name "static" ifname eth0 type ethernet autoconnect no ip4 172.25.40.11/24 gw4 172.25.40.254
device: eth0
connection: static
設定內容: 開機時不套用 | IPv4 | IP: 172.25.40.11/24 | Gateway: 172.25.40.254
但 connection add 無法增加 DNS 設定sudo nmcli connection up static
:套用 “staic” connection 設定sudo nmcli connection reload
:reload 所有的 connection(設定檔),不會套用到網路介面上(設定完建議 reload 以確保設定有被 Network Manager 抓到)
11.3.4 Modifying network interfaces with nmcli
sudo nmcli connection modify "static" ipv4.dns 8.8.8.8
:在指定的 connection 中設定 DNS(作完要重新 up connection 才會生效)sudo nmcli connection modify "static" +ipv4.dns 8.8.4.4
:在指定的 connection 中增加 DNS 設定sudo nmcli connection modify "static" connection.autoconnect on
:設定開機自動套用指定 connectionsudo nmcli connection delete "static"
:刪除指定的 connectionsudo nmcli connection down
:網路斷掉後,Network Manager 會嘗試找到另外一個 autoconnect=on 的 connection 並套用其設定sudo nmcli device disconnect eth0
:強制停用指定 device 的網路設定(不會自動套用設定)sudo nmcli net off
:停止所有的網路介面
11.4 Editing Network Configuration Files ========================================
直接修改 /etc/sysconfig/network-scripts/ifcfg-*
檔案中的內容,再使用 sudo nmcli connection reload
,就可以讓 Network Manager 取得新的設定。
11.5 Configuring Host Names and Name Resolution ===============================================
11.5.1 Changing the System host name
若 /etc/hostname
不存在,則系統在網卡被分配到 ip 後,就會進行一個 DNS 的反向查詢
hostname 可透過 hostnamectl
命令來設定
1 | $ hostname |
11.5.2 Configuring name resolution
若查詢簡短名稱,系統會自動戴上
/etc/resolv.conf
中的domain
orsearch
的值再查詢
使用 getent
& host
測試 DNS 設定:
1 | # getenv 主要以 IPv6 為主 |
另外,一般網路設定若使用 DHCP,會把原有的 DNS 設定覆蓋,若要避免此情況,可用 sudo nmcli connection "System eth0" ipv4.ignore-auto-dns yes
來避免這樣的狀況發生。
也可以用 nslookup 來測試 DNS,但需要額外加裝
bind-utils
套件