当前位置: 首页 > news >正文

Easytier异地组网与Nginx反向代理

一、背景及需求

网络结构如图:

pc1处于特定专网,用于访问专网中的某Web服务器(http://59.218.*.*:8080/),专网可以直接访问互联网。现需要通过任意一台pc2,通过互联网,与pc1异地组网,访问专网中的特定Web服务。

二、Easytier异地组网

(一)、简介

异地组网的软件很多,比如花生壳、向日葵、星空组网、nat123、Zerotier等,但或者需要充值会员vip、或者限速限流、或者属于国外软件的等等,很不方便。

Easytier属于免费开源国产软件,不限速不限流,文档完整,去中心跨平台,可以命令行CLI、图形界面GUI两种方式运行,使用方便。

Easytier官网:https://easytier.cn/

(二)、pc1下载安装Easytier

1、下载windows命令行zip压缩包,解压后即可直接使用,比如C:\easytier-windows-x86_64-v2.3.2。

2、安装Easytier为Windows服务

管理员运行cmd命令行,转到解压目录,比如C:\easytier-windows-x86_64-v2.3.2。

使用sc命令将easytier安装为windows服务。

方法一:使用sc直接为windows服务,服务名称“Easytier”可以随意指定,“网络名称”和“网络密钥”请修改称自己的,其他节点电脑要使用相同的“网络名称”和“网络密钥”。

sc create Easytier start=auto binPath="%cd%\easytier-core.exe -d -n 10.50.101.0/24 --relay-network-whitelist --network-name 网络名称 --network-secret 网络密钥 -p tcp://public.easytier.cn:11010"

安装成功后,开启Easytier服务。

net start Easytier

或者在计算机管理的服务中开启。

方法二:使用yaml配置文件启动easytier-core.exe

sc create Easytier start=auto binPath="%cd%\easytier-core.exe --relay-network-whitelist -c config.yaml"

使用yaml配置文件,可以无需反复卸载、安装Easytier服务,很方便修改Easytier-core.exe启动参数,yaml配置文件的使用和生成,请参阅官网文档:配置文件 | EasyTier - 简单、安全、去中心化的异地组网方案

3、easytier-core.exe命令参数如下:

详细参阅官网文档:https://easytier.cn/guide/network/quick-networking.html

4、常用命令
查看虚拟网中的节点信息:easytier-cli peer
查看虚拟网路由信息:easytier-cli route
查看本节点信息:easytier-cli node

(三)pc2上下载运行Easytier

为了使用方便,pc2上可以下载使用Easytier图形界面GUI,过程略。“设置”可以切换中英文。

输入pc1安装Easytier服务时的“网络名称”和“网络密码”,其他默认,然后“运行网络”即可。

节点信息可以显示加入虚拟网络中的计算机。

至此,顺利完成异地组网,pc2可以访问到pc1,ping 10.126.126.1连同。

注意:pc1上Easytier-core.exe启动的-n参数,完成子网代理,pc2可以直接访问pc1所在的10.50.101.0/24局域网段。

三、Nginx反向代理

利用Easytier很方便实现了异地组网,pc2顺利访问pc1,而且可以访问到pc1所在的局域网,但是还是不能访问到专网中Web服务器(http://59.218.*.*),需要进一步设置。

(一)方法一:使用Easytier的--enable-exit-node与--exit-nodes参数,实现节点数据转发,详细参阅官网文档:完整配置选项 | EasyTier - 简单、安全、去中心化的异地组网方案

pc1启动Easytier时,使用参数“--enable-exit-node true”,运行pc1节点成为出口节点。

pc2启动时,使用参数“--exit-nodes 10.126.126.1”,即客户端pc2使用pc1作为转发流量的出口节点

详细参阅:EasyTier项目实战:构建基于加密协议的分布式网络隧道 - GitCode博客

可以实现pc2访问网络,经过pc1出口节点转发,访问专网才能访问的Web服务器。

实测网速比较慢,暂不使用此方法,感兴趣的可以进一步尝试。

(二)方法二:使用Nginx反向代理

在pc1上安装Nginx服务,设置反向代理,将pc1作为Web服务器。

pc2访问pc1Web 服务器,利用Nginx反向代理,间接访问专网Web服务器。

方便起见使用phpstudy软件,仅启动Nginx服务,关闭默认80端口。

按照下图进行修改:

然后重启Nginx服务,pc2访问pc1的Web服务,成功访问到专网Web服务器。

注意:如果pc2无法ping通虚拟地址10.126.126.1,或者无法访问pc1的Web服务,请设置pc1的防火墙,允许Easytier-core.exe、Nginx.exe程序。

四、结束语

1、搭建自己共享节点

Easytier是非常方便的异地组网工具,还可以在自己的服务器上,不带任何参数启动 EasyTier,该节点就可作为公共服务器,搭建成自己的节点服务器。

2、关闭转发​

另外,默认情况下, EasyTier 的每个节点都允许为其他虚拟网提供转发服务,即使该节点已经指定了 网络名 (--network-name) 和 网络密钥 (--network-secret)、并已加入一个虚拟网。

若需改变此行为,可通过 --relay-network-whitelist 参数限定可被转发的网络名白名单(空格分割的通配符列表,如 "ab* abc")。当该参数的列表为空时,就不会为所有其他网络提供转发服务。

3、私有模式​

如果你希望 EasyTier 仅在你的虚拟网络中提供服务,而不希望其他虚拟网的节点连接到你的节点,可以使用 --private-mode true 参数启动 EasyTier。

更多使用技巧,请参阅官方文档:https://easytier.cn/guide/introduction.html

再次致谢Easytier!!!

http://www.dtcms.com/a/335021.html

相关文章:

  • 昇腾AI自学Day2-- 深度学习基础工具与数学
  • 楼宇自控系统赋能建筑全维度管理,实现环境、安全与能耗全面监管
  • 计算分组内时间列的最大差值
  • 【AI论文】NextStep-1:迈向大规模连续令牌自回归图像生成
  • Warning: Unable to create personal MATLAB work folder:E:\绯荤粺榛樿\鏂囨。\MATLAB
  • 1083. 数列极差问题
  • 【深度学习】基于ESRNet模型的图像超分辨率训练
  • pytest介绍(python测试框架)(@pytest.mark.parametrize、@pytest.fixtures)
  • ClaudeCode使用指南
  • 鲁老师深度学习笔记(1)—最大似然估计
  • Flutter Provider 模式实现:基于 InheritedWidget 的状态管理实现
  • 93、23种设计模式之抽象工厂模式
  • 【读论文】医疗AI大模型:百川开源Baichuan-M2
  • 23. CommonJS 和 ES6 Module 区别
  • 19.3 Transformers量化模型极速加载指南:4倍推理加速+75%显存节省实战
  • ArrayList的contains问题
  • 【C++学习篇】:基础
  • Markdown 生成 Gantt 甘特图
  • STM32硬件SPI配置为全双工模式下不要单独使用HAL_SPI_Transmit API及HAL_SPI_TransmitReceive改造方法
  • 【图像算法 - 14】精准识别路面墙体裂缝:基于YOLO12与OpenCV的实例分割智能检测实战(附完整代码)
  • 人工智能之数学基础:条件独立
  • AI提升SEO关键词搜索效果
  • UDP/TCP套接字编程简单实战指南
  • 数据结构 栈与队列
  • Tomcat配置文件深度解析
  • [安洵杯 2019]Attack
  • STM32F407VET6开发板标准库实现DMA空闲接收和发送
  • 同创物流学习记录2·电车光电
  • 行为型设计模式:对象协作的舞蹈家(中)
  • Rust 入门 KV存储HashMap (十七)