2002年10月12日(土) [過去の今日]
#2 BizIP8
を申し込んでひたすらはじめて扱うLinuxルータをいじくりまわしてたわけだが、どうも腑に落ちない。前にも書いたような気はするのだが、もう一度まとめてみよう。
ISPにPPPすると、ppp0に「ネットワークアドレス」が割り振られる。これは本来、使えないアドレスだ。ネットワークアドレスの次のアドレスをルータのeth1に割り振り、そこにグローバルIPを割り振った公開するサーバ群を接続する。
しかし、同ルータにローカルネットワーク(192.168.0.0/24)へのインターフェイスeth0があってIPマスカレードを行うと、これらのパケットの出口はppp0になる。さらに内部へのNAT等を設定すると、iptablesのINPUTチェインはppp0から入って来たものに適用されるようになる。外部からネットワークアドレスへのパケットも届くようになる。
問題はここからで、先述のような状態になった時、eth1に割り振られてる本来のルータのIPアドレスは
INPUTもFORWARDも適用されないのである。つまりダダモレ。
これをふせぐには、
ROUTER_IP='192.168.0.1' iptables -t nat -A PREROUTING -d $ROUTER_IP -j DROP
のようにする必要があるようだ。
しかし、どう考えてもこれは健全でないように思える。元からこのようなLAN型ダイアルアップ接続というかネットワーク型接続と言うか、OCNエコノミーやら専用線接続みたいな繋ぎかたとして間違ってるような気がビシバシする。むーん、どうしたもんだか。
(@628)