Passives FTP funktioniert hinter NAT nicht

Passives FTP funktioniert hinter NAT nicht

Ich habe ein großes Problem. Lassen Sie mich das erklären. Ich habe zwei Maschinen konfiguriert, eine mit dem Namen „fw“, also die Firewall, und die andere, die mit dieser verbunden ist, heißt „Server“. Beide sind Debian 10 Buster-Systeme. Die fw-Maschine verwendet iptables, um die IP zu maskieren. „Öffentliche IP“: 88.20.100.2, lokaler Bereich: 192.168.150.0/24

Dies ist die Konfiguration meines FTP-Servers, vsftpd für den passiven Modus

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

Irgendetwas Besonderes. Es funktioniert, wenn ich diese iptables in der Firewall aktiviert habe (enp0s9 = Internet, 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

Mein Problem ist, dass ich die Ports 1000:2000 nur öffnen möchte, wenn die Verbindung mit dem FTP-Server besteht, nicht immer. Ich habe es mit -m state und -m conntrack versucht, aber ich glaube, ich habe etwas falsch gemacht. Irgendeine Idee? Danke

verwandte Informationen