ZeroTier-全网畅连

本文介绍如何使用ZeroTier实现跨网段的主机连接。通过安装ZeroTierOne软件,并配置虚拟网卡,即使宿舍与实验室不在同一网段也能轻松实现远程访问。文中详细展示了在Linux环境下搭建ZeroTier的具体步骤。

小伙伴们是不是有时候想在宿舍远程ping自己实验室的主机但是发现网段不对没法ping通?
按照最近想搭建Hadoop分布式集群,可是自己的主机就一台,那怎么搭建分布式集群呢?
对了,实验室有不少主机,完全可以用实验室的主机来搭建Hadoop分布式集群嘛。
想法很好,可是如何进行网络连接却成了大问题。由于实验室主机是属于局域网并非公网。而我在宿舍想连接实验室的主机却由于网段不同无法Ping通。
就在焦头烂额的时候,舍友推荐了个好东西-ZeroTier。只要有这好东西,你的机器只要能够连接外网就可以相互连接,不论是否在同一个网段。
想详细了解的童鞋,可参考官网ZeroTier
接下来主要讲一下自己的应用

  1. 下载ZeroTier One
    ZeroTier One下载页面下载相应版本
    此处以linux为例

    
    #使用这行命令安装ZeroTier One
    
    curl -s https://install.zerotier.com/ | sudo bash
  2. 注册ZeroTier帐号并登录
    如图所示
    这里写图片描述
    点击NetWork—新建一个新的网络—点击进入该网络

  3. 创建ZeroTier虚拟网卡
    根据下图的设置,首先记住自己的ID号,其次打开公网,最后设置允许分配的网段。
    这里写图片描述

    接下来打开linux的终端输入以下命令

    sudo zerotier-cli join (NetWork ID)

    若出现”200 join OK”则添加成功

  4. 查看本机的ip地址
    如图所示
    这里写图片描述
    出现了zt的虚拟网卡,其中inet地址就是相应的ipv4的地址。这里就配置好一台机器啦!
    你也可以将ipv4的地址设置成自己希望的那样
    如下图(在刚刚的页面最下面)
    这里写图片描述
    第一个箭头是相应机器的mac地址。第二个箭头就是你想设置的ipv4地址。

  5. 其他机器也使用相同的方法配置
    PS:如果是MAC用户或者是Windows用户请去官网下载相应工具
    ZeroTier软件

这样直接使用这张虚拟网卡的ip地址就可以跨网段连接啦!

<think>好的,我现在需要帮助用户解决在Docker容器中安装zerotier-one时出现的“zerotier-cli: missingport andzerotier-one.portnot foundin /var/lib/zerotier-one”错误。首先,我需要理解这个错误的具体原因。根据错误信息,zerotier-cli提示缺少端口配置,并且在指定的目录/var/lib/zerotier-one中没有找到zerotier-one.port文件。这可能是因为zerotier-one服务在启动时未能正确生成这个文件,或者容器运行时的配置问题导致文件无法保存。 接下来,我需要回顾用户提供的引用内容。虽然用户提到的引用主要是关于Harbor、docker-compose安装等内容,但可能与当前问题关联不大。不过用户之前的问题涉及到在Docker中运行zerotier-one和ztncui的配置,可能需要考虑容器网络模式、卷挂载是否正确。 可能的解决方向包括:1.**检查卷挂载是否正确**:用户可能在运行容器时没有正确挂载持久化卷,导致zerotier-one.port文件无法保存。需要确认dockerrun命令中的-v参数是否正确映射了宿主机目录到容器的/var/lib/zerotier-one。2.**容器权限问题**:zerotier-one需要特定的权限,比如NET_ADMIN、SYS_ADMIN,以及访问/dev/net/tun设备。如果权限不足,服务可能无法正常启动,导致文件未生成。3.**网络模式配置**:使用host网络模式可能更有利于zerotier-one的运行,避免端口映射的问题。用户之前的问题中提到过--net=host的修正,这里可能需要再次确认。4.**服务启动顺序**:容器启动后,zerotier-one服务可能需要一些时间来生成必要的文件,如果过早执行zerotier-cli命令,可能文件还未生成。5.**手动创建端口文件**:如果自动生成失败,可能需要手动创建zerotier-one.port文件,并指定正确的端口号。 此外,用户提供的错误信息中的路径是否正确?是否容器内的路径确实映射到了宿主机持久化存储?需要确保卷挂载没有问题,避免容器重启后文件丢失。可能需要指导用户检查这些配置,并提供具体的docker命令示例,确保参数正确,比如修正--restart参数,正确挂载卷,使用host网络模式,给予足够的权限等。同时,检查容器日志以查看服务启动时的具体错误信息,帮助进一步诊断问题。最后,生成相关问题,可能涉及Docker中zerotier的持久化配置、权限设置、网络模式选择等,帮助用户深入理解问题根源。</think>### Zerotier-one Docker 容器 "missing port" 错误解决方案 #### 1. 检查卷挂载配置 错误的核心是容器无法找到`zerotier-one.port`文件,该文件应位于`/var/lib/zerotier-one`目录。需验证容器卷挂载配置: ```bash # 查看容器挂载点 docker inspect zerotier-one | grep Mounts -A 10 # 正确挂载示例应显示: "Source": "/var/lib/zerotier-one", "Destination": "/var/lib/zerotier-one" ``` *未正确挂载会导致容器重启后配置丢失[^1]* #### 2. 手动创建端口文件 当首次启动容器时,执行以下命令生成端口文件: ```bash docker exec zerotier-one touch /var/lib/zerotier-one/zerotier-one.port docker exec zerotier-one echo "9993" > /var/lib/zerotier-one/zerotier-one.port ``` *需保证容器用户对目录有写权限[^2]* #### 3. 验证容器启动参数 使用修正后的启动命令(注意网络模式和权限): ```bash docker run -d \ --name zerotier-one \ --net=host \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ --device=/dev/net/tun \ -v /var/lib/zerotier-one:/var/lib/zerotier-one \ zerotier/zerotier-one:latest ``` *`--net=host`模式可避免端口映射问题[^1]* #### 4. 文件权限修正 通过`chmod`调整文件权限: ```bash docker exec zerotier-one chmod 644 /var/lib/zerotier-one/zerotier-one.port docker exec zerotier-one chown zerotier-one:zerotier-one /var/lib/zerotier-one/zerotier-one.port ``` *权限不足会导致服务无法读取配置文件[^2]* --- ### 错误修复验证流程 $$ \begin{aligned} &\text{验证步骤} \\ &1. \quad \text{检查端口文件存在性:} \quad \exists /var/lib/zerotier-one/zerotier-one.port \\ &2. \quad \text{验证端口号正确性:} \quad \text{cat /var/lib/zerotier-one/zerotier-one.port | grep 9993} \\ &3. \quad \text{测试服务连通性:} \quad \text{zerotier-cli status} \rightarrow \text{ONLINE} \end{aligned} $$ --- ### 配置参数对照表 | 参数 | 错误配置 | 正确配置 | |------|----------|----------| | 网络模式 | `--net=bridge` | `--net=host` | | 端口映射 | `-p 9993:9993/udp` | 无需映射(host模式自动暴露) | | 存储卷 | 未挂载 | `-v /host/path:/var/lib/zerotier-one` | | 文件权限 | `rw-r-----` | `rw-r--r--` | ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值