标签: 加速

  • nps内网穿透代理服务器

    nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理p2p等,并带有功能强大的web管理端。

    背景

     

    web

    1. 做微信公众号开发、小程序开发等—-> 域名代理模式

    2. 想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,—-> tcp代理模式

    3. 在非内网环境下使用内网dns,或者需要通过udp访问内网机器等—-> udp代理模式

    4. 在外网使用HTTP代理访问内网站点—-> http代理模式

    5. 搭建一个内网穿透ss,在外网如同使用内网vpn一样访问内网资源或者设备—-> socks5代理模式

    特点

     
    • 协议支持全面,兼容几乎所有常用协议,例如tcp、udp、http(s)、socks5、p2p、http代理…
    • 全平台兼容(linux、windows、macos、群辉等),支持一键安装为系统服务
    • 控制全面,同时支持服务端和客户端控制
    • https集成,支持将后端代理和web服务转成https,同时支持多证书
    • 操作简单,只需简单的配置即可在web ui上完成其余操作
    • 展示信息全面,流量、系统信息、即时带宽、客户端版本等
    • 扩展功能强大,该有的都有了(缓存、压缩、加密、流量限制、带宽限制、端口复用等等)
    • 域名解析具备自定义header、404页面配置、host修改、站点保护、URL路由、泛解析等功能
    • 服务端支持多用户和用户注册功能

    没找到你想要的功能?不要紧,点击进入文档查找吧

    快速开始

     

    安装

     

    GETHUB: https://github.com/ehang-io/nps/releasesreleases:

    GETEE: https://gitee.com/houlijiang/common/tree/master/nps

    下载对应的系统版本即可,服务端和客户端是单独的

    服务端启动

     

    下载完服务器压缩包后,解压,然后进入解压后的文件夹

    • 执行安装命令

    对于linux|darwin sudo ./nps install

    对于windows,管理员身份运行cmd,进入安装目录 nps.exe install

    • 默认端口

    nps默认配置文件使用了80,443,8080,8024端口

    80与443端口为域名解析模式默认端口

    8080为web管理访问端口

    8024为网桥端口,用于客户端与服务器通信

    • 启动

    对于linux|darwin sudo nps start

    对于windows,管理员身份运行cmd,进入程序目录 nps.exe start

    安装后windows配置文件位于 C:\Program Files\nps,linux和darwin位于/etc/nps

    如果发现没有启动成功,可以查看日志(Windows日志文件位于当前运行目录下,linux和darwin位于/var/log/nps.log)

    • 访问服务端ip:web服务端口(默认为8080)
    • 使用用户名和密码登陆(默认admin/123,正式使用一定要更改)
    • 创建客户端

    客户端连接

     
    • 点击web管理中客户端前的+号,复制启动命令
    • 执行启动命令,linux直接执行即可,windows将./npc换成npc.exe用cmd执行

    如果需要注册到系统服务可查看注册到系统服务

    配置

     
    • 客户端连接后,在web中配置对应穿透服务即可
    • 更多高级用法见完整文档
  • 简单搭建 Zerotier Moon 为虚拟网络加速

    Zerotier 是一款开源工具,可以用来构建点对点(P2P)虚拟网络。比如你的女友不让你去网吧玩游戏,这时候你就可以建立一个 Zerotier 点对点虚拟网络,把你和朋友的家的电脑都加入到这个虚拟网络中,然后你们就可以像在网吧里一样联机玩耍了。

    Zerotier 的基本用法可以参考NAS之旅第10期视频,这里我们要分享的是如何自己搭建 Zerotier Moon,加速 Zerotier-One 的连接,让虚拟网络更稳定的运行。

    视频地址

    Zerotier Moon 搭建步骤

    这里我使用的是 Vultr 的云服务器,基本配置信息如下。

    平台 Vultr
    机房 美国新泽西
    CPU 1 vCore
    内存 512 MB
    系统 Ubuntu 20.04 x64
    流量 500GB
    新用户使用右侧推广链接注册可以 ?获得$100的30天体验额度

    第一步 在云服务器上安装 zerotier-one

    方法一 更简单

    shell
    $ curl -s https://install.zerotier.com | sudo bash

    方法二 更安全

    要求系统中安装了 GPG
    shell
    $ curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && \
    if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi

    第二步 云服务器加入虚拟网络

    执行命令,将云服务器加入到自己创建好的虚拟网络,将命令中的  xxxxxxxx 替换成实际的虚拟网络 ID。

    shell
    $ sudo zerotier-cli join xxxxxxxx

    第三步 配置 Moon

    进入 zerotier-one 程序所在的目录,默认为  /var/lib/zerotier-one

    shell
    $ cd /var/lib/zerotier-one

    生成 moon.json 配置文件

    shell
    $ sudo zerotier-idtool initmoon identity.public >> moon.json

    编辑 moon.json 配置文件

    shell
    $ sudo nano moon.json

    将配置文件中的  "stableEndpoints": [] 修改成 "stableEndpoints": ["ServerIP/9993"],将 ServerIP 替换成云服务器的公网IP。

    生成 .moon 文件

    shell
    $ sudo zerotier-idtool genmoon moon.json

    将生成的 000000xxxxxxxxxx.moon 移动到  moons.d 目录

    shell
    $ sudo mkdir moons.d
    $ sudo mv 000000xxxxxxxxxx.moon moons.d
    .moon 配置文件的名一般为10个前导零+本机的节点ID

    重启 zerotier-one 服务

    shell
    $ sudo systemctl restart zerotier-one

    使用 Moon

    普通的 Zerotier 成员使用 Moon 有两种方法,第一种方法是使用  zerotier-cli orbit 命令直接添加 Moon 节点ID;第二种方法是在 zerotier-one 程序的根目录创建moons.d文件夹,将 xxx.moon 复制到该文件夹中,我们采用第一种方法:

    Linux 系统下使用 Moon

    将命令中的两组  xxxxxxxxxx 都替换成 moon 的节点ID。

    shell
    $ sudo zerotier-cli orbit xxxxxxxxxx xxxxxxxxxx

    检查是否添加成功

    shell
    $ sudo zerotier-cli listpeers
    Windows 系统下使用 Moon

    以管理员身份打开 PowerShell,将命令中的两组  xxxxxxxxxx 都替换成 moon 的节点ID。

    powershell
    PS C:\Windows\system32> zerotier-cli.bat orbit xxxxxxxxxx xxxxxxxxxx

    检查是否添加成功

    powershell
    PS C:\Windows\system32> zerotier-cli.bat listpeers
    提示:Windows 系统的默认程序目录位于 C:\Program Files (x86)\ZeroTier\One

    常见问题一:电脑添加了虚拟网络,但Zerotier管理列表中始终没有显示这台设备。

    答:可以尝试在Zerotier管理界面中  Advanced -> Manually Add Member 中手动添加电脑的节点ID。

    相关链接