使用zerotier-one搭配anyproxy保障多种方式回内网
目录
背景⌗
- 之前写过怎么在win平台使用frp搭配zerotierone搭建回校内网,详见这里
- 但是pc经常会出现关机等等意外情况,同时frp一定需要一台公网服务器,受限于国内带宽的高价,有时候该种解决方案并不是最优
- 本次介绍一种使用zerotier-one的官方服务进行内网组建同时搭配anyproxy的vpn方法
- 刚好趁此机会介绍一下在linux下的anyproxy的安装配置
产品简介⌗
anyproxy⌗
- 跨平台基于nodejs的快速http代理工具,不多介绍
zerotier-one⌗
- 一款全平台的vpn子网组件工具
- 该工具会自动在转发、直通、p2p等方式中选择最优方案进行子网组建
- 官方提供转发服务器,虽然是在境外(速度相对较慢)但是聊胜于无,免费账号可以同时加入100台机器(甚至对于一个小团队都是够用的),不限制子网数量
动手吧!⌗
安装anyproxy⌗
- 首先确保有npm工具:
npm -v
- 直接进行一个安装
sudo npm install anyproxy -g
- 启动测试
anyproxy --port <proxy port u wanna use>
- 配置开机启动
- 防止机器断电,还是配置一下开机自启比较好
- 为了方便(其实是我只会这一种),这里使用systemd的方式配置开机自启
- 具体systemd是什么请自行google,这里只需要知道该守护程序有两个可以放置配置文件的地方:
/etc/systemd/system/
或者/usr/lib/systemd/system/
- 创建服务文件
sudo touch /usr/lib/systemd/system/anyproxy.service
- 编写服务文件(复制记得删除注释)
[Unit]
Description=Initiate the anyproxy server # 给出一个详细描述
After=network-online.target # 固定
[Service]
Type=simple # 固定
ExecStart=/bin/bash <abspath_to_init.sh> # 需要将anyproxy的启动写成一个sh脚本,并放在任意位置,chmod给执行权限
Restart=on-abort # 固定
User=root # 固定
[Install] # 固定
WantedBy=default.target # 固定
- 重载
sudo systemctl daemon-reload
- 启动
sudo systemctl start anyproxy
- 查看运行状态
sudo systemclt status anyproxy
- 设置开机自启
sudo systemctl enable anyproxy
安装配置zerotier-one⌗
下载⌗
- 这里下载并安装
注册并创建一个子网⌗
- 这里使用你喜欢的方式注册登录zerotier
- 点击
Create A Network
,稍等片刻点击进入创建好的子网 - 起一个喜欢的名字,其他保持默认即可
- 记下来最上边的
Network ID
,这个后边会用
加入网络⌗
Linux⌗
- 执行下列命令加入刚刚创建的子网
sudo zerotier-cli join <Network ID>
- 稍等片刻,回到网页后台会发现在
Members
区域出现了刚刚加入的机器,但是zerotier默认新加入的机器没有任何ip分配权限,需要点击最前边Auth?
对应的小框框,打上勾勾,稍等片刻便发现刚刚的机器被分配了一个自己的ip地址 - 你可以给机器起一个方便记忆的名字,此时所有加入了这个子网的机器都可以使用子网内的ip进行互相通信,我们不需要关心其背后的实现逻辑到底是直通还是官方中转
Windows⌗
- 安装完成后会自动启动并最小化到托盘
- 点击右键并打开控制面板
- 键入
Network ID
并点击加入 - 回到网页后台重复上述授权
- 恭喜你,此时你手上的机器与刚才启动anyproxy的机器已经在同一个内网了,你可以使用服务器在内网中的ip地址加上刚刚设置的anyproxy端口进行代理访问了;当然你也可以直接使用内网ip对服务器进行ssh连接,将该机器作为跳板机连接任何与该机器同网内的设备
- zerotier-one在安装时如果使用的是官方的安装脚本的话其默认是开机自启的,不需要我们再重新配置
后记⌗
- 这里介绍了新的两种内网组建方式
- 其实这几种方式排列组合能够产生很多好玩的用法,子网的方式能够更安全的对外暴露ssh等敏感服务,理论上讲只有zerotier官方能够看到服务器的真实ip(该ip还不是机器的,是机器所在最高网关的),此时能够完全放心的ssh连接,否则的话使用公网ip暴露ssh端口会有很多很多陌生人跨越山和大海来扫你…
- 本人水平有限,仍在努力学习,难免存在行文不畅、过于简单、存在错误等等问题,希望大家多多指正!
Read other posts