- PR -

iptables FTP PASV

1
投稿者投稿内容
kage
会議室デビュー日: 2004/06/08
投稿数: 7
投稿日時: 2004-09-27 10:22
iptablesで以下のような設定をしたところ
iptables -A OUTPUT -p tcp -o eth0 -d $ANY --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp -s $ANY --sport 20:21 -i eth0 -j ACCEPT
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
サーバーから他のftpサーバーへの接続が成功しております。しかしwget http://ftp.server/xx.rpmというようなことをすると
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /linux/redhat/9/en/os/i386/RedHat/RPMS ... done.
==> PASV ... couldn't connect to xx.xx.xx.xx:17395: Connection timed out
Retrying.
といざデータ転送に入るとタイムアウトしてしまう状況にあります。PASVモードについていろいろ調べては見たのですが、ポートがいろいろと変わることが判明しまして、これが対応できるようにiptablesをどのように記載をしたらよいかわからない状態です。ご指導のほどよろしくお願いします。
ちなみにfedora2を使っています。
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-09-27 11:39
こんにちは。

iptables で ftp の PASV モードを許可するには、ip_conntrack_ftp モジュールをロードするのに加えて、入力チェーンで ESTABLISHED ステータスおよび RELATED ステータスを許可する必要があります。
# モジュールは先に読み込むようにしましょう (^^;
## あ、先に読み込まなくてもよさそうですね… orz

参考資料は JF さんの ドキュメント(他にもあります)ですが、
「iptables pasv ip_conntrack_ftp RELATED」
あたりで検索エンジンで探せば、情報を公開している方の設定を見つけることができます。

[ メッセージ編集済み 編集者: はゆる 編集日時 2004-09-27 12:22 ]
kage
会議室デビュー日: 2004/06/08
投稿数: 7
投稿日時: 2004-09-27 22:10
はゆるさん、ありがとうございます。
もうちょっと調べてみます。
Thnxs for the tips.
-kage
1

スキルアップ/キャリアアップ(JOB@IT)