オペレーティングシステムのインストール後に構成スクリプトを作成しています。インストール後に再インストールされたシステムには、システムの起動時に接続できるデフォルトの固定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
もう少し考えてみると、これを対話的に実行した場合は、screen
SSHトランスポートを分離するためにシェルセッションを使用した可能性があります。