如何让OpenVPN上的FTP与NAT?

我使用这些iptables规则为我的OpenVPN服务器与1个网卡(eth0)

iptables -I INPUT -i eth0 -p udp --dport 1194 -j ACCEPT iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward 

这当然是太开放了。

但我希望能够通过VPN连接使用FTP。

我假设我必须把

 modprobe ip_conntrack modprobe ip_conntrack_ftp 

在我的iptables脚本的顶部。

但是,实际的iptables规则应该如何呢?

按照上面给出的规则,主动和被动模式FTP都应该立即工作。

如果你想更精确的接受ftp控制和数据连接,假设客户端在OpenVPN接口上,你可以用两个普通接受

 iptables -A FORWARD -i tun0 -o eth0 -p tcp --dport 21 -j ACCEPT iptables -A FORWARD -i eth0 -o tun0 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i tun0 -o eth0 -p tcp -m state --state ESTABLISHED -j ACCEPT