我正在开发一个在某个端口(>1024)连接远程服务器S的应用程序A。出于安全原因,服务器S只允许连接特定机器i的一个白色侦听IP地址。在运行应用程序时,这是很好的,但使开发它成为一个痛苦的.下半身。有没有更简单的方法,而不建立一个成熟的VPN解决方案,让我可以在我的机器上运行一个程序,L,这将简单地建立和转发整个连接通过我到S?
简而言之,我想要实现的是,当我在本地运行这个程序时,它通过我连接到S,允许它通过白色的IP地址进行通信。
虽然听起来像个MITM,但事实并非如此。A(和主机L)不需要是不可知论者,除了目标机器S,我可以完全访问每台机器,所以更改主机文件、网络接口和设置ssh隧道都是可以的。
所有服务器都是Linux (Ubuntu ),我的本地机器是运行OSX的Mac。
发布于 2013-09-23 22:06:07
我们说的是几个港口?如果不是很多,而且它们不会改变,那么: 1.在您的机器(L)上配置您的应用程序(A),使其使用服务器I的IP/hostanme,而不是S. 2。在服务器I上设置HaProxy,代理L到S.
global
daemon
maxconn 256
defaults
mode tcp
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend serverI
bind *:Y
default_backend serverS
backend serverS
server s X.X.X.X:Y 否则,您可能可以在主机L和服务器I之间使用SSH隧道设置一些东西。然后使用iptables、DNAT/SNAT在i上使用服务器S和tun接口之间的路由流量,同时将应用程序指向您的笔记本电脑上的tun。
https://serverfault.com/questions/541124
复制相似问题