SSH 接続を切断せずにインターフェイス IP を変更し、インターフェイスを再起動します。

SSH 接続を切断せずにインターフェイス IP を変更し、インターフェイスを再起動します。

オペレーティングシステムのインストール後に構成スクリプトを作成しています。インストール後に再インストールされたシステムには、システムの起動時に接続できるデフォルトの固定IPがあります。sshコンピュータに接続するインターフェイスのデフォルトの固定IPを変更するためにコンピュータでスクリプトを実行できるようにしたいです。 IPを変更したら/etc/sysconfig/network-scripts/ifcfg-<インターフェース>ifdown <interface> && ifup <interface>ただし、変更を適用するために実行するスクリプトは、インターフェイスのIPが異なるため、SSH接続が失われます(ifdown && ifupリモートシステムのIPが同じままであるとSSH接続が失われないようです)。インターフェイスを再起動してIPを変更したときにSSH接続が切断されない方法はありますか?

答え1

SSHはTCP / IPに基づいて構築されています。一端は{IP address_client、port_client}、もう一方の端は{IP address_server、port_server}を接続するStatefulプロトコルです。確立された接続を維持するには、4つの値がすべて必要です。

(NATゲートウェイは、接続の1つ以上のこれらの値を透過的に変更し、それを戻りトラフィックの元の値に置き換えることを覚えています。)

IP アドレスを変更できるかどうかを尋ねます。これは4つの必須値のうちの1つであるため、これにより接続はアクティブになりません。

必要に応じて、システムを再起動する前にIPアドレスをリセットせずに、一時的な追加のIPアドレスを追加して、制御チャネルの元のIPアドレスを維持しながら、新しいIPアドレスへの新しい接続を許可できます。

ip addr add 10.10.10.10/24 dev ens99

もう少し考えてみると、これを対話的に実行した場合は、screenSSHトランスポートを分離するためにシェルセッションを使用した可能性があります。

関連情報