上一篇文章,我们提到了内网穿透工具frp,今天我们说一下另外一个内网穿透工具NPS,了解一下如何具体部署。
我们假设具体场景为:
1) 具有公网地址的服务器A,假定IP地址为 a.a.a.a
2)具有私网地址的内网主机B,假定IP地址为 b.b.b.b ,假设想把其ssh服务提供给外网访问
3)想访问b.b.b.b的ssh服务得主机C,假定IP地址为 c.c.c.c
第一步下载nps软件,并解压安装
服务器端A:
https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
内网客户端B:
https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
上述两个软件分别下载之后,解压到一个单独目录中,然后运行命令 ./nps install 即可实现软件安装。相关文件将被安装到 /etc/nps目录下。
第二步修改配置
服务器A: 修改/etc/nps/conf/nps.conf 文件,具体需要修改内容为:
http_proxy_port=未被占用的端口
https_proxy_port=未被占用的端口
web_port = WebUI管理端的端口号
web_username=用户名
web_password=密码
随后启动nps ,具体命令为: nps start
然后就可以通过 http://a.a.a.a:web_port 使用上述配置中的用户名和密码登录。
登录之后,可以进行具体的设置,例如:
客户端 – 新增 – 新增 添加一个新的客户端,可以自行选择是否加密和压缩,之后点击 隧道-新增 来增加一个映射。例如端口填写 18908, 目标(IP:端口) 填写 内网IP地址:端口号, 例如想映射内网主机B的22端口ssh服务,则添加b.b.b.b:22
随后返回 客户端列表,点击列表对应主机左侧的 +,即可得到一条如下所示的命令:
./npc -server=服务器IP:端口(默认8024) -vkey=自动生成的密钥 -type=tcp
复制该命令,然后在主机 B中运行上述命令,即可连接服务器A
两者之间成功建立隧道连接。
最后用主机C进行一下测试: ssh a.a.a.a -p 18908 即可顺利连接主机B 的ssh服务,实现ssh远程登录。
再查看一下服务器A的相关webUI截图如下,可以看到成功看到在线客户端为1