SSH 穿隧

1789阅读 0评论2010-01-13 jiangwen127
分类:

穿隧协议

维基百科,自由的百科全书

跳转到: ,

穿隧协议Tunneling Protocol)是用于描述当一个称作负载协议的是封装在另一种不同的传送协议中。使用隧道的原因包含在一不相容的传送网络上携带负载,或在不安全网络上提供一个安全路径。

穿隧则是对比于分层式的模型,如或。穿隧协议通常(但并非总是)在一个比负载协议还高的层级,或同一层。要了解协议堆栈,负载和传送协议都须了解。如果协议封装是借由传统的分层式协议如或所完成的,如在 V.92 调制解调器上的 PPP 上的 IP 上的 TCP 上的 HTTP ,并不被认为是穿隧。

是一种跑在 IP (IP 号码为 47)的协议,身为网络层上的网络层的例子,通常是用带有公开位址的 IP 封包来携带带有 私用位址的 IP 封包来穿越互联网。在此例上,传送和负载协议是相容的,但负载位址和传送网络是不相容的。

穿隧协议可能使用资料加密来传送不安全的负载协议。

SSH 穿隧

SSH 隧道是一种借由连线所建立的加密隧道。 SSH 隧道可以用来将流量导入隧道中,通过频道。

为了建立 SSH 隧道, SSH 客户端可以设定要转交一个特定本地埠号到远端机器上的埠号。一旦 SSH 隧道建立,使用者可以连到指定的本地埠号以存取网络服务。本地埠号不用与远地埠号一样。

SSH 隧道提供一个绕过防火墙从而连到某些被禁止的互联网服务的的方法。例如,一个组织可能会禁止使用者直接存取网页(埠号 80 )而没有通过组织的代理服务器过滤器,如此组织才能监视或控视使用者浏覧网页。使用者可能不希望让他们的网页流量被组织的代理服务器过滤器所监控或阻挡。 如果使用者能连到一个外部的 SSH 服务器,对他们而言是有可能建立 SSH 通道,将某个本地端埠号连到以传送到远端网页服务器的埠号 80 是有可能的。要连到远端网页服务器,使用者可以将他们的指到。

有些 SSH 客户端支持动态埠传送,允许使用者建立代理服务器。使用者可以设定他的应用程式去使用他们的区域 SOCKS 代理服务器。这比建立一个连到单一埠号的 SSH 隧道更有弹性。使用 SOCKS ,使用者可以不被限制只能连到事先定义的埠号和服务器。

[] 穿隧以规避防火墙政策

穿隧可用来溜过防火墙。一个被防火墙阻挡的协议可被包在另一个没被防火墙阻挡的协议里,如。如果防火墙并没有排除此种包装,这技巧可用来逃避防火墙政策。

另一种基于 HTTP 的穿隧方法使用的 CONNECT 方法。 客户端送出 HTTP 的 CONNECT 命令给代理服务器,代理服务器会建一个 TCP 连线到特定的 服务器:埠,并转送 服务器:埠 和客户端连线之间的资料。因为这会制告安全漏洞,容许 CONNECT 的 HTTP 代理服务器通常会限制 CONNECT 命令。通常只允许基于 TLS/SSL 的 HTTPS 服务。

摘自wiki


目前遇到如下问题:
有3个主机: A B C:
1. A可以ping通B
2. B可以ping通C
3. 但是不能从A直接ping通B(B是双网卡机器,不能ping通的原因很可能是路由的问题)
如果需要A和C直接通信,这个时候可以将B作为SSH的中间代理,在A和C之间建立tunnel。

上一篇:有向图强连通分量的Tarjan算法
下一篇:无向图双连通分量及其性质 pku2942