netsh interface portproxy的微软帮助文档地址:

https://technet.microsoft.com/zh-cn/library/cc776297(WS.10).aspx#BKMK_1

下面是一个简单的例子:

//显示所有 portproxy 参数,包括 v4tov4、v4tov6、v6tov4 和 v6tov6 的端口/地址对。
C:\>netsh interface portproxy show all
//因为没有配置过它,所以没有东西可以显示。 //添加配置: 本机监听10022端口,当有socket连接到10022端口时,本机就连接到192.168.2.53的22端口,本机的10022端口可以接受的连接地址为"*",使用的协议为tcp,当前仅支持传输控制协议 (TCP)。
C:\>netsh interface portproxy add v4tov4 listenport= connectaddress=192.168.2.53 connectport= listenaddress=* protocol=tcp
//添加完毕。 //显示所有。
C:\>netsh interface portproxy show all 侦听 ipv4: 连接到 ipv4: 地址 端口 地址 端口
--------------- ---------- --------------- ----------
* 192.168.2.53 //删除配置: 本机的监听端口为10022,10022端口接受的连接地址为"*",使用的协议为tcp,当前仅支持TCP协议。
C:\>netsh interface portproxy delete v4tov4 listenport= listenaddress=* protocol=tcp
//删除完毕。 //显示所有。
C:\>netsh interface portproxy show all
//因为所有的配置均已删除,所以没有东西可以显示。 //查看帮助信息。
C:\>netsh interface portproxy /?
//略。 //查看帮助信息。
C:\>netsh interface /?
//略。 //查看帮助信息。
C:\>netsh /?
//略。

-----haproxy主要用于负载,如果只是负载一个,那就成为端口映射了,但是毕竟是linux下面的程序。

-----windows下也有一个小工具:portforward.exe,图形界面容易操作,个人平常使用可以,但是也没有办法实现与程序交互。

经过在网上搜索,发现windows系统,包括xp  2003,2008等,netsh工具都自带portproxy功能。目前只支持tcp协议的端口转发,前提需要作为portproxy的主机需要安装IPV6,安装可以不启用IPV6。
A.配置方法
假定需要通过192.168.1.8的14941端口连接192.168.1.118的1494端口,则需要在192.168.1.8主机的命令行输入如下语句
---如果已经安装IPV6,该条语可以不需要
netsh  interface ipv6 install
---可不用指定本地监听地址,这样可以通过操作系统提供浮动地址来实现,如果操作系统开启了主机防火墙,需要放行TCP 14941的入站连接

netsh interface portproxy add v4tov4 listenaddress=192.168.1.8 listenport=14941
connectaddress=192.168.1.118  connectport=1494

netsh interface portproxy add v4tov4                           listenport=14941
connectaddress=192.168.1.118  connectport=1494

---取消上面配置的端口转发,可以用如下语句:

netsh interface portproxy delete v4tov4 listenaddress=192.168.1.8
 listenport=33891
---如果想查看已经配置了哪些端口转发,可以用如下语句:

netsh interface portproxy show  v4tov4

B.优点
可以随时根据需要添加或删除端口转发条目,并且重启操作系统仍能自动保存之前的配置并自动启用,不像HAproxy修改完配置文件还需重启HAproxy。
网上有的说xp配置端口转发不起作用,估计是没有安装IPV6的缘故,用xp测试,安装了IPV6后可以实现端口转发,并且不需要开启路由和远程访问服务。另外考虑到端口转发的冗余,可以多台主机都配置端口转发。

