2013年03月27日

iptablesの設定ミス回避方法

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秒後に無事接続ができる状態にもどった。


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

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



同じカテゴリー(技術系)の記事画像
Git をインストールした
同じカテゴリー(技術系)の記事
 Gitの初期設定 (2013-06-19 23:25)
 Git をインストールした (2013-05-31 02:09)
 ひとりでもバージョン管理 (2013-05-18 00:15)

Posted by hata at 02:14│Comments(0)技術系Linux
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。