vine-users ML アーカイブ



[vine-users:078604] Re: Vine4.2 にNIC3枚でル ーター化設定

  • From: Taro Kawahara <tarokawa@xxxxxxxxx>
  • Subject: [vine-users:078604] Re: Vine4.2 にNIC3枚でル ーター化設定
  • Date: Mon, 28 Jul 2008 12:01:05 +0900
河原です。

わたしも、似たような入れ子ネットワークを
組んだことがあります。 クリーンにネットワーク設備を
構築できるんなら、こんなややこしいことをしたくなく、
また、出来てもセキュリティ面ではやっかいな事柄が
ありますが、そうはいえども設備の事情でこういう事態に
なることもあるわけですな。。。

Hisashi.Chiba. さんは書きました:
> ##172.16.2.0/24(LAN2)設定(不可はコメント化する)
> # 192.168.0.0/24(LAN0)は許可
> iptables -t nat -A POSTROUTING  -s $eth2_seg -o eth0 -j MASQUERADE
> # 10.0.1.0/24(LAN1)は不可
> # iptables -t nat -A POSTROUTING  -s $eth2_seg -o eth1 -j MASQUERADE
> 

ネットワークの双方向のマスカレーディングって、
不便ではないのではないでしょうか? プロトコルに
よっては、これでは使用不能になります。ファイル
共有なんかは、双方向に両方ともアドレスの付け替えが
行われてしまうので、つながらないでしょう。 HTTP
だけならこれでも動くことは動きますが。

拝見したところ、ローカルアドレスを割り当てている
各LANでローカルアドレス範囲が重複しているところが
ないので、それだったら、わたしならばマスカレードは
使わず(唯一外部に出るADSLルーターのところだけで
マスカレードし) それ以外は全部 REDIRECT か
ルーティングテーブルで対処するところです。
 …(図のVine-4.2マシン上で -j MASQUERADE は
登場させないという意味)



route コマンドで各ネットワークへのインタフェース
を定義し(この場合はデフォルトのままでは駄目
でしょうからdefault_route に頼らず、全部の方向への
ルーティングテーブルを手書きします)、その上で 
LAN2 (eth1) 方向からの FORWARD を REJECT する
iptables のルールを加えます。 FORWARD のルールは
INPUTを通らないので、INPUTは許し、FORWARDは
認めないことは簡単にできます。

LAN内にグローバルアドレスも混在しているとのこと
でしたが、ルーティングテーブル的にはローカルアドレスと
グローバルアドレスの違いは全く存在しないので、
アドレスが重なっていなければすべて対処できます。

DNSサーバーはこの場合、Vine-4.2機上で稼動させる
必要があります。 他の場所だと eth1 からの
接続はブロックされてしまうルールだからです。
でも、マスカレードすると面倒なことになるけど、
ただのルーティングであれば、普通のキャッシング
ネームサーバー設定でうまく動いてくれると思います。


あと、馬場崎さんの提案にある ルーティングテーブルに
頼らないでsquid 透過プロキシーで対処する手も
確かにあると思います、、、実は私の好みの方法では
ないのですが、これも良い手の一つかとは思います。
open proxy化してしまう設定ミスをしないように
気をつけてください…ということです。

具体的な設定方法を書いて見せようかと思ったりは
したのですが、細かい条件で千差万別に変化するし
route コマンドの使い方ぐらいは分かるのかなと
思いましてやめました。 (あと私の時間切れの
都合もありまして)
ポイントは、default_route はインターネット上にある
グローバルアドレス向けのみとし、それ以外の全部の
routeをすべて手書きすることです。 ローカルアドレス
同士では、どっちが上流ということはないから、
これは当たり前のことですが、一度、ルーティング
テーブルを書いてみれば分かるでしょう。

--
たろかわ