netsh interface portproxy的一个简单例子的更多相关文章

  1. window netsh interface portproxy 配置转发

    系统版本 windows server2016 datacenter 1.配置443.80端口转发到其他服务器的443.80上 netsh interface portproxy add v4tov4 ...

  2. 一个简单例子:贫血模型or领域模型

    转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...

  3. (转)Java中使用正则表达式的一个简单例子及常用正则分享

    转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...

  4. C语言多线程的一个简单例子

    多线程的一个简单例子: #include <stdio.h> #include <stdlib.h> #include <string.h> #include &l ...

  5. quartz---的一个简单例子

    quartz---的一个简单例子 首先建立一个maven项目.jar工程即可.(提示:我前面有如何建立一个maven工程的总结以及maven环境的配置.) 1.建立好后点击到app中运行,--> ...

  6. 用socket.io实现websocket的一个简单例子

    socket.io 是基于 webSocket 构建的跨浏览器的实时应用. 逛博客发现几个比较好的 一.用socket.io实现websocket的一个简单例子 http://biyeah.iteye ...

  7. 词法分析程序 LEX和VC6整合使用的一个简单例子

    词法分析的理论知识不少,包括了正规式.正规文法.它们之间的转换以及确定的有穷自动机和不确定的有穷自动机等等... 要自己写一个词法分析器也不会很难,只要给出了最简的有穷自动机,就能很方便实现了,用if ...

  8. spring集合类型的setter注入的一个简单例子

    在项目中我们有时候会为集合类型设定一些默认的值,使用spring后,我们可以通过配置文件的配置,用setter方式为对象的集合属性提供一些默认值,下面就是一个简单的例子. 首先我们创建了一个名为Col ...

  9. js 排列 组合 的一个简单例子

    最近工作项目需要用到js排列组合,于是就写了一个简单的demo. 前几天在网上找到一个写全排列A(n,n)的code感觉还可以,于是贴出来了, 排列的实现方式: 全排列主要用到的是递归和数组的插入 比 ...

随机推荐

  1. C# Note30: 软件加密机制以及如何防止反编译

    参考文章: C#软件license管理(简单软件注册机制) 软件加密技术和注册机制 .NET中的许可证机制--License 背景 .net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间 ...

  2. C# Note4:XML序列化和反序列化(含加密解密等)

    前言 在项目中,我们经常用到各种配置文件,比如xml文件.binary文件等等,这里主要根据实践经验介绍下xml文件的序列化和反序列化(毕竟最常用). 实践背景:我要做一个用户管理功能,用户账号信息存 ...

  3. MyBatis源码分析1 参数映射分析

    首先我们拿出之前的代码,在如图位置打上断点,开始调试 我们规定了一个mapper接口,而调用了mapper接口的getEmpByIdAndLastName,我们并没有实现这个接口,这是因为Mybati ...

  4. Hadoop2.0 Namenode HA实现方案

    Hadoop2.0 Namenode HA实现方案介绍及汇总 基于社区最新release的Hadoop2.2.0版本,调研了hadoop HA方面的内容.hadoop2.0主要的新特性(Hadoop2 ...

  5. python学习笔记(6)--条件分支语句

    if xxxx: coding if xxxx: coding else: coding if xxxx: coding elif xxx: coding …… else: coding 或者一种简洁 ...

  6. ps -aux返回超时的可能原因

    在我的环境上出现了 ps -aux返回超时的问题. 执行到 ……root 19342 0.0 0.0 0 0 ? S< Mar12 0:00 [kworker/34:1H] 这里,然后就卡住了. ...

  7. vscode实现vue.js项目的过程

    https://blog.csdn.net/weixin_37567150/article/details/81291433 https://blog.csdn.net/ywl570717586/ar ...

  8. Java多线程之通过标识关闭线程

    package org.study2.javabase.ThreadsDemo.status; /** * @Auther:GongXingRui * @Date:2018/9/19 * @Descr ...

  9. js函数使用prototype和不适用prototype的区别

    js中类定义函数时用prototype与不用的区别 原创 2017年06月05日 12:25:41 标签: 函数 / prototype / class   首先来看一个实例: function Li ...

  10. linux按时间查询日志

    在系统应用集中部署的时候,很多日志因为太多难以定位,获取某段时间的日志是对运维人员非常关键的事情. 一.sed查看某时间段到现在的系统日志: sed  -n  '/May 20 17/,$p'   / ...