NetworkManager を使用していると sshd が再起動されない問題
- ネットワークが立ち上がる際に、/etc/network/if-up.d/ 以下のスクリプトが呼ばれるが、
- NetworkManager を使用していると、このスクリプトは、/etc/NetworkManager/dispatcher.d/01ifupdown から呼ばれることになる
- この 01ifupdown で
export ADDRFAM="NetworkManager"
と環境変数が初期化されているが、このせいで /etc/network/if-up.d/openssh-server は
# OpenSSH only cares about inet and inet6. Get ye gone, strange people # still using ipx. if [ "$ADDRFAM" != inet ] && [ "$ADDRFAM" != inet6 ]; then exit 0 fi
の箇所で終了してしまう。
- 再起動させるためには、
# OpenSSH only cares about inet and inet6. Get ye gone, strange people # still using ipx. if [ "$ADDRFAM" != inet ] && [ "$ADDRFAM" != inet6 ] && [ "$ADDRFAM" != "NetworkManager" ]; then exit 0 fi
のように修正するとよい。