iptablesの設定ミス回避方法

hata

2013年03月27日 02:14

iptablesを設定変更したら設定ミスで自分も接続できなくなりました。
なんてことを防ぐための方法。

iptables <設定内容> & sleep 180;/etc/init.d/iptables restart

このようにコマンドを1行で実行すると、iptables の設定から180秒後にiptables が再起動されるので、保存されていないiptablesの設定は破棄されて設定前の状態に戻る。

実行後に問題がなさそうだったら、iptables のrestart の完了後に改めてiptablesの設定・保存を行えば設定ミスの可能性はかなり低くなるはず。

簡単。

ポイントは1行で3つのコマンドを実行するところ。
&と;の使い分けが怪しかったので、調べた。

& アンド
前のコマンドの終了を待たずに次のコマンドを実行

; セミコロン
前のコマンドの終了を待ってから次のコマンド実行


VPSで実験してみる。

自分のVPSで実験。

全てのSSH接続を遮断する危険な設定を投入してみる。
# iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP & sleep 100;/etc/init.d/iptables restart


実行直後、ssh接続ができなくなり、100秒後に無事接続ができる状態にもどった。


厳密には設定ミスを回避してるわけではなく、ミスっても短時間で無かったことにする方法なので、チキンな自分は待ち時間はかなり短め。

これやっておけばやらかしてしまったときの心臓を締め付けられるようなあの感覚ともさよならだ。

関連記事