Loading

CentOS 7 静态IP配置记录,执行sh脚本实现

CentOS 7 静态IP配置记录

一、配置目的

记录CentOS 7系统的静态IP地址配置过程,便于后续维护和复用。

二、网络配置详情

网络接口配置文件路径:/etc/sysconfig/network-scripts/ifcfg-ens33

完整配置内容

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e15775ac-5cea-4d2c-b5bb-61f9b2bc692a
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.6.193
GATEWAY=192.168.6.2
NETMASK=255.255.255.0
DNS1=119.29.29.29
DNS2=8.8.8.8

三、关键参数说明

参数 说明 取值
TYPE 网络类型 Ethernet(以太网)
BOOTPROTO 启动协议 static(静态IP)
NAME 接口名称 ens33
DEVICE 设备名称 ens33(需与NAME一致)
ONBOOT 开机启动 yes(启用)
IPADDR IP地址 192.168.6.193
NETMASK 子网掩码 255.255.255.0
GATEWAY 网关地址 192.168.6.2
DNS1 首选DNS 119.29.29.29(腾讯公共DNS)
DNS2 备用DNS 8.8.8.8(谷歌公共DNS)

四、配置脚本

用于自动配置上述IP信息的Shell脚本(change_ip.sh):

#!/bin/bash

# 检查是否以root用户运行
if [ "$(id -u)" -ne 0 ]; then
    echo "错误:此脚本需要以root用户权限运行。请使用sudo或切换到root用户。" >&2
    exit 1
fi

# 网络接口名称
INTERFACE="ens33"

# 配置文件路径
CONFIG_FILE="/etc/sysconfig/network-scripts/ifcfg-$INTERFACE"

# 备份原始配置文件
if [ -f "$CONFIG_FILE" ]; then
    cp "$CONFIG_FILE" "$CONFIG_FILE.bak"
    echo "已备份原始配置到 $CONFIG_FILE.bak"
else
    echo "错误:网络接口配置文件 $CONFIG_FILE 不存在。" >&2
    exit 1
fi

# 写入指定的网络配置
cat << EOF > "$CONFIG_FILE"
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e15775ac-5cea-4d2c-b5bb-61f9b2bc692a
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.6.193
GATEWAY=192.168.6.2
NETMASK=255.255.255.0
DNS1=119.29.29.29
DNS2=8.8.8.8
EOF

echo "已更新网络配置文件"

# 重启网络服务
if systemctl restart network; then
    echo "网络服务已重启,新的IP地址配置已生效。"
    echo "新的IP地址信息:"
    ip addr show $INTERFACE | grep "inet "
else
    echo "错误:重启网络服务失败,请检查配置并手动重启。" >&2
    exit 1
fi

exit 0

五、操作步骤

  1. 将上述脚本保存为 change_ip.sh
  2. 赋予执行权限:
    chmod +x change_ip.sh
    
  3. 以root权限执行:
    sudo ./change_ip.sh
    

六、验证方法

配置完成后,可通过以下命令验证IP是否生效:

# 查看指定接口的IP信息
ip addr show ens33 | grep "inet "

# 测试网络连通性(ping网关)
ping 192.168.6.2

# 测试DNS解析
nslookup baidu.com

七、备份与恢复

  • 脚本执行时会自动备份原始配置文件,备份文件路径为:/etc/sysconfig/network-scripts/ifcfg-ens33.bak
  • 若配置出错,可通过以下命令恢复:
    sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33.bak /etc/sysconfig/network-scripts/ifcfg-ens33
    sudo systemctl restart network
    

八、注意事项

  1. 执行脚本前请确认网络接口名称(ens33)与实际系统一致(可通过 ip addr 命令查看)
  2. 配置的IP地址需与网络环境中的网段匹配,避免IP冲突
  3. 若重启网络服务失败,可尝试重启系统:sudo reboot
posted @ 2025-07-23 23:18  夷某蓁  阅读(32)  评论(0)    收藏  举报