我正在尝试通过我的服务器建立特定端口的隧道,但我不确定从哪里开始,也不知道 SSH 是否适合使用。
我目前的情况是这样的:
- 有一个媒体服务器位于http://example.com:3535(不是真实的域名)
- 对该域的访问在网络上被阻止。
- 我在伦敦有一个运行 OpenVPN 的 VPS,如果我连接到该 VPS,那么我可以访问以下位置的任何内容http://example.com
- 我不想向其他人开放我的 VPN,以便他们也可以访问 Monkeysplat.com - 谁知道人们在自己的时间都在做什么。我不想参与其中!
我可以使用必须将流量路由到的备用域名吗example.com通过我的 VPS?因此绕过网络阻止,因为它们似乎只是连接到我的 VPS。
如果是这样 - 怎么办?我的 VPS 正在运行 Ubuntu 14.04(如果有帮助的话)。
答案1
ssh -L 3535:example.com:3535 -p port [email protected]
(*) 将允许您通过本地主机上的端口 3535 连接到 example.com:3535。无需额外的域名,您只需使用其 IP 地址即可连接到您的 VPS。
(*) 没有真实域名
答案2
您既不需要 SSH(因为您已经拥有 VPN)也不需要 DNS:如果 VPN 端点知道您要与谁交谈,这会很有帮助......
你需要路由。如果 example.com 是 1.2.3.4 并且您的 VPN 对等地址是 192.168.42.1,那么您可以像这样更改路由表(可以集成到 OpebVPN 配置中):
ip route add 1.2.3.4/32 via 192.168.42.1
答案3
我确实在这篇文章的帮助下建立了一个隧道http://www.thegeekstuff.com/2013/11/reverse-ssh-tunnel
这是您坐在远程服务器端的朋友应该在服务器上运行的命令:
ssh -fN -R 7000:localhost:22 用户名@yourMachine-ipaddress
因此,从远程服务器到您的计算机的此 ssh 连接请求将确保您计算机上的端口 7000 的任何 ssh 连接请求都转发到远程服务器的端口 22。
现在,在端口 7000 处从您的计算机向您自己的计算机发出 ssh 连接请求:
ssh 用户名@localhost -p 7000