CentOS8部署zerotier异地组网

news/2024/10/6 1:06:44/文章来源:https://www.cnblogs.com/zbyisgudi/p/18284430

CentOS8部署zerotier异地组网

CentOS8部署zerotier异地组网

一、前言

本文在此前研究部署FRP进行内网穿透,但FRP是基于公网服务器的流量转发,上下行的速率取决于公网服务器的带宽,并且每启用一个服务都需要开放服务器的一个端口,在易用性和安全性上都有着一定的问题。
为解决内网穿透需求,了解到zerotier这个工具,可以实现异地组网的功能。
在zerotier中,每一台设备都是一个客户端,客户端之间通过p2p连接。每台设备上安装一个虚拟网卡,实现虚拟局域网,这样处于公网中的机器也能够像在局域网中一样互相访问。

二、部署

  1. 安装zerotier
    Linux端的一键安装命令:
    curl -s https://install.zerotier.com | sudo bash
    此外,卸载命令:

    dpkg -P zerotier-one
    rm -rf /var/lib/zerotier-one/
    
  2. 开启zerotier
    zerotier-one -d
    若出现

    zerotier-one: fatal error: cannot bind to local control interface port 9993

    则说明端口9993被占用,接下来查看端口占用信息。
    netstat -lp | grep 9993
    若是自己占用了,那么结束其进程:
    killall -9 zerotier-one
    反复运行,直到出现提示进程已全都结束。
    若提示无killall,安装:
    yum install psmisc
    再次启动zerotier。
    若zerotier还是不能启动,则开启zerotier开机自启:
    systemctl enable zerotier-one.service
    再次重启。

  3. zerotier加入网络
    zerotier-cli join 需要加入的网络ID
    当出现200 join OK时,说明加入成功。

  4. 开启IP转发
    编辑/etc/sysctl.conf文件
    输入一下两行配置开启IP转发:

    net.ipv4.ip_forward=1
    net.ipv6.conf.all.forwarding=1
    

    解释:
    net.ipv4.ip_forwardnet.ipv6.conf.all.forwarding选项同理)该选项设置为 1 时,表示启用了IP转发功能。IP转发是指网络设备在接收到一个IP数据包后,根据目标IP地址对该数据包进行决策,并选择合适的网络接口将其转发出去。
    当配置的值为 1 时,系统将启用IP转发功能,允许将网络流量从一个接口转发到另一个接口,使得不同网络之间能够进行路由通信。这在充当网络路由器或防火墙的系统中非常常见。
    然而,需要注意的是,启用IP转发功能可能会对系统的安全性产生影响。因此,在应用中启用此功能之前,应仔细评估网络安全风险,并采取适当的安全措施来保护系统和网络。
    请谨慎使用IP转发功能并确保采取了适当的网络安全措施。

  5. zerotier配置路由表
    如图所示,格式为:
    内网网段 via 跳板机所分配地址

zerotier路由表.png

  1. 跳板机设置路由表
    输入ip addr
    记录下连接局域网的物理网卡和zerotier的虚拟网卡(一般以zt开头)
    将网卡名称导出为环境变量名:

    PHY_IFACE=物理网卡名称
    ZT_IFACE=zerotier的虚拟网卡名称
    

    更新路由表:

    iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE  
    iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT  
    iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT  
    iptables-save  
    

    持久化路由表:

    mkdir -p /etc/sysconfig/  
    sh -c "iptables-save > /etc/sysconfig/iptables"  
    

    /etc/rc.local文件最后添加一行:

    vi /etc/rc.local  
    /sbin/iptables-restore < /etc/sysconfig/iptables  
    

    理论上在经过上述设置后开启zerotier则可以实现在公网通过跳板机访问局域网内设备,但在本文实践后发现只能访问跳板机的局域网内IP地址,并不能访问其余局域网内设备。不知是跳板机的路由表设置还是zerotier的路由表设置或是局域网内设备防火墙问题,需要进一步排查。

  2. 后续
    至此已经基本能够通过zerotier实现公内网下无缝访问单一设备,已经基本满足本文此前的需求,但还是没有实现公网无缝组网的功能。

三、展望

  1. 通过局域网内跳板机设置IP转发访问其他局域网内设备。
  2. 基于openwrt的软路由安装zerotier添加异地局域网实现组网。

