2007年 09月 30日

iptables 復習

iptables の設定スクリプト書きなおしてて -j LOG したあと次のルールも実行されるのが不思議だなぁっておもった。
終了ターゲットにジャンプしない限り元のルールに戻ってくるんだった。LOG は非終了ターゲットだった。

iptables, DNS

なんか iptables いぢってたら DNS がひけなくなった……
iptables -F でちょい固まるのが気になる。

あと関係ないけど sudo reboot だとリブートしないで電源がきれたっぽいところでとまってしまう (この状態で電源ボタンおすと電源きれる)

おもむろに iptables -P INPUT DROP したせいっぽい。なんで iptables -A INPUT -i lo -j ACCEPT とかやってるのに、自ホストからも DNS ひけなくなるんだろ。というか iptables とおるんだ……

ポリシーも順番の影響うけるのかな。
だとすると最後に iptables -A INPUT -j DROP を書くの iptables -P INPUT DROP はどう違うんだろ。

順番はやっぱ関係なかった。ソースIPが意図したところからきてなかった。(これがなんでだかはわかってないけど)

それはともかく INPUT のポリシーを DROP にするのはかなりめんどいなぁ。

のっとり置換プロキシ

部分置換を実装してみた。

/* vim: ft=css:
 * proxy-replace: <style type="text/css">\s*<!--([^<]+)-->\s*</style>
 */

みたいなのを書いておくと、指定した正規表現の最初のキャプチャを、そのファイルで置換する。これは例えばはてなみたいにヘッダに CSS をうめこんでる場合にめんどくさいこと (一時的にテーマ変えて外部読みこみにしたり) しないで、編集できるようにする。
ファイル完全のっとりの場合と違ってリモートのファイルをとりにいく。

はてなでしかためしてない。というか gzip 圧縮されているのに気付かなくて、ruby1.9 の encoding まわりを疑ってハマった。