1.背景:
由于公司设备是通过流量上网,不具有固定的ipv4地址,开发人员在进行远程技术支持时需要本公司的现场工程师出差到项目地后,远程控制现场人员的电脑(通过网线和设备直连)进行技术支持,维护成本高,效率低。因此需要搭建一个内网穿透的服务器,架设虚拟局域网,使软件开发人员能够通过该服务,直接远程登陆到设备后台进行调试和bug修复,能够省去运维出差的费用成本,提高售后维护的效率。
公网服务器
首先你需要有一台公网的服务器这里就不再赘述
在服务端开放端口这三个端口
ubuntu安装zerotier关键网络
sudo curl -s https://install.zerotier.com | sudo bash
# 创建目录,并进入
sudo mkdir zerotier
# 会下载一个软件包ztncui_0.8.14_amd64.deb
curl -O https://s3-us-west-1.amazonaws.com/key-networks/deb/ztncui/1/x86_64/ztncui_0.8.14_amd64.deb
sudo apt install ./ztncui_0.8.14_amd64.deb
sudo sh -c \”echo ZT_TOKEN=`sudo cat /var/lib/zerotier-one/authtoken.secret` > /opt/key-networks/ztncui/.env\”
sudo sh -c \”echo HTTPS_PORT=3443 >> /opt/key-networks/ztncui/.env\”
sudo sh -c \”echo NODE_ENV=production >> /opt/key-networks/ztncui/.env\”
sudo chmod 400 /opt/key-networks/ztncui/.env
sudo chown ztncui:ztncui /opt/key-networks/ztncui/.env
sudo systemctl restart ztncui
# 从服务端拷贝配置文件没到/home,是需要配置给客户端的
sudo cp /var/lib/zerotier-one/planet /home
访问服务端
服务默认的端口是3443,输入服务器IP地址打开web管理页面,https://ip:3443默认的账号是admin,密码password,第一次登陆要求更改密码
创建局域网网络
名称是自定义的
创建完成返回
第一行括号内的16位ID是该虚拟局域网的ID号,提供给客户端加入网络时使用
接下来对虚拟局域网进行初始化设置,点击Easy setup
自定义网络段
点击Generate network address会自动生成虚拟局域网的ip池,然后点击Submit提交即可。当然也可以手动指定ip池。
回到上一级页面,点击IPv4 Assign Mode,启用,默认是开启的状态
这样加入该网络的节点就会由服务端自动分配ip地址。若需要手动管理,关闭该功能即可。
服务端结束
linux客户端
linux 安装zerotier客户端
执行指令
# 执行安装脚本
sudo curl -s https://install.zerotier.com | sudo bash
若没有发生安装动作,请手动生成以下脚本,然后用管理员权限执行
#!/bin/bash
<<ENDOFSIGSTART=
—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA256
# shellcheck disable=SC2148
ENDOFSIGSTART=
export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
#
# ZeroTier install script
#
# All this script does is determine your OS and/or distribution and then add the correct
# repository or download the correct package and install it. It then starts the service
# and prints your device\’s ZeroTier address.
#
# Base URL for download.zerotier.com tree; see https://github.com/zerotier/download.zerotier.com if you want to mirror.
# Some things want http, some https, so we must specify both. Must include trailing /
ZT_BASE_URL_HTTPS=\’https://download.zerotier.com/\’
ZT_BASE_URL_HTTP=\’http://download.zerotier.com/\’
##########################################################
#
# Maximum Supported Distribution Versions and Codenames
#
##########################################################
# Debian
MAX_SUPPORTED_DEBIAN_VERSION=12
MAX_SUPPORTED_DEBIAN_VERSION_NAME=bookworm
# Ubuntu
MAX_SUPPORTED_UBUNTU_VERSION=24.04
MAX_SUPPORTED_UBUNTU_VERSION_NAME=noble
# We only do builds for Ubuntu LTS releases. Map non-LTS releases to the nearest previous LTS release.
declare -A UBUNTU_CODENAME_MAP
UBUNTU_CODENAME_MAP[\”trusty\”]=\”trusty\”
UBUNTU_CODENAME_MAP[\”utopic\”]=\”trusty\”
UBUNTU_CODENAME_MAP[\”vivid\”]=\”trusty\”
UBUNTU_CODENAME_MAP[\”wily\”]=\”trusty\”
UBUNTU_CODENAME_MAP[\”xenial\”]=\”xenial\”
UBUNTU_CODENAME_MAP[\”yakkety\”]=\”xenial\”
UBUNTU_CODENAME_MAP[\”zesty\”]=\”xenial\”
UBUNTU_CODENAME_MAP[\”artful\”]=\”xenial\”
UBUNTU_CODENAME_MAP[\”bionic\”]=\”bionic\”
UBUNTU_CODENAME_MAP[\”cosmic\”]=\”bionic\”
UBUNTU_CODENAME_MAP[\”disco\”]=\”bionic\”
UBUNTU_CODENAME_MAP[\”eoan\”]=\”bionic\”
UBUNTU_CODENAME_MAP[\”focal\”]=\”focal\”
UBUNTU_CODENAME_MAP[\”groovy\”]=\”focal\”
UBUNTU_CODENAME_MAP[\”hirsute\”]=\”focal\”
UBUNTU_CODENAME_MAP[\”impish\”]=\”focal\”
UBUNTU_CODENAME_MA
评论前必须登录!
注册