大家好,如果您还对隧道服务器不太了解,没有关系,今天就由本站为大家分享隧道服务器的知识,包括什么是VPN隧道的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

一、什么是VPN隧道

VPN隧道通常指在PSN骨干网的VPN节点间或VPN节点与用户节点间构建的传VPN数据的虚拟连接。隧道是构建VPN不能缺少的部分,来把VPN数据从一个VPN节点公开传到另一节点。

对于构建VPN来说,网络隧道(Tunnelling)技术是个关键技术。网络隧道技术指的是利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能。网络隧道技术涉及了三种网络协议,即网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议。

扩展资料

为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。此外,建立在 TCP/UDP之上的网络隧道技术近几年来也有了较快的发展,通过采用 TCP/UDP协议,避免了网络运营商的过滤,使得真正能够通过公网来建立加密隧道。

根据所用协议的不同,隧道分为多种类型,类型不一样的隧道的建立与管理也不尽相同。例如,GRE、MPLS TE等是借助隧道接口进行的,而LSP则不用借助隧道接口。

参考资料来源:百度百科-网络隧道

二、「Xshell」Xshell跳板机通过隧道连接远程服务器

小菜运维仅仅只是一位菜鸟运维

废话不多说,小菜运维最近又完成了一套外包项目开发,现在准备将项目部署到甲方购买的阿里云服务器上。因为甲方是集团型大企业,又有自己的运维团队,很多规章制度比较规范,部署的时候要求通过跳板机/堡垒机登录阿里云内网ECS。虽然说跳板机很有必要也应该这样做,但奈何愿意这样做的客户是少之又少,这次是撞上大客户啦!

小菜运维平时都是使用的Xshell、Xftp管理服务器,这次通过跳板机登录内网ECS时不断输入密码,还不能直连内网ECS上传文件,操作了几次小菜运维就忍不住要口吐芬芳了,终于决定用Xshell的隧道来彻底解决一下这个效率低下、重复体力劳动的问题了!

Xshell的隧道转发类型共有三种,这里我们不展开介绍各自的应用场景,大家可以自行了解,我们这里选用的是Dynamic,可以实现自动连接内网ECS,也可连接FTP,但是前提是必须先连接跳板机建立起隧道,然后再连接内网ECS

隧道类型:

Local(Outgoing)

Dynamic(SOCKS4/5)

Remote(Ining)

1.连接跳板机

1.1建立到跳板机的会话

Xshell选择新建会话,左侧连接,在常规栏依次填入会话名称、跳板机IP、跳板机端口,然后依次完成用户身份验证、登录脚本设置,这里需要强调的一点是,务必记得设置登录脚本以保证隧道的长连接,避免因隧道的断开而导致后续其他远程目标机器的连接失败,具体操作如下图:

1.2建立跳板机隧道

在上一步的对话框中,继续左侧隧道-添加,在弹出的转移规则对话框中完成规则设置,这里要强调的是源主机是指你当前建立隧道连接的本地机器,一般填入 localhost或 127.0.0.1即可,而目标主机则是指你要远程连接的远程服务器,具体配置信息如下图:

2.建立远程主机连接

2.1建立到远程主机的会话

Xshell选择新建会话,左侧连接,在常规栏依次填入会话名称、本机/本地IP、本机/本地监听端口,然后依次完成用户身份验证设置,这里需要强调的一点是,务必记得这里设置的连接主机 1.2中设置转移规则时填写的源主机,而不是远程服务器的IP,同样的,这里设置的端口号也是 1.2中设置转移规则时填写的侦听端口,但是用户身份验证需要填写远程服务器的用户信息。具体操作如下图:

3. SSH/SFTP到远程服务器

自动连接远程服务器的前提是先连接到跳板机/堡垒机,然后再连接到远程服务器。

在Xshell中双击已建好的到堡垒机的会话,待成功完成登录后,再双击已建好的到远程服务器的会话,这时我们可以看到Xshell自动实现了登录远程服务器操作,这时在Xshell已登录的远程服务器页面,顶部工具栏的新建文件传输按钮,Xshell将自动打开Xftp并自动登录远程服务器的Xftp文件管理页面;

1.连接跳板机

1.1建立到跳板机的会话

这里和 Local(Outgoing)方式的步骤完全相同,可参照之前步骤操作。

1.2建立跳板机隧道

这里和 Local(Outgoing)方式的区别在于转移规则的配置,具体配置信息如下图:

2.建立远程主机连接

2.1建立到远程主机的会话

这里和 Local(Outgoing)方式的区别在于主机和端口号的配置,这里的主机和端口号都是配置的远程服务器的,用户身份验证同样还是需要填写远程服务器的用户信息。具体操作如下图:

2.2建立到远程主机会话的代理

在上一步 2.1建立到远程主机的会话的对话框左侧,代理,然后浏览并添加代理服务器,这里我们代理服务器设置的就是本地机器,要注意的是这里代理服务器的监听端口必须和1.2中隧道转移规则设置的侦听端口保持一致,具体配置如下图:

