パッシブ FTP が NAT の背後で動作しない

パッシブ FTP が NAT の背後で動作しない

大きな問題があります。説明させてください。2 台のマシンを設定しました。1 台は「fw」と呼ばれるファイアウォールで、もう 1 台はこの「server」と呼ばれるマシンに接続されています。どちらも Debian 10 buster システムです。fw マシンは iptables を使用して IP をマスカレードします。「パブリック IP」: 88.20.100.2、ローカル範囲: 192.168.150.0/24

これは私のFTPサーバーvsftpdをパッシブモードに設定する設定です

pasv_enable=Yes
pasv_max_port=2000
pasv_min_port=1000
pasv_address=88.20.100.2

特別なこと。ファイアウォールでこの iptables を有効にすると動作します (enp0s9 = インターネット、enp0s3 = LAN)

iptables -P FORWARD DROP
iptables -A FORWARD -p tcp --dport 21 -i enp0s9 -o enp0s3 -d 192.168.150.98 -j ACCEPT
iptables -A FORWARD -p tcp --sport 21 -i enp0s3 -o enp0s9 -s 192.168.150.98 -j ACCEPT
iptables -A FORWARD -p tcp --dport 1000:2000 -d 192.168.150.98 -i enp0s9 -o enp0s3 -j ACCEPT
iptables -A FORWARD -p tcp --sport 1000:2000 -s 192.168.150.98 -i enp0s3 -o enp0s9 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o enp0s9 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 192.168.150.98:21
iptables -t nat -A PREROUTING -p tcp --destination-port 1000:2000 -j DNAT --to-destination 192.168.150.98

私の問題は、接続が FTP サーバーに関連している場合のみ 1000:2000 ポートを開きたいということです。常に開く必要はありません。-m state と -m conntrack を試してみましたが、何か間違っていると思います。何かアイデアはありますか? よろしくお願いします

関連情報