问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

nps代理搭建内网穿透服务,访问内网web网站和远程运维

创作时间:
作者:
@小白创作中心

nps代理搭建内网穿透服务,访问内网web网站和远程运维

引用
CSDN
1.
https://blog.csdn.net/QAZ600888/article/details/142181889

本文将介绍如何使用nps工具搭建内网穿透服务,实现通过公网IP访问内网Web服务和远程运维。文章详细介绍了nps服务端和客户端的搭建步骤,以及SSH代理和HTTP代理的具体配置方法。

使用场景

内网搭建了一个Web服务,想通过公网IP+端口号让外部人员访问。举例来说,如果内网127.0.0.1:80端口有一个Web服务,通过nps代理,可以在外网直接通过公网IP(或者域名)+端口号访问内网网站。

相对于VPN的优势

使用nps代理相对于VPN,客户端配置上可能略微比VPN麻烦,每个服务都需要一个端口号代理。但是,对于用户来说,需求仅仅是访问Web服务,可以不需要安装VPN直接在公网上面访问网站。

搭建步骤

搭建nps服务端

  1. 登录https://github.com/ehang-io/nps/tree/v0.26.10,按自己需求下载nps服务端和客户端,这里使用的Linux服务端和客户端。

  2. 将服务端压缩包放到公网服务器上,解压缩:

# 新建一个目录放压缩包
mkdir nps
cd nps
# 将压缩包移至nps目录
mv linux_amd64_server.tar.gz nps/
# 解压缩
tar -zxvf linux_amd64_server.tar.gz

  1. 安装nps服务端:
sudo ./nps install
  1. 启动nps服务端,使用nps start可能会启动不成功,这里直接放在前台运行,后面可以写一个开机自启动服务:
sudo ./nps

这里发现80端口已经被占用了,可以修改conf文件,让服务端监听另外的端口号,或者把80端口上的服务关掉,这里选择更换端口号:

vim /etc/nps/conf/nps.conf

重启服务端发现不报错了:

  1. 访问公网IP+8080端口,即可登录nps管理平台,用户名默认是admin,密码默认123,这个可以在/etc/nps/conf/nps.conf里面修改。如果没法通过8080端口访问nps管理平台,大概率是防火墙没有放行这个端口,这里用的是阿里云服务器,首先要在阿里云的安全组里面放行这个端口,然后还要在系统自带的防火墙里面放行这个端口,这里用的Ubuntu系统,使用的ufw防护墙:
ufw allow 8080/tcp
ufw allow 8080/udp
  1. 添加客户端

  2. 添加完成

客户端配置

  1. 将客户端压缩包放到客户端机器上:
mkdir nps-client
# 将客户端压缩包放到nps-client文件夹目录下
mv linux_amd64_client.tar.gz nps-client/
# 解压缩客户端压缩包
tar -zxvf linux_amd64_client.tar.gz
  1. 将刚才在服务端生成的命令粘贴到客户端执行:

# 加上nohup放到后台执行,服务器地址填自己服务器的公网地址
nohup ./npc -server=xx.xx.xx.xx:8024 -vkey=kf9vul1knx63brl6 -type=tcp &

成功会提示successful:

  1. 在服务端管理平台上面查看客户端状态,此时应该会提示在线

配置SSH代理

  1. 添加tcp隧道,增加内网端口映射,开启SSH代理

  2. 将内网IP地址192.168.2.111的22端口映射到公网的12000端口上面,这样就可以通过公网远程SSH连接到内网,注意公网服务器防火墙需要开放这个端口:

  1. 在公网服务器通过ssh远程连接内网机器,这里用户名填内网机器的用户名:
ssh 内网机器用户名@127.0.0.1 -p 12000

远程连接成功!

配置HTTP代理

  1. 添加TCP隧道,增加内网端口映射,添加http代理:

  1. 添加完三个状态应该都会显示正常

  2. 如果内网的web服务配置了nginx,需要在客户端的nginx里面加上公网IP,否则就会出现下图这种情况:

在nginx配置里面加上公网IP:

# 这里的路径修改为自己nginx配置文件的路径
vim /etc/nginx/conf.d/ems.conf

  1. 重启nginx:
nginx -s reload
  1. 在公网上访问内网网站,成功访问!

总结

使用nps代理相对于VPN,对于用户来说更加友好,只需要公网IP+端口号就可以访问内网服务,缺点是每个服务都需要一个代理端口,和VPN来说各有优劣。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号