windows操作系统自带的TCP端口转发

简介:

    因为工作中一个项目,总部与各个分部只有citrix服务器才能通讯,总部客户端想通过分部citrix访问分部内网资源。基本思路,通过程序修改获取的ICA文件中的IP地址和端口,将修改后的ICA文件返回给客户端,实现客户端通过连接本地citrix,自动跳转到另外一个网络的citrix。之前用的是haproxy,但是haproxy与程序交互不是很好,如果各个分部只有一台citrix服务器,事先静态写好还可以,但是一般分部会有多台citrix服务器,不能确定每次使用的是哪台citrix服务器,这样想通过程序动态添加映射条目就比较难以实现。

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

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

    经过在网上搜索,发现windows系统,包括xp  2003,2008等,都自带portproxy功能。目前只支持tcp协议的端口转发,前提需要作为portproxy的主机需要安装IPV6,安装可以不启用IPV6。

A.配置方法
假定需要通过192.168.1.8的14941端口连接192.168.1.118的1494端口,则需要在192.168.1.8主机的命令行输入如下语句
netsh  interface ipv6 install
netsh interface portproxy add v4tov4  listenaddress=192.168.1.8 listenport=14941 connectaddress=192.168.1.118  connectport=1494

---如果已经安装IPV6,第一条可以不需要
---如果操作系统开启了主机防火墙,需要放行TCP 14941的入站连接
---2008防火墙较以前版本有较大改动,可以参考如下链接:

http://pcedu.pconline.com.cn/soft/virus/safe/0710/1130476.html 

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

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 add v4tov4 listenport=14941 connectaddress=192.168.1.118  connectport=1494

程序实现动态添加的时候,可以telnet到每台都添加条目,也可以只与虚地址联系,每次都检查是否有对应的映射条目(根据ica文件中需要连接的citrix服务器的IP地址来检查),如果没有则命令行添加,添加时要确保本地端口不能被占用,并且还需要考虑防火墙,用netsh添加入站端口访问规则。

----需要citrix主机开启telnet服务,并设置访问控制,只允许特定主机连接。





本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/1135361,如需转载请自行联系原作者

相关文章
|
存储 弹性计算 运维
阿里云国际Windows操作系统迁移教程
阿里云国际Windows操作系统迁移教程
|
10月前
|
Ubuntu 虚拟化 Windows
无影云电脑选择哪个操作系统Windows server 2019还是Ubuntu?
在选择阿里云无影云电脑的操作系统时,Windows Server 2019 和 Ubuntu 各有优势。Windows适合依赖微软生态的企业级应用,提供图形化界面和高安全性;Ubuntu则轻量、经济,适合开源工具链和容器化部署。根据应用场景、资源占用、安全性、开发效率及成本考量,选择最适合的系统。条件允许下,可采用混合方案满足多样化需求。
|
Windows
windows查看端口占用情况
windows查看端口占用情况
837 9
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2362 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
此API用于检测指定TCP端口是否开放,支持POST/GET请求。需提供用户ID、KEY、目标主机,可选指定端口(默认80)和地区(默认国内)。返回状态码、信息提示、检测主机、端口及状态(开放或关闭)。示例中ID和KEY为公共测试用,建议使用个人ID和KEY以享受更高调用频率。
362 14
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
630 4
|
安全 搜索推荐 网络安全
Windows操作系统的演变与未来趋势####
本文将深入探讨Windows操作系统从诞生至今的发展历程,分析其关键版本的技术创新、市场影响及用户反馈。同时,结合当前科技趋势,预测Windows系统的未来发展方向,包括智能化、云集成、安全性提升等方面的可能性。 ####
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
该API用于检测目标主机指定TCP端口是否开放,适用于检测连通状态等场景。支持指定大陆、美国、香港等检测节点。请求地址为 `https://cn.apihz.cn/api/wangzhan/port.php`,支持POST和GET请求方式。请求参数包括 `id`、`key`、`type`、`host` 和 `port`。返回参数包含检测结果和状态码。示例请求:`https://cn.apihz.cn/api/wangzhan/port.php?id=88888888&key=88888888&type=1&host=49.234.56.78&port=80`。
421 3
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
2107 3
Windows操作系统部署安装Kerberos客户端
|
Unix Linux iOS开发
【换行符】Windows、Unix、Mac不同操作系统的回车符\r和换行符\n
【换行符】Windows、Unix、Mac不同操作系统的回车符\r和换行符\n

热门文章

最新文章

推荐镜像

更多