目录
一.内网穿透的介绍
1.什么是内网穿透
2.内网穿透的技术原理
3.内网穿透的使用背景
远程工作:
物联网:
游戏:
跨区域协作:
二.实例展示
1.CentOS安装cpolar
token认证
向系统添加服务
编辑 启动cpolar服务
编辑 开放cplor端口号9200
创建TCP隧道
2. 随机地址公网远程连接
Windows连接centos
3.Xshell连接
编辑4. MobaXterm连接
6. 固定TCP地址
7. 使用固定公网TCP地址SSH远程
我是默,一个在CSDN分享笔记的博主。
在这里,我要推荐给大家我的专栏《Linux》。
无论你是编程小白,还是有一定基础的程序员,这个专栏都能满足你的需求。我会用最简单易懂的语言,带你走进代码的世界,让你从零开始,一步步成为编程大师。
让我们在代码的世界里畅游吧!
如果感觉还不错的话请记得给我点赞哦!
期待你的加入,一起学习,一起进步
内网穿透是一种技术,它允许用户在公共网络中访问其私有网络中的资源,而不需要暴露这些资源在公共网络中。私有网络通常包含许多资源,如文件、数据库、Web应用程序等,这些资源只能在该私有网络中访问。但是,有时需要从互联网上访问这些资源,这就需要使用内网穿透技术。
内网穿透的工作原理是将公共网络请求转发到本地网络中的目标主机或设备上。内网穿透技术通常包括以下步骤:
在本地网络中启动一个代理服务器,该服务器将公共网络请求转发到内部网络中的目标主机或设备上。
在目标主机或设备上安装一个客户端应用程序,该应用程序可以接收来自代理服务器的公共网络请求,并将响应发送回代理服务器。
在公共网络中启动一个连接,使得公共网络请求可以到达代理服务器。
内网穿透技术可以使用多种协议和技术实现,如TCP、UDP、HTTP、SSH、SSL等。内网穿透的最大优点是可以安全地在公共网络上访问私有网络资源,而不必将这些资源暴露在公共网络中。
然而,使用内网穿透也存在一些潜在的风险,例如可能会导致网络安全漏洞、配置问题和稳定性问题。因此,使用内网穿透技术时应格外小心,并采取必要的安全措施。
现在越来越多的人选择远程工作,但是他们需要访问公司内部的资源,如文件、数据库等。使用内网穿透技术,远程工作者可以在任何地方访问公司内部资源,提高了工作效率。
物联网设备通常连接到一个私有网络中,但是有时需要从互联网中访问它们。通过使用内网穿透技术,可以实现从互联网中访问物联网设备。
某些在线游戏需要在专用服务器上运行,这些服务器通常位于私有网络中。使用内网穿透技术,玩家可以从互联网中访问这些服务器,并参加在线游戏。
跨区域协作意味着不同地区的用户需要访问同一组资源,如文件、数据库等。通过使用内网穿透技术,这些用户可以在互联网上方便地访问这些资源!
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行
cpolar authtoken MjNkZmViMWQtYmVhYi00YWVlLWE0ZDMtM2I0YzE2YTFjZjlh
简单穿透测试,如有正常生成公网地址则为穿透成功,按ctrl+c退出
cpolar http 8080
sudo systemctl enable cpolar
sudo systemctl start cpolar.service
查看服务状态,,正常显示为active
则表示为启动成功在线状态
sudo systemctl status cpolar
首先查看允许通过的端口号
firewall-cmd --zone=public --list-ports
其次增加要通过的端口号
firewall-cmd --zone=public --add-port=9200/tcp --permanent
最后在更新状态即可
firewall-cmd --reload
cpolar安装成功后,默认会安装2条样例隧道,可自行编辑或者删减
在centOS系统本地安装cpolar内网穿透之后,在外部浏览器上访问centOS本地9200端口,访问方式:虚拟机ip+:9200
,打开cpolar web ui界面。
安装cpolar后,会默认生成一个ssh名称的隧道,如果有ssh,则可以直接跳到查看在线隧道列表,然后远程连接
如果没有,我们点击左侧仪表盘的隧道管理
——创建隧道
,由于ssh连接默认的是22端口,因此我们要来创建一条tcp隧道,指向22端口:
点击创建
创建好后打开在线隧道列表,查看随机公网tcp地址
在外我们可以通过这个公网地址来SSH远程连接Linux CentOS,以windows系统为例,我们使用在cmd窗口即可远程连接centOS
ssh -p 端口号 用户名@公网地址
ssh -p 10129 [email protected]
这里需要注意,由于我们的本地22端口到了公网被映射到了10129端口(您的公网端口可能不一样),所以,ssh命令需要加-p参数,后面加公网端口号
我们通过cpolar建立的临时TCP数据隧道,成功连接了位于局域网下的centos系统,,并能通过这条TCP连接隧道进行无差别操作。不过,此时的TCP数据隧道还是随机临时TCP隧道,每隔24小时端口号就会发生变化,更适合应用于系统调试、远程解决操作问题等环境。
如果想要让这条数据隧道长期稳定存在,我们还需要进一步的设置。首先要登录cpolar官网,点击左侧的预留
在预留界面中,找到保留的TCP地址
项目。在这个项目下,我们填入一些必要信息,如识别数据隧道的隧道名称、隧道使用区域等。
然后点击保留
地址保留成功后,cpolar会返回一个固定公网地址+固定公网端口号,这就是我们ssh连接到centos系统的固定地址,将其复制下来
接着我们回到cpolar web UI 管理界面,打开隧道列表
,找到之前创建的随机临时TCP隧道,进入编辑
页面
将我们在cpolar官网获得的隧道端口粘贴进预留的TCP地址
栏中,然后点击下方的更新
按钮
固定TCP端口
点击更新
然后再次查看在线隧道列表,发现ssh的隧道对应的公网地址变成了我们官网保留的固定地址
此时,我们就可以在其他设备和操作系统下,使用命令,稳定轻松的连接到Linux CentOS系统中,且不用再担心数据隧道端口号重置的问题。
打开cmd,执行ssh命令
ssh -p端口号 用户名@公网地址
这里需要注意,还是需要加-p参数,后面加公网端口号
同时使用xshell工具也可以连接。
综上,成功实现了在外公网环境下也可以SSH远程连接到公司/家里的Linux CentOS服务器,不需要公网IP,也不用设置路由器,简单通过cpolar内网穿透工具映射本地22端口,通过所生成的公网地址来进行SSH远程连接。