web-dev-qa-db-ja.com

RHELで特定のネットワークインターフェイスを「再起動」する方法

RHELでは、service network restartコマンドを使用する代わりに、特定のネットワークインターフェイスを再起動するにはどうすればよいですか?コマンドを1つだけ使用して、「eth1」と言いましょう。

「1つのコマンドのみ」。これは、私のsshでも作業している唯一のインターフェイスです。したがって、使用しようとしている場合:ifdown、次にifupifupが終了しているため、sshコマンドを実行することはできません。 ifdown eth1コマンドの後に1回。

したがって、現在のssh接続を提供しているインターフェイスを完全に停止してから起動できる単一のコマンドがあるはずです。したがって、サーバーへの接続が完全に失われることを心配する必要はありません。

何かアイデアはありますか?

18
夏期劇場

以下を使用できます。

ifdown eth1 && ifup eth1

単一のコマンドとして。 &&は1つのコマンドを実行するだけで、最初のコマンドが成功した場合は他のを実行します。 Sudoを使用する必要がある場合は、各コマンドの前に必ず使用してください。

Sudo ifdown eth1 && Sudo ifup eth1

現在の構成に一致する必要なIPとルートを持つようにインターフェースが構成されている限り、ssh接続はドロップしません。

他の方法でアクセスできない本番サーバーでの使用を心配している場合は、それは理解できます。このコマンドは望みどおりの動作をしますが、このコマンドを実行した後にのみ気づく構成エラーは非常に簡単です。 別のアクセス方法がない場合(たとえば、帯域外コンソール、または別のインターフェイスで実行されているSSHD)、これを行わないのが最も安全です

私はこの手法を頻繁に使用して、インターフェースの「再始動」を実行しますが、通常、万が一に備えてアクセスのバックアップ方法を用意しています。

27
blahnana

次のコマンドを発行して、1つのインターフェイスを「再起動」できます。

# ifdown eth1
# ifup eth1

その後、新しい構成がアクティブであることを確認できます

# ip a
1
jerQ

リモートマシンのインターフェイスの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分間待つ必要があります。

0
IG83