|
|
请各位帮忙看一下这个iptables做的NAT有什么问题
用3台电脑模拟了一下NAT,具体配置如下:
A机:10.187.0.1/255.0.0.0
B机:eth0: 10.187.0.2/255.0.0.0
eth1: 192.168.0.1/255.255.255.0
C机:192.168.0.2/255.255.255.0
其中A模拟外网的机器,B作NAT,C为内网
三台机器都开了ftp服务
结果A->C(透过B的4421端口映射), C->A, C->B的ftp server连接都没问题,但是A->B的ftp server就不行,无法进入pasv模式,只能以port方式连接~~
大家帮忙看一下这个脚本问题出在哪?
小弟菜鸟~~各位帮帮忙啊~~~
echo 1 >/proc/sys/net/ipv4/ip_forward
/sbin/modprobe iptable_filter
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F OUTPUT
/sbin/iptables -F POSTROUTING -t nat
/sbin/iptables -F PREROUTING -t nat
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -d 10.187.0.2 -p tcp --dport 52700 -j ACCEPT (B的ftp server端口52700)
/sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 10.187.0.2
/sbin/iptables -t nat -A PREROUTING -i eth0 -d 10.187.0.2 -p tcp --dport 4421 -j DNAT --to 192.168.0.2:21
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.2 -p tcp --sport 21 -j SNAT --to 10.187.0.2:4421
/sbin/iptables -A FORWARD -i eth0 -d 192.168.0.2 -p tcp --dport 21 -j ACCEPT(C的ftp server端口21) |
|