首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mosh隧道代理

mosh隧道代理
EN

Server Fault用户
提问于 2012-05-21 03:29:42
回答 2查看 11.2K关注 0票数 16

我越来越喜欢莫什,当我有不可靠的wifi链接时,我会越来越多地使用它。我想弄清楚的是,如何通过DMZ (连接到internet和防火墙网络)中的服务器构建隧道。

我使用ssh的当前解决方案是编辑.ssh/config,以包括如下行:

代码语言:javascript
复制
Host server-behind-firewall
  ProxyCommand ssh server-in-dmz nc %h %p

我还想出了如何使用ssh来完成一条腿和另一条腿:

代码语言:javascript
复制
ssh -t server-in-dmz mosh server-behind-firewall

在dmz中的服务器和服务器背后的防火墙之间,我使用屏幕安装了一个mosh会话。

但我真正想用的是从一端到另一端。我猜我得在dmz里安装服务器才能让服务器监听。但是mosh-server的手册页面说:“如果60秒内没有客户联系到它,它就会退出。”

简而言之,问题是:如何构建多个主机的mosh隧道?

EN

回答 2

Server Fault用户

发布于 2012-06-19 12:02:50

您可能需要尝试石材,这是一个TCP和UDP包中继器。这实质上意味着您可能具有以下配置:

你<->

换句话说,让dmz中的服务器监听端口X上的SSH数据包,以便转发到服务器后防火墙,以及另一个端口Y,用于将UDP数据包转发到服务器后面防火墙上的端口60000上。

您必须使用以下命令连接到mosh:

代码语言:javascript
复制
mosh -p 60000 --ssh='ssh -p PORT_X' server-in-dmz
票数 5
EN

Server Fault用户

发布于 2016-12-26 07:28:02

您也可以使用iptables (在dmz中的服务器上),而不是像@衡杰建议的那样在应用层转发流量:

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 11559 -j DNAT --to-destination 178.254.55.220:22
iptables -t nat -A PREROUTING -p udp -m udp --dport 60159:60168 -j DNAT --to-destination 178.254.55.220
iptables -t nat -A POSTROUTING -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1

然后,使用mosh -p 60159 --ssh='ssh -p 11559' server-in-dmz进行连接。

注意:

  • 似乎没有办法将mosh端口放入配置文件中。:(
  • 我随机挑选了港口。
  • 如果您执行此…,可能需要一些额外的iptables配置。
  • 编辑:更好的是DNAT一个完整的端口,因为很有可能你不带服务器就意外地杀死了mosh客户端。如果不转发范围,则必须将ssh发送到服务器并关闭正在运行的mosh服务器。如果你一开始就有一个坏的连接,可能会有点烦人。
  • 我的用例是通过碘的苔藓。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/390916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档