隧道服务器 什么是VPN隧道

3. SSH/SFTP到远程服务器

这里和 Local(Outgoing)方式的步骤完全相同,可参照之前步骤操作。

基于隧道可以简化很多体力操作,感觉起来就好像堡垒机不存在一样,实际操作中推荐使用 Dynamic(SOCKS4/5)方式,因为Dynamic(SOCKS4/5)方式对于跳板机后有多台远程服务器需要连接的场景只需要配置一次隧道和代理,之后就可以添加到远程服务器的会话就可以了;而 Local(Outgoing)方式则需要为每一台远程服务器添加一个单独的隧道才可以。

如果按照以上步骤操作仍然不能正常访问,那么……建议你联系你的堡垒机管理员,可能是堡垒机帐号/凭据/权限等的设置没有给足你权限。

附-参考文档:

阿里云·堡垒机

阿里云·透明代理

三、LAC与LNS是什么服务器

LAC:location area code位置区码(移动通信系统中)。

LNS:表示L2TP网络服务器(L2TP Network Server)。

LAC是为寻呼而设置的一个区域,覆盖一片地理区域,初期一般按行政区域划分(一个县或一个区),现在很灵活了,按寻呼量划分。

LNS是PPP端系统上用于处理L2TP协议服务器端部分的设备。它作为L2TP隧道的另一侧端点,是LAC的对端设备,是被LAC进行隧道传输的PPP会话的逻辑终止端点。

扩展资料:

L2TP模型中,客户端、LAC、LNS的作用:

1、用户是需要登录私网的设备(如PC),是发起PPP协商的端设备。用户既是PPP二层链路的一端又是PPP会话的一端。

2、LAC(L2TP Aess Concentrator)是接受用户呼叫的一端,也是PPP二层链路的一端。NAS可以和用户可以合并为一个LAC端点,也可以单独作为LAC端点。在我司的3G拨号中,LAC为运营商提供的设备。

3、LNS(L2TP Network Server)端是接受PPP会话的一端,一般位于私网与公网边界。通过LNS,用户就可以登录到私网上,访问私网资源。L2TP隧道端点分别位于LAC和LNS两端。

参考资料:百度百科-L2TP

参考资料:百度百科-lns

四、f5 VPN报未能初始化本地隧道服务器的原因

网络连接失败,

初始化失败是一种常见的初始化错误。

App响应用户请求后,需要把请求转发到对应的业务服务器,因此初始化时必须首先和业务服务器建立网络连接,完成用户登录,授权认证等基础操作。如果在此过程中同业务服务器建立网络连接时失败,就会遇到初始化失败错误。

五、如何通过反向 SSH 隧道访问 NAT 后面的 Linux 服务器

