generated at
闇ネットルートノード運用マニュアル
闇ネットルートノードを立ち上げて運用する方法を解説する
ルートノードでない通常ノードの立ち上げは、インターネットへのサービスの公開を伴わないので、リスクが少ない
一方で、ルートノードはインターネットからVPN接続を受け付けるノードであるから、インターネットに公開されるサーバを普通に運用できる技量が要求される
これができる自信の無い人は無理にルートノードを立ち上げないほうがよい
逆に言うと、これができる自信がなくても自由にサーバを設置できるネットワークとして設計されたのが闇ネット


ルートノードの立ち上げ
以下の2つのステップで、ルートノードの立ち上げが完了する
ノードの準備
セットアップスクリプトへの公開鍵の追加

ノードの準備
グローバルIPアドレスをもったサーバを用意する
IPv4でもIPv6でもok
自宅サーバの場合、ルータのNATを設定して公開してももちろんok
既に運用中の通常ノードをルートノードに昇格してもok
ルートノードと通常ノードの差分は、「グローバルIPアドレスをもっていてtincの接続を受け付けられるか」のみなので、既存の通常ノードにグローバルIPアドレスからアクセスできるようにするだけでルートノード化できる
ファイヤーウォールを設定して TCP/UDP 655 をあける

セットアップスクリプトへの公開鍵の追加
闇ネットtinc接続セットアップスクリプトを git clone して、自ルートノードの公開鍵を追加する
余っているRaspberry PiやVMで、修正したセットアップスクリプトを動作確認する
https://github.com/geek-space-hq/setup_gsngw に自ルートノードの公開鍵を追加するプルリクエストを出す
以下を参考に
動作確認の結果をプルリクエストに貼ってください
動作確認が行われていないプルリクエストはrejectします
マージされたら追加完了


ルートノードの通常業務
Discordの #闇ネットHQ スレッドに貼られるhostファイル(= 闇ネットへの参加リクエスト)がないかときどき確認して、貼られていれば /etc/tinc/gsnet/hosts に追加する
廃止を宣言したノードの情報を /etc/tinc/gsnet/hosts から削除する

鍵を簡単に追加する方法
1. 以下のシェルスクリプトをルートノードに置く
addkey.sh
#!/bin/sh cat > /tmp/hoge && fname=$(grep "#" < /tmp/hoge | tr -d '# ') && sudo sh -c '' && cat < /tmp/hoge | sudo tee /etc/tinc/gsnet/hosts/${fname} > /dev/null && rm /tmp/hoge
2. ssh 経由でシェルスクリプトを実行する
ssh -t hoge ./addkey.sh
3. 鍵を貼り付けて、Ctrl+Dを押す