Linux 伺服器網路配置是運維基礎技能。本文詳細說明 CentOS 系統下修改 IP 位址、網關與 DNS 的兩種方式:臨時生效(重啟失效)與永久生效(寫入配置檔),並提供驗證方法。
# 關閉防火牆(選擇性)
systemctl stop firewalld
# 修改 eth0 IP 為 192.168.1.80/24
ifconfig eth0 192.168.1.80 netmask 255.255.255.0
# 或使用 ip 指令(現代語法)
ip addr add 192.168.1.80/24 dev eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0
關鍵參數說明:
DEVICE=eth0
BOOTPROTO=static # static 靜態 IP,dhcp 自動取得
IPADDR=192.168.1.80 # 目標 IP
NETMASK=255.255.255.0 # 子網遮罩
GATEWAY=192.168.1.1 # 預設網關(可寫這裡或 /etc/sysconfig/network)
DNS1=8.8.8.8 # 主 DNS
DNS2=8.8.4.4 # 備 DNS
ONBOOT=yes # 開機自動啟用
HWADDR=00:0C:29:xx:xx:xx # MAC 位址(勿隨意修改)
systemctl restart network
# 或
service network restart
route add default gw 192.168.1.1 dev eth0
# 或
ip route add default via 192.168.1.1 dev eth0
編輯 /etc/sysconfig/network:
NETWORKING=yes
HOSTNAME=centos-server
GATEWAY=192.168.1.1
或直接在 ifcfg-eth0 中設定 GATEWAY 參數(推薦)。
vi /etc/resolv.conf
內容範例:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 114.114.114.114
search localdomain
resolv.conf 可能被自動覆蓋,建議在 ifcfg-eth0 設定 DNS1/DNS2。
# 檢查 IP 設定
ip addr show eth0
ifconfig eth0
# 測試閘道連通
ping 192.168.1.1
# 測試外網連通
ping 8.8.8.8
# 測試 DNS 解析
ping www.google.com
nslookup www.google.com
ip link 或 ifconfig -a 確認實際介面名(如 ens33, ens192)。永久修改網路配置請務必編輯 /etc/sysconfig/network-scripts/ifcfg-ethX,並搭配 systemctl restart network 生效。生產環境建議先在測試機驗證,避免遠端操作導致連線中斷無法恢復。