在 CentOS 8 Stream 中,網卡配置已由 NetworkManager 管理,傳統的 ifcfg-eth0
文件仍然支持,但推薦使用 nmcli
或 nmtui
工具進行網絡配置和管理。以下是網卡配置及重啟的詳細步驟:
1. 查看當前網卡狀態
列出所有網卡
bash
復制
nmcli device
輸出示例:
plaintext
復制
DEVICE TYPE STATE CONNECTION enp0s3 ethernet connected Wired_connection_1 lo loopback unmanaged --
- DEVICE:網卡名稱(如
enp0s3
)。 - STATE:
connected
:網卡已連接。disconnected
:網卡未連接。
- CONNECTION:當前配置的連接名稱。
- DEVICE:網卡名稱(如
查看 IP 地址
bash
復制
ip addr
輸出示例:
plaintext
復制
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3valid_lft 86395sec preferred_lft 86395sec
2. 使用 nmcli
配置網卡
2.1 臨時配置 IP
設置臨時靜態 IP 地址
bash
復制
nmcli con mod "Wired_connection_1" ipv4.addresses 192.168.1.100/24 nmcli con mod "Wired_connection_1" ipv4.gateway 192.168.1.1 nmcli con mod "Wired_connection_1" ipv4.dns 8.8.8.8 nmcli con mod "Wired_connection_1" ipv4.method manual
ipv4.addresses
:設置靜態 IP 地址及子網掩碼。ipv4.gateway
:配置網關。ipv4.dns
:配置 DNS。
激活連接
bash
復制
nmcli con up "Wired_connection_1"
驗證
bash
復制
ip addr ping -c 4 8.8.8.8
2.2 持久化配置 IP
編輯連接配置
bash
復制
nmcli con edit "Wired_connection_1"
進入交互式編輯模式后:
- 設置靜態 IP 地址:
bash
復制
set ipv4.addresses 192.168.1.100/24 set ipv4.gateway 192.168.1.1 set ipv4.dns 8.8.8.8 set ipv4.method manual save quit
- 設置靜態 IP 地址:
重啟網卡
bash
復制
nmcli con down "Wired_connection_1" && nmcli con up "Wired_connection_1"
驗證配置
- 查看配置文件:
bash
復制
cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
- 驗證網絡是否正常:
bash
復制
ping -c 4 google.com
- 查看配置文件:
3. 使用 nmtui
配置網卡(圖形化工具)
啟動
nmtui
工具bash
復制
nmtui
配置網絡連接
- 選擇 Edit a connection。
- 選擇需要修改的連接(如
Wired_connection_1
),按 Enter。 - 修改以下參數:
- IP Address:靜態 IP 地址(如
192.168.1.100/24
)。 - Gateway:網關(如
192.168.1.1
)。 - DNS Server:DNS 地址(如
8.8.8.8
)。
- IP Address:靜態 IP 地址(如
- 保存并退出。
激活連接
- 在
nmtui
主界面選擇 Activate a connection。 - 選擇對應的連接,按 Enter 激活。
- 在
驗證網絡
bash
復制
ping -c 4 google.com
4. 手動修改配置文件
如果需要直接編輯配置文件,可使用以下方法。
4.1 編輯網卡配置文件
- 打開網卡配置文件:
bash
復制
sudo nano /etc/sysconfig/network-scripts/ifcfg-enp0s3
- 添加或修改以下內容(以靜態 IP 為例):
plaintext
復制
TYPE=Ethernet BOOTPROTO=none NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4
- 保存并退出。
4.2 重啟網絡服務
重啟網卡:
bash
復制
nmcli con down "Wired_connection_1" && nmcli con up "Wired_connection_1"
或直接重啟網絡服務:
bash
復制
sudo systemctl restart NetworkManager
驗證網絡狀態:
bash
復制
ip addr ping -c 4 google.com
5. 網卡重啟
5.1 重啟單個網卡
使用
nmcli
:bash
復制
nmcli con down "Wired_connection_1" nmcli con up "Wired_connection_1"
使用
ifdown
和ifup
(傳統方法):bash
復制
ifdown enp0s3 && ifup enp0s3
5.2 重啟所有網絡服務
- 使用
NetworkManager
:bash
復制
sudo systemctl restart NetworkManager
- 驗證服務狀態:
bash
復制
systemctl status NetworkManager
6. 常見問題及解決方案
6.1 網絡未連接(STATE: disconnected)
- 原因:配置文件錯誤或未激活連接。
- 解決方法:
- 使用
nmcli
激活網卡:bash
復制
nmcli con up "Wired_connection_1"
- 檢查配置文件是否正確。
- 使用
6.2 無法 ping 外網
- 原因:網關或 DNS 配置錯誤。
- 解決方法:
- 確認網關和 DNS 是否正確:
bash
復制
cat /etc/resolv.conf
- 修改 DNS:
bash
復制
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
- 確認網關和 DNS 是否正確:
7. 總結
操作 | 命令/工具 |
---|---|
查看網卡狀態 | nmcli device 或 ip addr |
臨時配置網卡 | 使用 nmcli 設置 IP、網關和 DNS |
持久化配置網卡 | 修改 /etc/sysconfig/network-scripts/ifcfg-<網卡名> |
圖形化工具配置 | 使用 nmtui |
重啟網絡服務 | systemctl restart NetworkManager 或 nmcli con up/down |
通過這些步驟,您可以方便地在 CentOS 8 Stream 中完成網卡配置和重啟操作,同時解決常見的網絡問題。