在公司刚接手几台服务器的时候,最头疼的就是每台都要手动设置IP、网关、DNS。点开网络设置,一行行填,一不小心输错个数字,后面排查能折腾半天。后来用了网络配置脚本命令,几分钟搞定一堆机器的网络,效率直接翻倍。
为什么需要脚本化配置网络?
手动操作适合临时调整,但一旦设备多了,或者要批量部署,重复劳动就显得特别低效。比如新开了一个办公室,十几台电脑要统一接入内网,每台都打开“网络和共享中心”去改配置,不如写个脚本一键执行来得痛快。
常见的网络配置命令有哪些?
在Windows系统里,netsh 是个很实用的工具,能帮你完成大部分网络设置任务。比如想给网卡设置静态IP,可以这样写:
netsh interface ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1
其中“以太网”是你的网络连接名称,后面的分别是IP地址、子网掩码和默认网关。如果还想设置DNS,继续加一条:
netsh interface ip set dns "以太网" static 8.8.8.8
这些命令保存成 .bat 文件,双击就能运行,新人来了也能照着做,不容易出错。
Linux 下更灵活的脚本方式
在Ubuntu或CentOS这类系统中,可以直接编辑网络接口配置文件,也可以用命令行配合脚本。比如用 ip 命令临时设置IP:
ip addr add 192.168.2.50/24 dev eth0
ip link set eth0 up
要是想永久生效,就得写进配置文件里。比如在 Ubuntu 20.04 以后的版本,使用 Netplan,配置文件长这样:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.2.50/24
gateway4: 192.168.2.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
保存之后执行 sudo netplan apply 就生效了。把这段写进初始化脚本里,装完系统自动跑一遍,省心不少。
实际应用场景举例
我们之前做过一次门店POS机部署,每台机器系统镜像一样,但网络环境不同。解决方案是写了个启动脚本,开机时读取本地配置文件,自动设置对应门店的IP段。只要插上网线,机器自己完成网络配置,连技术员都不用到场。
脚本内容大致如下(Windows版):
@echo off
if exist config.txt (
for /f "tokens=1,2,3,4" %%a in (config.txt) do (
netsh interface ip set address "以太网" static %%a %%b %%c
netsh interface ip set dns "以太网" static %%d
)
) else (
echo 配置文件缺失,请检查!
pause
)
每个门店的 config.txt 里写好自己的IP、掩码、网关和DNS,插上U盘复制过去就行。这种做法现在成了我们标准流程。
小贴士:别忘了权限和备份
运行网络配置脚本前,记得用管理员身份执行,否则可能修改失败。另外,改网络有风险,尤其是远程操作时,最好先备份当前配置。Windows下可以用:
netsh interface ip dump > backup.netsh
万一出问题,导入这个备份就能快速还原。
网络配置脚本命令不是高手专属,谁都会遇到重复设置的问题。花点时间写个小脚本,后面省下的都是实打实的时间。