CentOS中env網絡配置步驟(環境變量與網絡配置結合)
環境變量是存儲網絡設置(如IP地址、子網掩碼、網關等)的關鍵工具,可用于臨時或永久傳遞配置參數,方便網絡配置腳本的自動化執行。常見的網絡相關環境變量包括:IPADDR(IP地址)、NETMASK(子網掩碼)、GATEWAY(默認網關)、DNS1/DNS2(DNS服務器)、HOSTNAME(主機名)等。
通過export命令可在當前終端會話中臨時設置環境變量,關閉終端后失效。例如:
export IPADDR=192.168.1.100 # 設置IP地址
export NETMASK=255.255.255.0 # 設置子網掩碼
export GATEWAY=192.168.1.1 # 設置默認網關
export DNS1=8.8.8.8 # 設置首選DNS服務器
export DNS2=8.8.4.4 # 設置備用DNS服務器
以上變量僅對當前終端有效,可用于臨時測試或腳本中傳遞參數。
若需永久保存環境變量,需將其添加到系統或用戶配置文件中:
用戶級別(僅當前用戶有效)
編輯用戶家目錄下的.bashrc(或.bash_profile)文件:
vi ~/.bashrc
在文件末尾添加環境變量(每行一個):
export IPADDR=192.168.1.100
export NETMASK=255.255.255.0
export GATEWAY=192.168.1.1
export DNS1=8.8.8.8
export DNS2=8.8.4.4
保存后運行source ~/.bashrc使變量立即生效。
系統級別(所有用戶有效)
編輯系統級配置文件/etc/profile(或/etc/environment):
vi /etc/profile
在文件末尾添加相同的環境變量,保存后運行source /etc/profile生效。若修改/etc/environment,需重啟系統才能使變量生效。
可編寫Shell腳本,利用環境變量自動生成網絡接口配置文件(如ifcfg-ens33),實現網絡配置的自動化。示例如下:
#!/bin/bash
# 從環境變量中讀取網絡配置(若未設置,可使用默認值)
IPADDR=${IPADDR:-192.168.1.100} # 若未設置IPADDR,則使用默認值192.168.1.100
NETMASK=${NETMASK:-255.255.255.0}
GATEWAY=${GATEWAY:-192.168.1.1}
DNS1=${DNS1:-8.8.8.8}
DNS2=${DNS2:-8.8.4.4}
# 生成網絡接口配置文件
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$GATEWAY
DNS1=$DNS1
DNS2=$DNS2
EOF
# 重啟網絡服務使配置生效
systemctl restart network
echo "網絡配置已完成,接口ens33已啟用靜態IP。"
說明:
${變量名:-默認值}語法,若環境變量未設置,則使用默認值。export命令臨時設置,或修改用戶/系統配置文件永久設置)。sudo ./script.sh)。無論使用臨時還是永久環境變量,配置完成后需驗證網絡連通性:
ip addr show ens33 # 替換為你的網絡接口名稱(如eth0)
輸出中應包含設置的IPADDR。ping www.baidu.com # 測試外網連通性
ping 192.168.1.1 # 測試網關連通性
若能收到回復,說明配置成功。/etc/sysconfig/network-scripts/ifcfg-*文件應用配置。IPADDR、NETMASK、GATEWAY與所在網絡的虛擬網卡(如VMware的VMnet8)設置一致,避免IP沖突。nmcli命令(如nmcli connection modify)結合環境變量修改連接配置。