参考

  1. 部署zerotier客户端(Linux版本)适用于CentOS、Ubuntu等系统
  2. ZeroTier 异地组网
  3. 异地旁路组网:zerotier

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/738185.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验

第九章 打印输出实验 1)实验平台:正点原子DNK210开发板 2)章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DN…

分享一款可编辑本地电脑文件的在线编辑器

之前见过在线版的VSCode,被惊讶到了。网页上竟然可以编辑电脑本地的文件,打破了网页无法编辑本地电脑文件的限制。一直好奇怎么做的。抽空研究了一下,然后发现其实也不难。背景 之前见过在线版的VSCode,被惊讶到了。网页上竟然可以编辑电脑本地的文件,打破了网页无法编辑本…

xhcms

xhcms 目录结构 admin --管理后台文件夹 css --存放css的文件夹 files --存放页面的文件夹 images --存放图片的文件夹 inc --存放网站配置文件的文件夹 install --网站进行安装的文件夹 seacmseditor --编辑器文件夹 templ…

lrzsz安装完成后rz乱码

rz选择文件夹后乱码传输不到linux里面, 这时候只需要rz -be再选择文件 这样就可以进行后续的解压了tar -zxvf jdk-8u65-linux-x64.tar.gz

椭流线法设计配光器

本文介绍了利用椭流线法设计高效均匀的LED配光器,通过对边光原理、反射定律及椭圆几何特性的深入分析,结合Matlab和SolidWorks软件实现光学仿真,最终成功设计出接收效率高、均匀度优的配光器。椭流线法设计配光器 椭流线法设计配光器 一、设计原理 1、边光原理 边光原理是非…

wx云开发增删改查

首先是.wxml文件,此处为固定数据的新增<button type="primary" bind:tap="addData"> //调用.js中addData方法插入数据 </button>对应.js文件//添加数据addData(){wx.showLoading({ //showLoading(api接口)(防止用户多次…

剪裁法设计配光器

剪裁法设计配光器通过光源角分割和目标面分割,利用边光原理和反射定律,计算并构建光学母线,以实现高均匀度和高光效的均匀圆斑光学设计。剪裁法设计配光器 剪裁法设计配光器 一、设计原理边光原理 边光原理是非成像光学中的一个基础原理,其内容可以表述为:来自光源边缘的光…

iOS-列表视图

在iOS开发中,UITableView和UICollectionView是两个非常核心的用于展示集合数据的UI组件。它们都能以列表的形式展示数据,但各自的特点和使用场景有所不同。 UITableView UITableView用于展示和管理垂直滚动的单列数据列表。它是以行的形式展示数据,每行(cell)可以展示相同…

CPC配光系统设计

本文详细介绍了CPC(复合抛物线聚光器)配光系统的设计过程,包括设计原理、抛物流线几何特性及其设计要求和流程,并通过Matlab和SolidWorks绘制模型,最后在TracePro中进行仿真验证,确保系统满足均匀照度和高效接收率的目标。CPC配光系统设计 CPC配光系统设计 一、设计原理 …

VMware vSphere Tanzu部署_14_部署容器应用

1.部署运行容器应用 1.1. 登录tkc集群 jianhua@napp:~/tkc$ kubectl vsphere login --server=192.168.203.194 \ --tanzu-kubernetes-cluster-name tkc-dev-cluster \ --tanzu-kubernetes-cluster-namespace tkc-01 \ --vsphere-username administrator@vsphere.local \ --ins…

贝塞尔曲线原理、推导及Matlab实现

本文详细解析了贝塞尔曲线的定义、性质、构建方法以及多种阶数的推导公式,并提供了完整的Matlab代码用于绘制和计算贝塞尔曲线。贝塞尔曲线原理、推导及Matlab实现 贝塞尔曲线原理、推导及Matlab实现 一、简介 贝塞尔曲线提出 在数学的数值分析领域中,贝塞尔曲线(English:B…

刘积仁的大健康“长跑”

软件是一个长命的产业,但软件企业的寿命都很短。懂得怕死,才能有机会活得长久。 这一次,刘积仁又为东软医疗找到了强大助力!中国通用技术(集团)控股有限责任公司(以下简称通用技术集团)所属资本公司战略投资东软集团在医疗健康领域资的创新业务公司——东软医疗,双方也由…