zerotier は私自身が現在主に使用している内網穿透ツールで、最近クラウドサーバー上で moon と ztncui を再構成しました。使用するコマンドが結構多いので、簡単に記録しておきます。将来、さまざまなチュートリアルを探す手間を省くためです。
Moon サーバーの構築#
zerotier のインストール#
curl -s https://install.zerotier.com | sudo bash
インストールが完了すると、クラウドサーバーのノード ID(ZeroTier address)が生成されます。
Moon サービスの設定#
- 設定ファイルディレクトリに移動
cd /var/lib/zerotier-one/
- moon.json を生成
zerotier-idtool initmoon identity.public >>moon.json
- moon.json を編集
nano moon.json
- ノード IP とポートを入力(クラウドサーバーの 9993 ポートを開く必要があります)
"stableEndpoints": ["xxx.xxx.xxx.xxx/9993"]
- moon サーバーファイルを生成
zerotier-idtool genmoon moon.json
- サービスディレクトリを作成
mkdir /var/lib/zerotier-one/moons.d/
- 署名ファイルを moons.d ディレクトリにコピー
cp 000000xxxxxxxxxx.moon /var/lib/zerotier-one/moons.d/
- zerotier を再起動
systemctl restart zerotier-one
- Moon に参加
Windows と Linux でターミナルコマンドを使用
zerotier-cli orbit <ノードID> <ノードID>
または、moon サーバーファイルを対応するフォルダにコピーします。
Android 端末では zerotier fix をダウンロードする必要があります。
ノードコントローラーの構築#
公式ウェブサイトの他に、サードパーティのノードコントローラーを自分で構築して仮想 LAN を管理することもできます。
ztncui のインストール#
3000 ポートを開放し、以下のコマンドラインで構築します。
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 HTTP_ALL_INTERFACES=yes >> /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 enable ztncui
sudo systemctl restart ztncui
デフォルトのアカウントパスワード:admin password
コントローラー設定#
- add network をクリックし、create を選択して、自分が望むネットワーク名を入力します。
- 作成が完了したら、networks をクリックし、easy setup を選択し、generate network address をクリックして submit します。これで正常に使用できるようになります。ネットワーク ID の表示位置は画像のモザイク部分です。
- デバイスをネットワークに参加させる
Windows/Linux ターミナル
zerotier-cli join <ネットワークID>