nps实现内网穿透,电脑免费变云服务器
nps实现内网穿透,电脑免费变云服务器
Last edited 2022-8-1
tags
CentOS
内网穿透
nps
type
Post
status
Published
slug
nps-centos-nat-traversal
date
Jul 15, 2022
summary
NPS 是一款轻量级、功能强大的内网穿透代理服务器。支持 tcp、udp 流量转发,支持内网 http 代理、内网 socks5 代理,同时支持 snappy 压缩、站点保护、加密传输、多路复用、header 修改等。支持 web 图形化管理,集成多用户模式。管理系统比 FRP 方便很多,更容易上手。
category
软件工具
icon
password

一、NPS 概述

NPS 是一款轻量级、功能强大的内网穿透代理服务器。支持 tcp、udp 流量转发,支持内网 http 代理、内网 socks5 代理,同时支持 snappy 压缩、站点保护、加密传输、多路复用、header 修改等。支持 web 图形化管理,集成多用户模式。管理系统比 FRP 方便很多,更容易上手。

二、配置要求

  1. 一台拥有公网 IP 的服务器
  1. 开放端口例如:(8080,8024,80,443)等可以不是这些端口,nps可以配置任意端口,实现与其它服务共存
  1. 安装 nps 软件包(源码安装、linux、darwin、windows)几种系统安装方法

三、相关文档

  1. NPS 配置文档:https://ehang-io.github.io/nps/#/
  1. NPS 安装包:https://github.com/ehang-io/nps/releases
  1. NPS 源码:https://github.com/ehang-io/nps

四、环境说明

演示环境的服务器端是Centos云服务器;客户端是本地的CentOS虚拟机。

五、演示安装

1.服务端

  • 使用 ftp 等工具上传 linux_amd64_server.tar.gz 到服务器指定目录
    • notion image
  • 安装nps
    • tar -zxvf linux_amd64_server.tar.gz # 解压 ./nps install # 将脚本安装复制到系统的bin目录: nps支持以下指令 ["start" "stop" "restart" "install" "uninstall"]
      此时 直接执行命令 nps 即可在控制台启动nps并实时查看日志。
  • 修改nps配置 (可选)
    • 由于我的服务器已经安装了nginx,所以会出现端口占用无法启动,解决方法:修改 /etc/nps/conf/nps.conf 文件中的端口配置:
    • vi /etc/nps/conf/nps.conf (不是修改 ./conf/nps.conf 配置)
      • 我将其中默认的80 和 443 改为了8010 8020 , 同时这个文件也可以修改面板后台的端口号和账号密码等
        notion image
  • 修改后重启面板
    • nps stop && nps start
    • 启动后访问面板 http://ip:8080/ 默认账号密码是admin/123
  • 登录面板分配客户端唯一验证秘钥
    • notion image

2. 客户端

  • 使用 ftp 等工具上传 linux_amd64_client.tar.gz 到服务器指定目录
    • notion image
  • 解压安装
    • tar -zxvf linux_amd64_client.tar.gz ./npc install
  • 链接服务端
    • 这里的ip是你的服务器地址,port则是nps服务端的brige_port 默认是8024
      npc -server=ip:port -vkey=[客户端唯一验证秘钥]
      notion image
    • 若要让服务后台运行,而非随着ssh关闭而停止,则执行以下指令(首位加了nohup .. &
      • nohup npc -server=ip:port -vkey=[客户端唯一验证秘钥] &

3. 配置转发的规则

  • 查看客户端状态
    • 此处可以看到一个客户端ID为2,连接状态为在线。
      notion image
  • 添加tcp转发
    • 如下配置表示将服务端的 123 端口 转发到 局域网内部 192.168.x.x的22端口。其他的UDP、SOCKS、HTTP也是类似的配置不再赘述。
      notion image

4. 测试连接

用SSH客户端 连接 [服务器IP]:[123端口] 即可实现访问 [内网服务器]:[22端口]
 

5. 开机自启动

2、npc自启动配置 (1)建立启动脚本编写--start.sh
#!/bin/bash cd /[path_to_nps] echo 'pwd'|sudo -S nohup ./npc >file.out 2>&1 &
可以将start.sh与npc服务放一起
(2)配置npc.service文件
[Unit] Description=npc After=network.target [Service] Type=forking ExecStart=/home/xxx/xxx/linux_amd64_client/start.sh Restart=always RestartSec=5 PrivateTmp=true [Install] WantedBy=multi-user.target
将npc.service放置到/lib/systemd/system中 (3)启动并测试
systemctl daemon-reload systemctl enable npc #设置开机启动 systemctl start npc #开启服务 systemctl status npc #查看状态
最后reboot测试,查看是否开机自启。

总结

NPS NPC , 的配置安装都很便捷,如果你有一台自己的VPC云服务器,可以尝试一下,将你的家庭本地电脑映射到外网服务器。
 

参考文章

NPS 内网穿透工具搭建教程 - 链滴
NPS 是一款轻量级、功能强大的内网穿透代理服务器。支持 tcp、udp 流量转发,支持内网 http 代理、内网 socks5 代理,同时支持 snappy 压缩、站点保护、加密传输、多路复用、header 修改等。支持 web 图形化管理,集成多用户模式。管理系统比 FRP 方便很多,更容易上手。 详细对比请参考上一篇文章 《 内网穿透工具比较 》 一台拥有公网 IP 的服务器 开放端口例如:(8080,8024,80,443)等 安装 nps 软件包(源码安装、linux、darwin、windows)几种系统安装方法 NPS 配置文档:https://ehang-io.github.io/nps/#/ NPS 安装包:https://github.com/ehang-io/nps/releases NPS 源码:https://github.com/ehang-io/nps 演示环境以 Linux 为例,如大家需要 window 或 Mac 系统演示安装,请留言,后期更新到本文档。 服务端环境,阿里云服务 CentOS7.3 客户端环境,16 年退休老电脑 Deepin20 安装包下载,Github 下载有时较慢,可通过下面百度云链接下载。 下载链接: https://pan.baidu.com/s/1mPQJv3XTEpaZA-xTvhSsGg 关注公众号【码农点九】回复 nps 获取下载密码 使用 ftp 等工具上传 linux_amd64_server.tar.gz 到服务器指定目录 输入服务器的 IP 地址加 8080 端口号,即可进入 NPS 的后台界面,默认用户名:admin 默认密码:123 使用 ftp 等工具上传 linux_amd64_client.tar.gz 到服务器指定目录 nohup ./npc -server=(ip:port) -vkey=(见演示中服务端后管界面中显示的密钥) 🎉 这里就是启动客户端需要的 vkey 值 🎉 1.进入域名后台解析一个域名到你的服务端的 IP 上 2.进入 NPS 后台绑定域名以及设置内网 IP 及端口号
NPS 内网穿透工具搭建教程 - 链滴
  • CentOS
  • 内网穿透
  • nps
  • 搭建KubeSphere+k8s环境(All-in-One 及 Mutl-Node两种模式)NotionNext自定义属性名
    • Waline
    • Giscus
    • Cusdis