除了SSH端口转发外,另一个办法就是SSH反向隧道。SSH反向隧道这个概念其实很简单。为此,你需要在限制*家用网络外面有另一个主机,即所谓的“中继主机”(relay host),你可以从所在地方通过SSH连接到该主机。你可以使用带公共IP的虚拟专用服务器(VPS)实例来建立中继主机。然后要做的就是建立一条持久*SSH隧道,从你家用网络的服务器通向公共中继主机。有了这条隧道,你就可以从中继主机“连回”到家用服务器(这就是为什么它叫“反向”隧道)。无论你人在什么地方,或者你家用网络中的NAT或防火墙限制多严格,只要你可以连接到中继主机,就可以连接到家用服务器。\x0d\x0a在Linux上建立SSH反向隧道\x0d\x0a不妨看看我们如何可以建立并使用一条SSH反向隧道。我们假设下列设置。我们将建立一条从家用服务器(homeserver)到中继服务器(relayserver)的SSH反向隧道,那样我们就可以从另一台名为clientputer的计算机,通过中继服务器以SSH的方式连接到家用服务器。中继服务器的公共IP是1.1.1.1。\x0d\x0a在家用服务器上,打开通向中继服务器的SSH连接,如下所示。\x0d\x0ahomeserver~$ ssh-fN-R 10022:localhost:22 \x0d\x0a这里的端口10022是你可以选择的任何随意的端口号。只要确保该端口没有被中继服务器上的其他程序所使用就行。\x0d\x0a“-R 10022:localhost:22”选项定义了反向隧道。它通过中继服务器的端口1022,将流量转发到家用服务器的端口22。\x0d\x0a若使用“-fN”选项,一旦你成功验证了身份、登录到SSH服务器,SSH就会径直进入后台。如果你不想在远程SSH服务器上执行任何命令,只想转发端口,就像在本文的示例中,这个选项很有用。\x0d\x0a运行上述命令后,你将回到家用服务器的命令提示符。\x0d\x0a登录进入到中继服务器,核实127.0.0.1:10022绑定到sshd。如果是这样,那意味着反向隧道已正确建立起来。\x0d\x0arelayserver~$ sudo stat-nap| grep 10022\x0d\x0atcp 0 0 127.0.0.1:10022 0.0.0.0:* LISTEN 8493/sshd\x0d\x0a现在可以从其他任何计算机(比如clientputer),登录进入到中继服务器。然后访问家用服务器,如下所示。\x0d\x0arelayserver~$ ssh-p 10022 homeserver_user@localhost\x0d\x0a需要注意的一个地方就是,你为localhost输入的SSH登录信息/密码应该适用于家用服务器,而不是适用于中继服务器,因为你是通过隧道的本地端点登录进入到家用服务器。所以别为中继服务器输入登录信息/密码。成功登录后,你就接入到了家用服务器。\x0d\x0a通过SSH反向隧道,连接到NAT后面的服务器\x0d\x0a虽然上述方法让你可以连接到NAT后面的家用服务器,但是你需要登录两次,先登录到中继服务器,然后登录到家用服务器。这是由于中继服务器上SSH隧道的端点绑定到回送(127.0.0.1)。\x0d\x0a但实际上,只要单次登录到中继服务器,就可以连接到NAT后面的家用服务器。为此,你需要让中继服务器上的sshd不仅可以从回送转发端口,还可以从外部主机转发端口。这可以通过在中继服务器上运行的sshd里面指定GatewayPorts选项来实现。\x0d\x0a打开中继服务器的/etc/ssh/sshd_conf,添加下面这一行。\x0d\x0arelayserver~$ vi/etc/ssh/sshd_conf\x0d\x0aGatewayPorts clientspecified\x0d\x0a重启sshd。\x0d\x0a基于Debian的系统:\x0d\x0arelayserver~$ sudo/etc/init.d/ssh restart\x0d\x0a基于红帽的系统:\x0d\x0arelayserver~$ sudo systemctl restart sshd\x0d\x0a现在不妨从家用服务器开始建立SSH反向隧道,如下所示。\x0d\x0ahomeserver~$ ssh-fN-R 1.1.1.1:10022:localhost:22 \x0d\x0a登录进入到中继服务器,用stat命令核实SSH反向隧道已成功建立起来。\x0d\x0arelayserver~$ sudo stat-nap| grep 10022\x0d\x0atcp 0 0 1.1.1.1:10022 0.0.0.0:* LISTEN 1538/sshd: dev\x0d\x0a不像之前的情况,隧道的端点现在是1.1.1.1:10022(中继服务器的公共IP),而不是127.0.0.1:10022。这意味着,可以从外部主机连接到隧道端点。\x0d\x0a现在可以从其他任何计算机(比如clientputer),输入下列命令,访问NAT后面的家用服务器。\x0d\x0aclientputer~$ ssh-p 10022 \x0d\x0a在上述命令中,虽然1.1.1.1是中继服务器的公共IP,但homeserver_user必须是与家用服务器关联的用户帐户。这是由于,你实际登录进入的主机是家用服务器,而不是中继服务器。后者只是将你的SSH流量中继转发到家用服务器而已。\x0d\x0a在Linux上建立持久*SSH反向隧道\x0d\x0a想必你已明白了如何建立一条SSH反向隧道,现在不妨让隧道具有“持久*”,那样隧道随时建立并运行起来(无论面对什么样的情况:暂时网络拥塞、SSH超时还是中继主机重启等)。毕竟,要是隧道没有始终建立起来,你也就无法可靠地连接到家用服务器。\x0d\x0a为了建立持久*隧道,我要使用一款名为autossh的工具。顾名思义,万一SSH会话由于任何原因而断开,这个程序让你可以自动重启SSH会话。所以,让SSH反向隧道保持持久连接很有用。\x0d\x0a第一步,不妨建立无需密码的SSH登录机制,从家用服务器登录到中继服务器。那样一来,autossh就能重启断开的SSH反向隧道,不需要用户干预。\x0d\x0a下一步,将autossh安装到发起隧道的家用服务器上。\x0d\x0a从家用服务器运行带下列变量的autossh,从而建立一条通向中继服务器的持久*SSH隧道。\x0d\x0ahomeserver~$ autossh-M 10900-fN-o"PubkeyAuthentication=yes"-o"StrictHostKeyChecking=false"-o"PasswordAuthentication=no"-o"ServerAliveInterval 60"-o"ServerAliveCountMax 3"-R 1.1.1.1:10022:localhost:22 \x0d\x0a“-M 10900”选项指定了中继服务器上的一个监控端口,将用来*测试数据,以监控SSH会话。该端口不应该被中继服务器上的任何程序所使用。\x0d\x0a“-fN”选项传递给ssh命令,让SSH隧道可以在后台运行。\x0d\x0a“-o XXXX”选项指令ssh执行下列操作:\x0d\x0a•使用密钥验证,而不是密码验证。\x0d\x0a•自动接受(未知的)SSH主机密钥。\x0d\x0a•每60秒就*持久连接(keep-alive)消息。\x0d\x0a•最多发送3个持久连接消息,而不接受任何响应。\x0d\x0a与SSH反向隧道有关的其余选项仍与之前一样。\x0d\x0a如果你希望SSH隧道一启动就自动建立起来,可以在/etc/rc.local中添加上述的autossh命令。