1 内网穿透是什么
内网穿透是一种技术,可以让公网上的计算机通过互联网连接到处于内网中的私有 IP 地址的计算机。在企业或个人网络中,通常会有一些计算机处于内网中,如数据库服务器、Web 服务器等,这些计算机具有私有IP地址(非公网地址),外部计算机无法直接访问。
使用内网穿透技术可以将公网计算机与内网计算机进行连接,以便在公网上访问内网计算机提供的服务。通过内网穿透技术,可以实现远程桌面、文件共享、数据库访问等功能。
内网穿透通常需要借助第三方服务或者软件来实现。使用内网穿透服务时,需要在公网上注册一个账户,并将需要访问的内网计算机与公网账户进行绑定。内网穿透服务提供商会为每个绑定的内网计算机分配一个公网地址和端口号,外部计算机可以使用该公网地址和端口号来访问内网计算机。
内网穿透服务通常会采用各种加密和安全措施,以确保数据传输的安全性和可靠性。但是在使用内网穿透时,需要注意安全问题,尤其是在将敏感数据传输到公网时需要加强安全保护。
2 解决方法
用nps做内网穿透
2.1 nps是什么
NPS(NetPass)是一款开源的内网穿透工具,用于实现将内网服务暴露给公网访问。NPS 提供了客户端和服务器端两部分,客户端安装在需要被访问的内网机器上,服务器端部署在公网服务器上。
2.2 nps实现原理
使用 NPS 进行内网穿透时,客户端和服务器端之间建立一个安全的通信隧道,通过该隧道可以将公网请求转发到内网机器上。这样,即使内网机器处于私有 IP 地址下,也能够被公网机器访问到。
2.3 使用nps做内网穿透注意事项
在使用 NPS 或其他内网穿透工具时,要确保网络安全并采取必要的防护措施,例如合理配置访问权限、加密传输数据等,以避免潜在的安全风险。
3 实现步骤
nps分服务端和客户端,服务端安装在公网服务器上,客户端安装在该公网服务器的内网机器上。服务端注册客户,客户端实现用户登录,之后建立一条隧道进行连接。
3.1 公网服务器安装nps
windows安装nps服务端:解压后运行nps,访问localhost:8080,初始账号密码:admin/123
- 添加客户端点击新增
2.编辑新增客户端页面如图,完成后点击新增
3.记录客户端启动命令
命令格式:用于客户端和服务端建立验证连接使用
客户端是Linux版本的 ./npc -server=公网IP:8024 -vkey=q18tmqmf9je1z5xo -type=tcp
客户端是Windows版本的 npc.exe install -server=公网IP:8024 -vkey=q18tmqmf9je1z5xo -type=tcp
3.2 内网服务器安装nps(内网处于本机虚拟机中)
3.2.1 Linux 系统版本客户端搭建
1.创建npc目录,软件我一般都安装在usr/local下面,注意现在是客户端(内网所在主机)
mkdir /usr/local/nps
2.将安装包上传至/usr/local/npc目录下
3.解压安装包
tar -zxvf linux_amd64_client.tar.gz
4.启动客户端
^C[root@linuxyxr nps]./npc -server=172.16.5.147:8024 -vkey=ls0nvb554j69b36v -type=tcp
2023/11/03 10:33:23.290 [I] [npc.go:231] the version of client is 0.26.10, the core version of client is 0.26.0
2023/11/03 10:33:23.295 [I] [client.go:72] Successful connection with server 172.16.5.147:8024
5.都显示【I】即代表连接成功,如果出现错误多半是因为启动客户端的命令出现错
3.3在nps服务端建立隧道进行ip转发
1.在windows服务端进行如下操作,点击隧道进行新增操作
2.进行端口映射
当处于一个局域网的其它人访问我主机ip+端口会映射到我的内网ip+端口,这样就完成了内网穿透