[centos-users 1202] Re: LINUXルーターを作った時の疑問について教えて下さい。

Takeshi Kusune kusune @ sfc.wide.ad.jp
2009年 6月 22日 (月) 01:41:04 JST


楠根です。

(2009/06/21 14:05), kozo さんは書きました:
>  #いろいろな意味で、投稿するか相当迷ったのですが...
>    第一にgwは、CentOSでなくVineです。 m(_*_)m
>    ただこのあたりの動きはディストリに依存しないと思いますので。

依存するのでなければ linux-users ML 等が適切なように思いますが、
極端に外れなければ一連の話の続きを無理に移動することもないのでは。


本題の方ですが。

> 1。ネットワーク構成
> 
> (1)host1   --+-------------- (4)gw -----------------> internet
> (2)client1 --+    (local-ip)      (global-ip)
> (3)client2 --+
>     (1) 192.168.0.101  Vine
>     (2) 192.168.0.100  Vista
>     (3) 192.168.0.102  CentOS
>     (4) 192.168.0.200  Vine  / 219.111.187.70(global-ip) AitH"接続
>     (2)のVista にVMWareをいれて (1),(3)は仮想マシン環境です。

特に (4) について、address のみ記載されていますが、
network interface と address が必ずペアになって動作するとは限りませんので、
厳密に話をするには interface も記載されていないと話がしづらいですね。
# というよりその部分の理解が足りていないので今回の疑問になるのでは。

> 2。設定
>  (1)Vine  apache2 にアクセス元IPが分かるようにmod_rpafを設定
>  (4)Vine  外部から443が入れるように開けてあります。
>           apache2 によるリバースプロキシを設置 (転送は192.168.0.100)

「転送は192.168.0.100」の意味がよくわかりませんが、
転送先として指定したアドレスことなら 192.168.0.101 ではないのですか?

あと、mod_rpaf が何をしているのかは理解されていますよね?
このような通信の動作を正確に理解したいのであれば、むしろ邪魔ではないかと。
(4) の access_log を見ればわかる情報が (1) の access_log にも載るだけで、
(4) -> (1) の転送に関する情報がどこにも記載されなくなりますよ。

> 3。グローバルIPによるアクセス結果
>   (4)からのアクセスログ
>    グローバルIPになっています。
>    219.111.187.70 - - [21/Jun/2009:13:26:34 +0900] "GET / HTTP/1.1" 401 401

そうでしょうね。

実装や設定によっては 192.168.0.200 となっていても問題はないでしょうが、
Linux ベースで素直に設定すると送出 interface のアドレスを送信元に使いますから、
宛先アドレスが自分の network interface についている場合、
その interface についたアドレスが使用されることになるでしょう。

>   (2)からのアクセスログ (3)からも同様の結果 192.168.0.102
>      global-ipを指定してアクセスしたのにログにはlocal-ipが記録されています。
>      192.168.0.100 - - [21/Jun/2009:13:42:54 +0900] "GET / HTTP/1.1" 401 401

当然そうなるでしょうね。

送信元 192.168.0.100、宛先 219.111.187.70 として (2) から出たのでしょうから、
(4) に届くリクエストの送信元(= (1) の access_log に記載される「送信元」)も
当然 192.168.0.100 となっているはずで、そうでなければ中間者攻撃を受けています。

当たり前ですが、mod_rpaf を外せばいずれの場合も 192.168.0.200 になるでしょう。
(そうならない設定方法もあるかもしれませんけど)

> 4。疑問
>  本当に、一度外に出ているのでしょうか。
>   (クライアント上ではglobal-ipを指定していますが、
>   本当にglobal-ipでアクセス出来ているのでしょうか)

答として何を求められているのかがわかりにくいです。
「一度外に出ている」というのはどういう意味でしょうか。

219.111.187.70 を宛先に指定して期待されるデータが取得できていて、
サーバにもそのアクセスが記載されているのであれば、
219.111.187.70 を宛先に指定してアクセスできていると表現すると思います。

どういう動作を期待しているのかがわからないので、
そう動いているともそうでないとも言い様がありません。

「一度外に出ている」というのが、
(4) から internet 側の link を使って対向側にパケットが送られているか、
という意味であれば、そうは動いていないはず、というのが答です。

そういう質問でなければもう少し細かく説明して下さい。
--
Takeshi Kusune <kusune @ sfc.wide.ad.jp>
# 一行でコメントするなら「エスパーきぼんぬ」



centos-users メーリングリストの案内