[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:32657] Re: NAT 内部の FTP サーバー
杉浦です。
>>> In Message "[debian-users:32648] Re: NAT 内部の FTP サーバー"
>>> <3CD10181.9090801@xxxxxxxxx>,
>>> Tomoo Nomura <nomurat@xxxxxxxxx> said;
> > MN128のインターネット側 IP アドレス != 外から見た FTP サーバの IP アドレス
> > ですか?
<Snip..>
> > とすると MN128 はグローバルアドレスを2つ持っていると言うことでしょうか?
> はい。8個(6個)持っています。
<Snip...>
なるほど。
> ftpクライアントがデータコネクション先のアドレスを知るのは、明示的につないだ
> サーバー名(IPアドレス)では無く、サーバーからportコマンドを通して教えられた
> アドレスのようです。ですから、wu-ftpd側で、
> passive address 202.xxx.yyy.59 0.0.0.0/0
> なんて設定をしなければならないんだと思います。
はい。これはその通りですね。
> とりあえず、これは伝わっているようなんですが、二つ目以降のパケットがNAT機器
> アドレスになってしまうようですね。
前の tcpdump がどういうフィルタと共に起動されたのか分からないと確かな
ことは言えませんが、2つ目のパケットは RST(リセット)なので、クライア
ントからすれば正しい挙動じゃないかと予想します。
とりあえずクライアント側の NAT を無視して挙動を書くと、
本来は、
1. SYN
client -------> [tomgate] --------> joanna
dst: joanna joanna(private)
src: client client
2. SYN+ACK
client <------- [tomgate] <-------- joanna
dst: client client
src: joanna joanna(private)
3. ACK
client -------> [tomgate] --------> joanna
dst: joanna joanna(private)
src: client client
になっているのに、何故か FTPのデータコネクションの場合だけ(同じポート
番号を使っていても、それが「FTPのデータコネクション」でなければ問題ない)、
1. SYN
client -------> [tomgate] --------> joanna
dst: joanna joanna(private)
src: client client
2. SYN+ACK
client <------- [tomgate] <-------- joanna
dst: client client
src: tomgate joanna(private)
~~~~~~~
3. (突然知らないアドレスからSYN+ACKが来たので) RST
client -------> [tomgate] joanna
dst: tomgate
src: client
と言う風になっているんじゃないかと思うのですが。
この想像が正しいなら、結局 MN128 が変と言うことになります。申し訳ない
ですが、私は殆ど触ったことがないので、この不思議な挙動を防ぐ方法がある
のかどうか、また、こういう仕様なのかどうかもかりません。
もしこういうものなら、余計な機能が付いているというか、細かくカスタマイ
ズする機能が足らないというか……ともあれ「出来ない」と言うのは確かですね。
# 最初に大口叩いてしまってごめんなさい〜
> > # しかしそもそも、こういう複数のソースアドレスを使い分けるような NAT
> > # ルールって家庭用に市販されているルータで書けるものなのでしょうか?
> 色々ありますよ。YAMAYA rtシリーズ、BA-5000 その他。
おお。あるのですね。
知りませんでした。
# YAMAHA が定評があるのはこのへんのせいなのかな……
--
Tatsuki Sugiura mailto:sugi@xxxxxxxxxxxxxxxxxxxxxxxxxxx