数码知识屋
霓虹主题四 · 更硬核的阅读氛围

用网络服务配置脚本轻松搞定服务器日常维护

发布时间:2026-01-15 11:50:18 阅读:271 次

为什么我们需要网络服务配置脚本

每次新服务器上线,你是不是都要手动设置IP、网关、DNS、防火墙规则?遇到批量部署时,复制粘贴命令都快把手指敲麻了。我上周帮同事处理三台新部署的CentOS服务器,光是配网络就花了两个多小时,还因为一处子网掩码写错导致内网不通。

其实这些重复性操作完全可以用网络服务配置脚本来自动化完成。特别是在数码知识屋这类需要频繁搭建测试环境的场景里,一个可靠的配置脚本能省下大量时间。

一个实用的Shell配置脚本示例

下面这个脚本适用于常见的Linux发行版,能自动配置静态IP、DNS和基本防火墙规则:

#!/bin/bash
# 网络配置参数
INTERFACE="eth0"
IP_ADDR="192.168.1.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS1="8.8.8.8"
DNS2="114.114.114.114"

# 写入网络接口配置
cat > /etc/sysconfig/network-scripts/ifcfg-$INTERFACE << EOF
DEVICE=$INTERFACE
BOOTPROTO=static
ONBOOT=yes
IPADDR=$IP_ADDR
NETMASK=$NETMASK
GATEWAY=$GATEWAY
DNS1=$DNS1
DNS2=$DNS2
EOF

# 重启网络服务
systemctl restart network

# 配置iptables基础规则
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP
service iptables save

如何安全地使用配置脚本

别急着在生产服务器上直接运行。先在虚拟机里试一遍,尤其是涉及网络重启的部分。我见过有人脚本里IP写错了,一执行整个服务器失联,只能跑去机房接显示器。

建议给脚本加上参数检查功能。比如判断输入的IP是否符合格式,网关是否在同一网段。还可以加个交互确认环节,执行关键操作前让用户按回车继续。

进阶用法:结合Ansible做批量部署

当你有几十台服务器要配,单靠本地脚本就不够用了。这时候可以把网络服务配置脚本封装成Ansible playbook。一套模板同步推送到所有节点,还能自动生成对应IP地址——比如根据主机名后缀自动分配192.168.1.x。

我们组现在维护二十多台测试机,全都靠一套统一的配置流程。新人入职第一天就能独立部署环境,就是因为背后有成熟的脚本支持。

别忘了备份原始配置

任何修改前先备份原来的网络配置文件。用脚本开头加一行:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /backup/ifcfg-eth0.bak
万一出问题,十五秒就能恢复如初。