在 Ubuntu 和 CentOS 中配置靜態 IP 的方法有所不同,主要因為兩者使用的網絡管理工具不同。以下是詳細步驟:
Ubuntu(18.04 及更新版本,使用 netplan
)
1. 查看網卡名稱
ip a
記錄網卡名稱(如 ens33
、eth0
)。
2. 編輯 netplan 配置文件
sudo nano /etc/netplan/00-installer-config.yaml
(文件名可能不同,但位于 /etc/netplan/
下,格式為 .yaml
)
3. 配置靜態 IP
修改文件內容如下(示例):
network:version: 2renderer: networkd # 或 NetworkManager(桌面版)ethernets:ens33: # 你的網卡名稱dhcp4: noaddresses: [192.168.1.100/24] # IP/子網掩碼gateway4: 192.168.1.1 # 網關nameservers:addresses: [8.8.8.8, 1.1.1.1] # DNS
📌 注意:
gateway4
在較新版本中可能已棄用,改用routes
(如 Ubuntu 22.04+)。- 桌面版建議使用
renderer: NetworkManager
。
4. 應用配置
sudo netplan apply
CentOS 7(使用 ifcfg
文件)
1. 查看網卡名稱
ip a
記錄網卡名稱(如 ens33
、eth0
)。
2. 編輯網卡配置文件
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
修改內容如下:
DEVICE=ens33
BOOTPROTO=none # 靜態 IP
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0 # 或 PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=1.1.1.1
TYPE=Ethernet
3. 重啟網絡服務
sudo systemctl restart network
CentOS 8/Stream(使用 nmcli
或 ifcfg
)
方法 1:使用 nmcli
(推薦)
sudo nmcli con modify "ens33" \ipv4.method manual \ipv4.addresses "192.168.1.100/24" \ipv4.gateway "192.168.1.1" \ipv4.dns "8.8.8.8,1.1.1.1"
激活配置:
sudo nmcli con up "ens33"
方法 2:手動編輯 ifcfg
文件(同 CentOS 7)
配置文件路徑仍為 /etc/sysconfig/network-scripts/ifcfg-ens33
,但需安裝傳統網絡服務:
sudo dnf install network-scripts -y
驗證配置
ip a show ens33 # 檢查 IP
ping 8.8.8.8 # 測試網絡連通性
nslookup google.com # 測試 DNS
常見問題
1. 網絡服務重啟失敗
- Ubuntu:檢查
netplan
文件縮進(YAML 對格式敏感)。 - CentOS 7:確保
ONBOOT=yes
。 - CentOS 8+:如果使用
network-scripts
,需禁用NetworkManager
:sudo systemctl disable --now NetworkManager sudo systemctl enable --now network
2. 網關無法訪問
- 確認網關 IP 是否正確(如
ip route show
)。 - 檢查防火墻是否攔截:
sudo systemctl stop firewalld # 臨時關閉(CentOS) sudo ufw disable # Ubuntu
總結對比
系統 | 配置工具 | 配置文件路徑 | 生效命令 |
---|---|---|---|
Ubuntu | netplan | /etc/netplan/*.yaml | sudo netplan apply |
CentOS 7 | ifcfg | /etc/sysconfig/network-scripts/ifcfg-* | sudo systemctl restart network |
CentOS 8+ | nmcli 或 ifcfg | 同上(需安裝 network-scripts ) | sudo nmcli con up <名稱> |
💡 提示:
- 云服務器(如 AWS/Aliyun)可能需要額外配置云平臺網絡接口。
- 無線網卡配置需指定
wifis:
(Ubuntu)或TYPE=WiFi
(CentOS)。