- Ubuntu 20.04 LTS
- 踏み台サーバーに autossh でポートフォワード (管理用の ssh)
- netplan でブリッジを構成、DHCP で IP を取得
- lxc を利用
この環境ではマシンの起動時にはすべてのネットワーク機能が正常に機能していますが、lxc stop|restart CONTAINER するとポートフォワードが死にます。色々確認してみたのですが、ポートフォワード以外の接続は問題ない様に見えます。
autossh のコマンドラインは次のようなもの:
/usr/bin/autossh -M 0 -N -o "ExitOnForwardFailure=yes" -o "ServerAliveInterval=30" -o "ServerAliveCountMax=3" -l "BASTION_LOGIN_USER" -p BASTION_PORT BASTION_HOST -i /path/to/key.id_rsa -C -R FORWARDED_PORT:localhost:22
また、他のプログラムでは当該のポートを利用できます。外部からアクセスも可能です。
python3 -m http.server FORWARDED_PORT
systemctl restart sshd もダメ。
この辺りから余計に混乱してきました。しかし他にも調べているとブリッジの MAC アドレスが変化していることに気づきました。DHCP で IP を取得しているため、当然ブリッジの IP も変化しています。
解決策:
netplan の設定ファイルを修正 (macaddress: AB:CD:EF:01:23:45 をブリッジ部分に追加)、netplan apply では適用されないためマシンを reboot します。
そもそも以前の Ubuntu ではブリッジは物理インターフェースと同じものが設定されていました。それが良いのか悪いのか、なぜブリッジの MAC アドレスが変化するのか、なぜ ssh ポートフォワードだけに問題が起きるのか、知識不足で分からないことが多いのですがとにかく解決しているようです。