同一个内网,只限B客户端(IP绑定限制)可以访问C服务器,A客户端怎样通过B客户端访问C服务器?如双开NAT的话,用什么办法?试过代理不行,VNP也不行
A->B->C,C->B->A
B如果是个双网卡,另一张网卡配置与A一个网段,在A上写个静态路由试试
1.代理方式,在B主机上开启一个代理服务器,A主机上开启一个代理客户端,A主机上的客户端以Sock5代理或HTTP代理的方式发送数据到A主机上的代理客户端,收数据同理
2. 网络配置方式,
如:
方式1是在B主机上配置路由表,A主机作为B主机下的一个子局域网的设备,方式2是用一台额外的路由作为子局域网的网关,而将B作为Wan口的网关
当然最方便的方式当然是代理的方式,如果你说你的代理不行,那应该是你的代理配置或是你的A客户端的问题
用ssh隧道可以吧,A连B然后通过B访问C
建dblink,物化视图之类。
B客户端用两块网卡。
代理可以实现这个功能
1.如楼上“Winloong ”的答案,可以用 ssh的隧道。
在A上: ssh -L81:C:80 B
这条命令是在 A上 通过ssh登录到 B,然后开了个隧道,隧道的一端在 A上绑定 81端口,隧道另一端出口在B上会转发到C的80端口。
访问的时候,在 A上访问本机 localhost的81端口, 在C上看到的ip地址就是B的地址
2.如果对B有控制权的话,也可以使用socat这个开源的端口转发工具。
在B上: socat tcp-listen:81 tcp:C:80 (udp可以用 socat udp-listen:81 udp:C:80)
这样这个程序在B上绑定了 81端口,收到数据直接转发到 C的 80口,在 C上看到的IP地址也是 B。
(当然这个命令只会允许你连接一次,如果需要多次连接,可以尝试 socat tcp-listen:81,fork,reuseaddr tcp:C:80)
socat 有很丰富的选项,还可以支持 串口、网口互转, socks5协议转发等很多功能
A远程桌面访问B,通过b访问c,试试
B先放开访问权限,A远程访问B,然后再登录服务器访问C