Nps实现内网穿透,电脑免费变云服务器

2022-7-15|2022-12-11
tangly1024
tangly1024

一、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 内网穿透工具搭建教程 - 链滴
搭建KubeSphere+k8s环境NotionNext自定义属性名
  • Twikoo
  • Waline
  • Giscus
  • Cusdis