服务器A只配置有内网IP,服务器B配置有内外网IP,但是与服务器A处在不同网段内且ping不通。现在有这么个需求,服务器B需要与服务器A的某个应用程序通讯,有下面几种办法:
1. iptables端口映射
2. SSH隧道
这两种方法不在这里介绍了。
3. 代理
在既可以与服务器A通讯又可以与服务器B通讯的服务器上配置一个tcp代理。把访问本机的2013端口的所有请求代理到10.1.27.20的2013上。下面是通过haproxy配置的一个例子:
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
defaults
mode http
log global
option dontlognull
option httpclose
#option httplog
option tcplog
#option forwardfor
option redispatch
timeout connect 10000 # default 10 second time out if a backend is not found
timeout client 300000
timeout server 300000
maxconn 60000
retries 3
frontend tcp-2013-front
bind *:2013
mode tcp
default_backend tcp-2013-back
tcp-2013-back
mode tcp
balance leastconn
server tcp-2013 10.1.27.20:2013
转自:http://www.ttlsa.com/linux/the-tcp-proxy-application/