Windows自带的端口转发netsh interface portproxy

本文介绍了一种通过netsh interface portproxy命令实现内网穿透的方法,使得位于内网中的服务器可以通过公网服务器被外界访问,而无需改变现有的网络架构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有一个需求,有某台内网服务器的程序,由于业务需求该服务器不能布置在公网上,且该业务只能运行于该服务器。(对,就是有那么奇葩的需求。)最开始想通过公网服务器安装路由解决,后发现太麻烦,无意中接触到netsh interface portproxy该命令,有如神助。

一. 问题描述

  1. A (内网:192.168.88.100)服务器连接在公网上
  2. B (内网:192.168.88.110)服务器位于内网中
  3. B服务器有一个使用9988端口的TCP程序需要被公网访问,但不能改变网络拓扑架构。

拓扑


二、问题解决

1. 新增端口转发:
首先打开命令提示符(cmd)
netsh interface portproxy add v4tov4 listenport=监听端口 connectaddress=转发到的地址 connectport=转发到的端口
例子: netsh interface portproxy add v4tov4 listenport=9988 connectaddress=192.168.88.110 connectport=9988

2. 查看转发了哪些端口
netsh interface portproxy show all

3. 删除转发规则
netsh interface portproxy delete v4tov4 listenaddress=192.168.88.110 listenport=9988


三、其它说明

1. 监听端口与转发到的端口可以不同。例如想暴露公网端口为19988,实际服务器端口为9988,那么可写成netsh interface portproxy add v4tov4 listenport=19988 connectaddress=192.168.88.110 connectport=9988

2. 能使用DMZ的情况还是推荐使用DMZ

3.使用netsh interface portproxy记得配置Windows和出口路由器防火墙规则

转载请注明出处:https://blog.csdn.net/hx7013/article/details/79786407

<think>好的,我需要回答用户关于在Windows 7上使用netsh命令实现端口映射和转发的教程。首先,我需要回忆一下netsh的相关知识,尤其是端口映射部分。 根据引用内容,用户提到的引用[1]、[3]、[4]、[5]都提到了在Windows下使用netsh进行端口映射。特别是引用[4]和[5]给出了具体的命令格式。例如,引用[4]提到使用`netsh interface portproxy add v4tov4`命令,并指定监听端口、连接地址和端口。引用[5]则补充了listenaddress参数,说明如果需要监听特定地址,可以添加该参数。 接下来需要确定Windows 7是否支持这些命令。根据我的知识,Windows 7中的netsh确实支持portproxy功能,但可能需要管理员权限。同时,用户可能需要启用IP Helper服务,因为该服务负责处理端口转发。 然后,我需要整理步骤。首先以管理员身份运行命令提示符,这是关键,否则命令可能无法执行。然后使用添加端口映射的命令,如`netsh interface portproxy add v4tov4 listenport=7777 connectaddress=192.168.1.100 connectport=80`。之后,用户可能需要查看已配置的规则,使用`netsh interface portproxy show all`。如果需要删除规则,可以用`delete`命令。此外,防火墙设置可能会阻止转发,因此需要确保防火墙允许该端口。 需要提醒用户注意的地方包括:管理员权限、IP Helper服务的状态、防火墙设置,以及IPv4和IPv6的区别(v4tov4、v4tov6等)。同时,端口映射和转发的区别可能需要简要说明,但用户主要问的是如何操作,所以重点放在步骤上。 最后,根据用户的要求生成相关问题。可能需要涉及查看现有规则、删除规则、防火墙配置以及服务启停等。</think>### 分步教程:Windows 7 使用 netsh 实现端口映射/转发 #### 1. 启用 IP Helper 服务 端口转发功能依赖系统服务**IP Helper**,需确保该服务已启动: - 按`Win+R`输入`services.msc` - 找到"IP Helper"服务 - 右键选择"属性",启动类型设为"自动",点击"启动"[^3] #### 2. 以管理员身份运行命令提示符 右键点击"命令提示符"选择"以管理员身份运行",否则会提示"拒绝访问" #### 3. 添加端口映射规则 基本命令格式: ``` netsh interface portproxy add v4tov4 listenaddress=本地IP listenport=监听端口 connectaddress=目标IP connectport=目标端口 ``` *示例1*:将本机所有IPv4地址的8080端口转发到192.168.1.100的80端口 ``` netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.1.100 connectport=80 ``` *示例2*:仅监听指定IP的端口 ``` netsh interface portproxy add v4tov4 listenaddress=10.0.0.2 listenport=3389 connectaddress=172.16.1.5 connectport=3389 ``` #### 4. 验证配置 查看所有映射规则: ``` netsh interface portproxy show all ``` 输出示例: ``` 侦听 ipv4: 连接到 ipv4: 地址 端口 地址 端口 --------------- ---------- --------------- ---------- * 8080 192.168.1.100 80 ``` #### 5. 防火墙设置 需在防火墙开放监听端口: ``` netsh advfirewall firewall add rule name="PortForward_8080" protocol=TCP dir=in localport=8080 action=allow ``` #### 6. 删除映射规则 删除所有规则: ``` netsh interface portproxy reset ``` 删除特定规则: ``` netsh interface portproxy delete v4tov4 listenport=8080 ``` ### 注意事项 1. 支持多种地址类型组合: - v4tov4(IPv4到IPv4) - v4tov6(IPv4到IPv6) - v6tov4(IPv6到IPv4) - v6tov6(IPv6到IPv6) 2. 持久化存储:配置会保存到注册表,重启后仍然有效 3. 网络要求:确保目标机器与本地机器网络可达
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值