# 嵌套隧道

# 什么是嵌套隧道

嵌套隧道是指某些情况下,需要依次穿越多个同种类型或不同类型的隧道,以访问目标服务的情况。例如:有些内网环境下需要先通过一个HTTPS代理访问外网,然后再通过一个SSH堡垒机访问目标服务。

# 使用turbo-tunnel建立嵌套隧道

在通常使用场景下,对于这种情况,需要先使用proxifier之类的软件让SSH客户端通过HTTPS代理访问SSH服务器,进去后再使用ssh命令进入目标机器,使用相对较为繁琐。

通过在turbo-tunnel命令行中使用-t/--tunnel参数配置多个隧道,形成嵌套隧道。隧道的嵌套顺序由-t/--tunnel参数的顺序决定。

$ turbo-tunnel -l http://127.0.0.1:8888/ -t http://web-proxy.internal.com:8080/ -t ssh://username:password@1.1.1.1/
1

该命令可以在本地创建一个HTTPS代理服务,通过该服务可以直接建立与堡垒机内部机器的网络连接。

对于嵌套层数越多的场景,使用turbo-tunnel的优势就越明显,因为所有的访问都会收敛到本地的HTTPS服务中。

turbo-tunnel支持任意层数的隧道嵌套,包括插件中提供的隧道。