tunnel
网络协议
tunnel,计算机网络使用tunnel协议,当一个网络协议传输协议)封装不同的有效载荷协议。通过使用tunnel1(例如)进行了一个不兼容的交付网络的有效载荷,或通过一个不受信任的网络提供一个安全的路径。
协议简介
tunnelOSI或TCP / IP分层协议模型如那些通常对比。传递协议通常(但不总是)在更高层次的模型相比,有效载荷的协议,或在同一水平。
要了解一个特定的协议栈网络工程师必须了解的有效载荷和传递协议集
通过网络层的一个例子,通用路由封装(GRE),在IP上运行的协议(IP协议号 47),往往是进行IP数据包,在使用公共互联网传递数据包RFC 1918私有地址IP地址。在这种情况下,交付和有效载荷协议是兼容的,但有效载荷与交付网络的地址是不相容的。
相反,一个IP有效载荷可能相信它看到一个数据链路层传递,当它内部进行的第2层隧道协议L2TP)“,这似乎作为协议的有效载荷数据链路层机制。L2TP协议,然而,实际运行过使用运输层的用户数据 报协议(UDP),通过IP。供货协议的IP地址,可以运行在任何数据链路协议IEEE 802.2与IEEE 802.3标准(即,基于标准的以太网)点的点对点协议PPP)的拨号调制解调器连接。
tunnel协议可以使用数据加密传输过不安全的公共网络(如Internet)的有效载荷协议,从而提供VPN功能。IPSec有一个终端到终端的运输方式,但也可以在隧道模式下操作,通过一个值得信赖的安全网关
tunnel绕过防火墙策略
用户还可以使用隧道通过“防火墙”偷渡,使用的协议,防火墙通常会阻止,但“包装”内部防火墙不会阻止例如,HTTP协议。如果防火墙策略并没有明确排除这一种“包装”,这一招可以发挥预期的防火墙政策得到解决。
另一种基于HTTP隧道的方法,使用HTTP CONNECT方法/命令。客户端发出的HTTP连接HTTP代理的命令。代理,然后以一个特定的服务器的TCP连接埠,该服务器之间的中继数据端口和客户端连接。因为这将创建一个安全漏洞,能够连接HTTP代理通常限制CONNECT方法的访问。代理只允许访问的具体授权服务器白名单
安全壳tunnel
安全shell(SSH)隧道由创建一个加密的隧道通过SSH协议连接。用户可以设置SSH隧道传输加密在网络上的流量通过加密通道。例如,Microsoft Windows机器可以使用服务器消息块(SMB)协议,非加密协议共享文件。如果一个人安装一个Microsoft Windows文件系统,通过互联网远程连接上,有人窥探,可以看到传输的文件。要安装Windows的文件系统安全,可以建立一个SSH隧道通过加密通道路由到远程文件服务器的所有SMB流量。虽然SMB协议本身不包含任何加密,加密的SSH通道,通过它传播提供安全。
建立一个SSH隧道,配置SSH客户端指定的本地端口转发到远程机器上的端口。一旦已建立SSH隧道,用户可以连接到指定的本地端口访问网络服务。本地端口不必有相同的端口号为远程端口。
SSH隧道提供了一种方法来绕过防火墙,禁止某些互联网服务-只要一个站点允许传出连接。例如,组织可能会禁止用户直接访问互联网网页(端口80),没有通过组织的代理筛选器(提供组织监测和控制哪些用户通过网络看到的一种手段)。但是,用户可能不希望有自己的网站流量监视或阻止由该组织的代理筛选器。如果用户可以连接到外部的SSH 服务器,他们可以自己本地机器上的一个特定的端口转发到端口80远程Web服务器上创建一个SSH隧道。访问远程Web服务器,用户将他们的浏览器指向到本地端口从http://localhost/。
一些SSH客户端支持动态端口转发,允许用户创建一个SOCKS 4/5代理。在这种情况下,用户可以配置自己的应用程序来使用他们的本地SOCKS代理服务器。这给人以上如前所述到一个单一的端口建立一个SSH隧道的灵活性。SOCKS可以释放用户只连接到一个预定义的远程端口和服务器的限制。如果应用程序不支持SOCKS,可以使用“socksifier”重定向到本地SOCKS代理服务器的应用。一些“socksifiers”支持SSH直接,从而避免需要一个SSH客户端
最新修订时间:2023-07-19 23:01
目录
概述
参考资料