LoginSignup
1

More than 1 year has passed since last update.

TailscaleネットワークではDocker Overlay Networkの暗号化が使えない

Last updated at Posted at 2021-12-04

Overlay networkの暗号化

Dockerにはoverlay networkと呼ばれる機能が実装されており、複数のDockerホスト上にあるコンテナを同一のネットワークに参加させることができます。Overlay network上の通信はデフォルトでは暗号化されていないのですが、ネットワークの作成時に--opt encryptedを付けることで暗号化を有効にすることができます。

docker network create --opt encrypted --driver overlay --attachable example-overlay-network

Overlay networkに使われるプロトコル

Overlay network上のデータががホスト間でやりとりされる際に使われるIP protocolは暗号化の有無によって異なっており、暗号化が無効のときはUDP、有効のときはESP (IP protocol 50)が使われます。

残念ながらTailscaleが対応しているIP protocolはICMPv4, ICMPv6, TCP, UDP, SCTPのみで、ESPには対応していません。そのため、暗号化されたoverlay network上の通信は全てdropされてしまいます。

解決策

見つかっていません。Overlay networkの暗号化を諦めるか、TailscaleをforkしてESP対応を追加するしかないのではないでしょうか。

そもそもTailscaleノード間の通信はWireguardで暗号化されているので、overlay networkの暗号化は多くのケースで不要ではないかと思われます。

謝辞

Tailscaleでサポートされているプロトコルについては、こちらの記事を参考にさせていただきました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1