iptablesのFTPダウンロードの問題 - ポート21接続は許可されていますが、「ネットワークにアクセスできません」

iptablesのFTPダウンロードの問題 - ポート21接続は許可されていますが、「ネットワークにアクセスできません」

FTPサイトに接続しようとしていますが、次のコマンドを使用していますwget

Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /gcrypt/gnutls ... done.
==> SIZE v3.2 ... done.
==> PASV ... couldn't connect to 217.69.76.55 port 40258: Network is unreachable

iptablesを無効にするとうまくいくので、それは問題のようです。しかし、私はすべてを正しく設定したと確信しています。

# Accept related, established...
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# ftp/http(s) clients
-A OUTPUT -p tcp -m multiport --dports 21,80,443,8080 -j ACCEPT
-A OUTPUT -p udp --dport 21 -j ACCEPT

何が問題なの?

答え1

Iptablesが正しく機能するためには、「関連、設定」のいくつかのカーネルモジュールをロードする必要があります。 HTTPクライアントが大丈夫なら、明らかにそれらのいくつかはすでに存在しています。

 > lsmod | grep conntrack
 nf_conntrack_ipv4      20258  6 
 nf_defrag_ipv4         12702  1 nf_conntrack_ipv4
 xt_conntrack           12760  6 
 nf_conntrack           99996  2 xt_conntrack,nf_conntrack_ipv4

ただし、FTP用のドライバはアドオンであり、nf_conntrack_ftpデバイスやファイルシステムドライバとは異なり、カーネルによって自動的にロードされません。

 > modprobe nf_conntrack_ftp

すべきこと。 AFAIKには起動時にモジュールを自動的にロードするクロスディストリビューション方法はありませんが、Fedoraでは以下を追加できます。

IPTABLES_MODULES="nf_conntrack_ftp"

到着する/etc/sysconfig/iptables-config。このファイルを使用してsystemdいない他のシステムでは、を参照してくださいman modules-load.d

関連情報