Tailscale
Tailscale subnet routerと連携し、Virtyで作成したNWにアクセスできるようにします。
Note
Tailscaleアカウントの登録、サーバの追加は完了している前提で記載
Subnetrouter
IP転送を有効にする
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
サブネットをアドバタイズする
Note
virtyで作成予定のサブネットが含まれるように、あらかじめ/16等大きく広告することをお勧めします。そうすればダッシュボードで10.0.3.0/24などを追加した際、ノード上でアドバタイズ、Tailscaleダッシュボードで承認する作業が不要になります。
ネットワークの作成
virtyダッシュボードでroute
モードのネットワークを作成します。以上でTailscaleネットワークを経由したアクセスが可能になります。
Warning
アクセスができない場合は、ノードのファイアウォール、Tailscale ACLをご確認ください。
インターネット接続
現時点では、tailscaleネットワーク経由でVMにアクセス可能ですが、VMはインターネットに出れません。Routeing/NATの2種類でVMにインターネット接続を提供できます。
Warning
ネットワーク同士の接続など、Linuxのネットワーク、ファイアウォールを考慮して適切に設定してください。
Routing
ネットワークをroute
モードで作成すると、ノード上にL2仮想ネットワークが作成されます。このネットワークを、ノードが接続するゲートウェイ等に登録すれば一般的なL3ルーティングでインターネットに出ることができます。
NAT
ゲートウェイにネットワークが登録できない場合は、ノードのIPを用いたNAPTでインターネットに接続できます。
Warning
VMはノードのIPを使用して、ノードが接続できるすべてのネットワークにアクセスできるようになります。適切にiptablesで制限をかける必要があります。
作成したネットワークのサブネットが10.0.0.0/16
、インターネットに出れるインターフェイスenp0s9