在Windows系统中配置端口映射
在Windows系统中配置端口映射(端口转发)可通过内置工具 netsh 实现,步骤如下:
一、启用IP Helper服务
- 按 Win + R,输入 services.msc 回车。
- 找到 IP Helper 服务,右键选择 属性。
- 将启动类型设为 自动,点击 启动 并应用。
二、使用Netsh命令设置端口映射
以管理员身份打开命令提示符:
- 搜索“cmd”,右键选择 以管理员身份运行。
添加端口转发规则:
bash
netsh interface portproxy add v4tov4 listenaddress=本地IP listenport=外部端口 connectaddress=目标IP connectport=目标端口
示例(将本机8080端口转发到192.168.1.100的80端口):
bash
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=192.168.1.100 connectport=80
listenaddress=0.0.0.0 表示监听所有网络接口。
查看现有规则:
bash
netsh interface portproxy show all
三、配置Windows防火墙
- 打开 控制面板 > 系统和安全 > Windows Defender 防火墙 > 高级设置。
- 右键 入站规则 > 新建规则。
- 选择 端口 > TCP,输入要放行的端口(如 8080)。
- 选择 允许连接,按需勾选网络类型(建议全选),最后命名规则。
四、配置路由器端口转发(外部访问需设置)
- 登录路由器管理页面(通常地址为 192.168.1.1 或 192.168.0.1)。
- 找到 端口转发 或 虚拟服务器 选项。
- 添加规则:外部端口(如 8080)映射到本地计算机的IP和端口(如 192.168.1.2:8080)。
五、验证端口映射
本地测试:
bash
telnet 本地IP 外部端口
- 若提示未安装Telnet,可通过 控制面板 > 程序 > 启用或关闭Windows功能 安装。
外部测试:
- 使用另一网络设备访问 公网IP:外部端口,确认能否连接到目标服务。
六、管理端口映射规则
删除规则:
bash
netsh interface portproxy delete v4tov4 listenaddress=IP listenport=端口
重置所有规则:
bash
netsh interface portproxy reset
注意事项
- 管理员权限:所有命令需在管理员权限下运行。
- 防火墙冲突:确保防火墙未拦截端口。
- IPv6配置:若需转发IPv6流量,使用 v4tov6 或 v6tov4 参数。
- 安全性:仅开放必要端口,避免暴露敏感服务。
通过以上步骤,可实现本地或跨网络的端口映射,适用于搭建服务器、远程访问等场景。