描述:现有内网 ServerA ,没有公网 IP 。有一客户端 ClientA ,在外网中。
目的:ClientA 能够通过 ssh 链接 ServerA 里边的任意一台机器。
问题:如何使得 ClientA 能够访问 ServerA ?
设想的方案:
昨天借用搜索引擎查了下,有如下解决方案:
不知道上边的方案是否可行..如果可行的话,有没有稍微具体一点的细节?
我对计算机网络的知识欠缺的有点多,如果有能指教的,不胜感激
1
jacy 2017-03-06 12:44:46 +08:00
用一台 vps , ssh 反向隧道
|
2
DuckJK 2017-03-06 12:47:38 +08:00
serverA : ssh -R 8000:serverA:80 sshserver -CNfg
然后 clientA 访问 sshserver:8000 |
3
Lpl OP @jacy ClientA 有很多个,并且一般情况下是在局域网中。我想着是, Client 通过连接 VPN ,然后打通内网 ServerA 。我查了下,貌似反向隧道不能实现这种情况吧?
|
4
tookbra 2017-03-06 13:08:22 +08:00
ngork
|
5
tookbra 2017-03-06 13:08:52 +08:00
额,是 ngrok
|
6
xiaoz 2017-03-06 13:09:58 +08:00
ngrok 是比较好的,若不想折腾可以用花生壳内网版。
|
7
Lpl OP @DuckJK 没公网的情况下是没有 80 端口的吧..另外,想请问一下,我在 ServerA 的路由表配置下一跳的地址是 VPN Server ,然后 ClientA 链接 VPN Server ,那么 ClientA 的 ip 地址是不是就是 VPN 的局域网地址了?
|
10
chztv 2017-03-06 13:39:13 +08:00
ngrok 方案不错,花生壳内网版有流量及速度限制,这点钱自己租个 VPS ,日本 2.5 刀或者 5 刀的,速度基本上可以接受了。
当然阿里云是速度最好的方案。 |
11
benjaminliangcom 2017-03-06 13:39:26 +08:00 via Android
ngrok 感觉比花生壳好用
|
12
truecho 2017-03-06 13:42:58 +08:00 via iPhone
ngrok
|
13
acrisliu 2017-03-06 13:50:46 +08:00
|
14
ShylockGou 2017-03-06 14:07:48 +08:00
1.ssh -L
2.n2n |
15
anubu 2017-03-06 14:25:57 +08:00 2
最近也在找此类工具,收集了几个关键词楼主可以参考, ssh 、 n2n 、 frp 、 ngrok
基本上应该都需要一个公网节点来交换信息 比较关注是否夸平台、是否方便部署、是否支持 udp 打洞(即是否所有流量都要经过中心节点,当然这个更受网络环境影响) 似乎没有此类工具的详细讨论,自己玩的话,一个一个试试看了 |
18
JiaFeiX 2017-03-06 17:26:05 +08:00
natapp 搜索这个
|
19
hanqi7012 2017-03-06 17:26:24 +08:00 via Android
昨天看了 frp 感觉挺强力的唉
ngork 新版不是不开源了么? |
20
geeklian 2017-03-06 18:03:00 +08:00 via Android
买个 vps ,部署 openvpn
vps 做 vpn server server 和 vps 之间做 openvpn site to site... client 和 vps 之间就是普通的 vpn 连接。 client 和 server 各自所在内网的子网不一样,就 ok 啦。 client 可以访问 server 所在内网任何机器。 |
21
jininij 2017-03-06 18:22:26 +08:00 via Android
|
22
xmoiduts 2017-03-06 18:46:05 +08:00 via Android
ssh -NfR 好上手 可以套 ss 使用,但公网服务器必须承载全部流量且可能被认证。
|
23
flynaj 2017-03-08 10:22:14 +08:00 via Android
用 softether ,两边装桥架一下就行
|