Tôi có một vấn đề lớn. Hãy để tôi giải thích. Tôi đã cấu hình hai máy, một máy được gọi là "fw" là tường lửa và máy còn lại được kết nối với máy này được gọi là "máy chủ", cả hai đều là hệ thống Debian 10 buster. Máy fw dùng iptables để giả IP. "IP công cộng": 88.20.100.2, dải địa phương: 192.168.150.0/24
Đây là cấu hình máy chủ FTP của tôi, vsftpd để có chế độ thụ động
pasv_enable=Có
pasv_max_port=2000
pasv_min_port=1000
pasv_address=88.20.100.2
Bất cứ điều gì đặc biệt. Nó hoạt động nếu tôi bật iptables này trên tường lửa (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 CHẤP NHẬN
iptables -A FORWARD -p tcp --sport 21 -i enp0s3 -o enp0s9 -s 192.168.150.98 -j CHẤP NHẬN
iptables -A FORWARD -p tcp --dport 1000:2000 -d 192.168.150.98 -i enp0s9 -o enp0s3 -j CHẤP NHẬN
iptables -A FORWARD -p tcp --sport 1000:2000 -s 192.168.150.98 -i enp0s3 -o enp0s9 -j CHẤP NHẬN
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
Vấn đề của tôi là tôi chỉ muốn có thể mở các cổng 1000:2000 khi kết nối liên quan đến máy chủ FTP, không phải lúc nào cũng vậy. Tôi đã thử với -m state và -m conntrack nhưng tôi đoán mình đã làm sai điều gì đó. Bất kỳ ý tưởng? Cảm ơn