家里用路由器搭了个小服务器,每次重启后都要手动设置端口映射,挺烦的。其实用个简单的批处理脚本就能自动完成,省时又省心。
为什么用批处理做端口映射
很多人觉得端口映射只能在路由器后台点来点去,其实只要你的设备支持命令行操作(比如Windows电脑当主机),就可以通过批处理脚本调用系统命令或第三方工具,自动配置转发规则。
比如你在电脑上运行了一个Web服务,默认监听8080端口,外网想访问就得把路由器的80端口转到这台电脑的8080。每次开机手动设太麻烦,写个脚本让它自己跑就行。
一个实用的批处理脚本示例
下面这个脚本会自动添加一条端口映射规则,使用Windows自带的netsh interface portproxy命令:
@echo off
:: 启用IPv4端口代理功能
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=8080 connectaddress=192.168.1.100
:: 显示当前所有映射规则
netsh interface portproxy show all
echo 端口映射已设置完成。
pause
保存成map_port.bat,右键“以管理员身份运行”就生效了。下次开机直接双击,不用再进一堆设置页面。
怎么删除映射规则
不想用了或者要改配置,可以写个清除脚本:
@echo off
:: 删除指定端口映射
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=0.0.0.0
echo 规则已删除。
pause
开机自动运行脚本的小技巧
把脚本放进“启动”文件夹,每次开机自动执行。按Win+R,输入shell:startup回车,把bat文件复制进去就行。
注意:第一次运行记得右键选择“以管理员身份运行”,否则会提示权限不足。如果不想每次都点,可以把脚本属性改成“始终以管理员身份运行”。
适用场景举例
你在家用笔记本跑了个下载工具,监听5000端口,想从公司手机连上去查看进度。写个批处理脚本设置好映射,再配合DDNS,出门也能随时访问。
这种脚本不光能做端口映射,还能顺带启动服务、检查网络状态,功能很灵活。关键是你不用装额外软件,Windows原生命令全搞定。