これが愚かな質問である場合は申し訳ありませんが、ファイアウォールを介してアクティブなFTP接続を送信するには、次を実行する必要があります。
Sudo modprobe ip_conntrack_ftp
このトリックを http://major.io/2007/07/01/active-ftp-connections-through-iptables/ から学びました
その記事では、それを永続化するように言っています
IPTABLES_MODULES="ip_conntrack_ftp"
/etc/sysconfig/iptables-config
へ
しかし、それがUbuntuに適しているかどうかはわかりません。代わりにip_conntrack_ftp
を/etc/modules
の下部に追加する必要がありますか?
ありがとう。
はい、ip_conntrack_ftp
を/etc/modules
に追加できます。注意してください。modprobeコマンドを入力する必要はなく、カーネルモジュールの名前だけを入力してください。
非標準/カスタムftpポートを使用している場合は、ports=<portnumber>
を行末に追加するだけでよいことに注意してください。
特定の例では、HylaFaxはFTPプロトコルを使用して動作し、ポート4559を制御ポートとして使用して接続を開始し、次に、誰が知っているパッシブFTPポートを開きます。 4559のカスタムFTPポートで行う必要があるのは、Sudo vi /etc/modules
だけで、ip_conntrack_ftp ports=4559
を使用してファイルの最後に新しい行を追加します。
再起動すると、準備完了です!
複数のftpサービスがある場合は、たとえばports=21,4559
を実行することもできます。
これが機能するには、対応するIPTABLES
ルールも必要になります。
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 4559 -j ACCEPT