🚦

UFWのせいでLXDコンテナのネットワークが動作しなくなるときの対処法 [Ubuntu Server]

に公開

概要

ufw default denyにしてるとsnapでインストールしたLXDのネットワークが動作しない問題の対処法です。

Solution

ここではLXDのブリッジ名をlxdbr0、そのIPアドレスを10.221.140.1/24としていますが、デフォルトと異なる場合は適当に読み替えてください。

# LXDコンテナから/へのルーティングを許可
sudo ufw route allow in on lxdbr0
sudo ufw route allow out on lxdbr0

# LXDコンテナからのDHCPを許可
sudo ufw allow in on lxdbr0 from any to any port 67 proto udp

# LXDコンテナからの名前解決を許可
sudo ufw allow in on lxdbr0 from 10.221.140.1/24 to any port 53 proto udp

公式ドキュメントの解決方法はおすすめしない

実は公式ドキュメントにも解決法は載ってますがこれはおすすめしません。
https://lxd-ja.readthedocs.io/ja/latest/howto/network_bridge_firewalld/#ufw

上に示したコマンドはシンプルな例です。 あなたの使い方に応じて、より高度なルールが必要な場合があり、その場合上の例をそのまま実行するとうっかりセキュリティリスクを引き起こす可能性があります。

注意書きにある通りこれはあまり安全な設定ではなく、このコマンドを使用するとコンテナからホストへの全てのアクセスが許可されてしまいます。DHCPやDNS、必要に応じてその他ポートのみを許可することがセキュリティ上望ましいです。

Discussion