RHELでは、service network restart
コマンドを使用する代わりに、特定のネットワークインターフェイスを再起動するにはどうすればよいですか?コマンドを1つだけ使用して、「eth1」と言いましょう。
「1つのコマンドのみ」。これは、私のssh
でも作業している唯一のインターフェイスです。したがって、使用しようとしている場合:ifdown
、次にifup
、ifup
が終了しているため、ssh
コマンドを実行することはできません。 ifdown eth1
コマンドの後に1回。
したがって、現在のssh
接続を提供しているインターフェイスを完全に停止してから起動できる単一のコマンドがあるはずです。したがって、サーバーへの接続が完全に失われることを心配する必要はありません。
何かアイデアはありますか?
以下を使用できます。
ifdown eth1 && ifup eth1
単一のコマンドとして。 &&は1つのコマンドを実行するだけで、最初のコマンドが成功した場合は他のを実行します。 Sudoを使用する必要がある場合は、各コマンドの前に必ず使用してください。
Sudo ifdown eth1 && Sudo ifup eth1
現在の構成に一致する必要なIPとルートを持つようにインターフェースが構成されている限り、ssh接続はドロップしません。
他の方法でアクセスできない本番サーバーでの使用を心配している場合は、それは理解できます。このコマンドは望みどおりの動作をしますが、このコマンドを実行した後にのみ気づく構成エラーは非常に簡単です。 別のアクセス方法がない場合(たとえば、帯域外コンソール、または別のインターフェイスで実行されているSSHD)、これを行わないのが最も安全です。
私はこの手法を頻繁に使用して、インターフェースの「再始動」を実行しますが、通常、万が一に備えてアクセスのバックアップ方法を用意しています。
次のコマンドを発行して、1つのインターフェイスを「再起動」できます。
# ifdown eth1
# ifup eth1
その後、新しい構成がアクティブであることを確認できます
# ip a
リモートマシンのインターフェイスのIPアドレス(または、そのインターフェイスパラメータ)を変更しようとしていますか?答えが「はい」の場合、次のいずれかを試すことができます。
クールな方法は、screenユーティリティを使用して、「screen」と入力するだけでセッションを作成することです。ネットワークサービスを再起動してSSH接続が切断されたら、screen -lsを使用してセッションがまだアクティブ(デタッチされている)であることを確認し、screen -rを使用してデタッチを再開しますセッション。これは、インターフェース構成ファイルにエラーがない場合、つまりネットワークサービスが正常に再起動された場合に機能します。
次のトリックも使用できます。
$ cp -v current_conf_file current_conf_file.bak
$ echo "mv current_conf_file.bak current_conf_file && service network restart" | at now+10min
そして、インターフェース設定ファイルの編集とネットワークサービスの再起動に進みます。間違いがあった場合は、前の構成を再適用してネットワークサービスを再起動するために、10分間待つ必要があります。