エラーが発生したときにSSHを介して行われたネットワーク構成の変更をどのようにロールバックしますか?

エラーが発生したときにSSHを介して行われたネットワーク構成の変更をどのようにロールバックしますか?

iptablesSSHで設定、インターフェイス速度、デュアル設定を変更します。ホストに接続できない場合は、変更をロールバックする可能性はありますか?私はそれが簡単だと思います:

ip addr add 10.10.10.1/24 dev eth0; ping -c1 8.8.8.8 || ip addr add 192.168.1.1/24 dev eth0

..IPアドレスの変更直後にSSH接続が切断されると、シェルも終了し、ping -c1 8.8.8.8 || ip addr add 192.168.1.1/24 dev eth0その部分が実行されないため、少し危険です。crontabリモートホストに危険な変更が発生した場合は使用する必要がありますか?賢い方法はないでしょうか?

答え1

screenまたは、セッションでtmux遅延後に変更を取り消すシェルを設定します。私はこれについて何も知らないiptablesので何もできませんが、FreeBSDでライブファイアウォールの設定を変更したときに、次のことが何度も私を助けました。

# In one `screen` or `tmux` window
% sleep 60 && <command to reverse changes>

別のウィンドウで変更でき、有効な場合はkillを使用できますsleep。を使用しているため、&&終了時に変更をキャンセルするコマンドは実行されませんsleep

変更が機能しない場合は、終了コマンドが実行されるまで数秒待ってください。

関連情報