Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 網卡 IP 地址配置三大方式:ifconfig 臨時、setup 圖形、配置文件持久化

編輯:Linux 系統常見問題解答

Linux 網卡 IP 配置分為臨時生效(命令行)、圖形工具、配置文件持久化三種方式。本文以 RHEL/CentOS 為例,詳細演示 ifconfig、nmtui/nmcli、/etc/sysconfig/network-scripts/ 三種模式,含 IPv6、DNS、主機名、驗證測試全流程。

方式一:ifconfig 臨時配置(重啟失效)

# 設置 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/nmcli 圖形/命令行交互配置(NetworkManager,持久化)

nmtui 文本界面(推薦新手)

nmtui
# 選 Edit a connection → 選擇 eth0 → 編輯 IPv4 CONFIGURATION
# Manual → Addresses/Gateway/DNS servers → OK → Activate

nmcli 命令行(腳本自動化首選)

# 查看連接
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

方式三:配置文件持久化(傳統 network-scripts,RHEL 7/8 兼容)

1. 網卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=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)

2. 主機名配置:/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=web01.example.com

臨時修改主機名:hostname web01(重啟失效)。

3. DNS 配置:/etc/resolv.conf

nameserver 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

RHEL 8/9 / Ubuntu 20.04+ 新式配置

  • RHEL 8/9:核心仍用 NetworkManager,nmcli/nmtui 為主,/etc/sysconfig/network-scripts/ 兼容但不推薦新建。
  • Ubuntu 20.04+:Netplan (YAML) 配置,文件 /etc/netplan/01-netcfg.yaml,應用 netplan apply。

Netplan 示例(Ubuntu)

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]

避坑指南

  1. 雙網卡默認網關衝突:僅一張網卡配置 GATEWAY,其他走具體路由 ip route add。
  2. NM 托管衝突:NM_CONTROLLED=no 移交給 network-scripts,或全用 NM。
  3. IPv6 干擾:不使用 IPv6 明確設 IPV6INIT=no 或 Netplan dhcp6: no。
  4. MAC 地址變更:雲主機遷移/克隆後 HWADDR 需更新,否則接口不啟動。
Copyright © Windows教程網 All Rights Reserved