IP Masqueradeがうまくいかなかった件(解決)

IP Masqueradeがうまくいかない - blob glob
困っていたのだが、神である悪友の手によって救われた。
原因は、/etc/sysctl.confにあった。

net.ipv4.ip_forward=1

コメントアウトされているので、有効化する。その後、

# sysctl -p

で有効化。これだけだった。これだけでpingも通るしhttpも通る。すばらしい。


まず、ログを取ろうとして

$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -s $INTNET -j LOG

などとやってもログが出ない。ということで、彼の助言に従い、

$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -j LOG

を入れてみた。すると、ログが出るようになった。ちなみにUbuntuServer10.04LTSでは/var/log/{messages,syslog,kern.log}にログが出た。
ログを見ると、OUT=loだとか、ブロードキャスト用のIPに向けて発信されたかのようになっていた。
どう見てもおかしいのだが原因がわからない。そこで、

sysctl.confの問題とかじゃないよね

と一言。ぼくはこれについて全く知らなかったのだが、彼によれば、以前どこかのディストロでnet.ipv4.ip_forward=0がデフォルトになっていて問題になったケースがあったらしく、それを覚えていたのだとか。
結局それが正解であった。まったく、感謝しきりである。
しかしあーだこーだと試行錯誤するうちに夜が明けてしまった……w 寝よう。