Linux 網卡 IP 配置分為臨時生效(命令行)、圖形工具、配置文件持久化三種方式。本文以 RHEL/CentOS 為例,詳細演示 ifconfig、nmtui/nmcli、/etc/sysconfig/network-scripts/ 三種模式,含 IPv6、DNS、主機名、驗證測試全流程。
# 設置 IP/掩碼
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
# 啟用/禁用接口
ifconfig eth0 up / down
# 添加別名 IP(虛擬接口)
ifconfig eth0:0 192.168.1.101 netmask 255.255.255.0
適用場景:臨時測試、救援模式、腳本快速切換。
nmtui
# 選 Edit a connection → 選擇 eth0 → 編輯 IPv4 CONFIGURATION
# Manual → Addresses/Gateway/DNS servers → OK → Activate
# 查看連接
nmcli con show
# 修改 IP 為靜態
nmcli con mod eth0 ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "223.5.5.5 223.6.6.6"
# 應用生效
nmcli con up eth0
/etc/sysconfig/network-scripts/ifcfg-eth0TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # static=靜態IP, dhcp=動態獲取, none=不配置
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no # 禁用 IPv6
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx # 唯一標識,勿手動改
DEVICE=eth0
ONBOOT=yes # 隨網絡服務啟動
HWADDR=00:0C:29:91:A7:26 # MAC 地址綁定(可選)
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=223.5.5.5
DNS2=223.6.6.6
USERCTL=no # 非 root 不可控制
PEERDNS=yes # 允許 DHCP 覆蓋 DNS(靜態 IP 建議 no)
/etc/sysconfig/networkNETWORKING=yes
HOSTNAME=web01.example.com
臨時修改主機名:hostname web01(重啟失效)。
/etc/resolv.confnameserver 223.5.5.5
nameserver 223.6.6.6
search example.com # 域名補全
注意:NetworkManager 托管時會自動覆蓋此文件,建議在 ifcfg-eth0 設 PEERDNS=no 並手動維護。
# 重啟網絡服務
systemctl restart network
# 或
nmcli networking off && nmcli networking on
# 驗證 IP
ip addr show eth0
# 或
ifconfig eth0
# 驗證連通性
ping -c 3 192.168.1.1
ping -c 3 223.5.5.5
# 驗證 DNS 解析
nslookup www.baidu.com
dig www.baidu.com
nmcli/nmtui 為主,/etc/sysconfig/network-scripts/ 兼容但不推薦新建。/etc/netplan/01-netcfg.yaml,應用 netplan apply。network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [223.5.5.5, 223.6.6.6]
GATEWAY,其他走具體路由 ip route add。NM_CONTROLLED=no 移交給 network-scripts,或全用 NM。IPV6INIT=no 或 Netplan dhcp6: no。HWADDR 需更新,否則接口不啟動。