佬叁 2013-06-15
① 搭建如图所示的拓扑,将linux系统分配两个网卡,一个网卡在Vware3子网中,一个网卡在Vware2子网中,同时将ftp服务器的网卡分到Vware3子网中,将外网的一台主机的网卡分到Vware2子网中
给linux创建两个接口,,一个接口的ip地址是202.1.1.1,另一个是192.168.1.1
同时给外网的主机配置ip地址,此地址在202.1.1.0/24网段,给服务器配置ip地址,此地址在192.168.1.0/24网段
现在开启linux的路由功能 代码:echo '1' > /proc/sys/net/ipv4/ip_forward
用服务器ping外网主机测试是否能通信息
现在配置防火墙规则
#加载ftp转发模块
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
# 清除先前的设定
iptables -F
iptables -F -t mangle
iptables -F -t nat
# 设定filter table的预设政策
iptables -P INPUTDROP
iptables -P OUTPUT DROP
iptables -P FORWARDDROP
# 启动内部对外转址
iptables -t nat -APOSTROUTING -o eth1 -s 192.168.1.0/24 -j SNAT --to-source 202.1.1.1
#设置FORWARD转发规则
iptables -A FORWARD -i eth0 -o eth1 -p tcp -d 202.1.1.2 --dport 21 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp -d 202.1.1.2 --dport 20 -j ACCEPT
#设置允许established, related的数据通过FORWARD链
iptables –A FORWARD–s 202.1.1.2–m state - -state established,related–j ACCEPT
现在再用服务器ping外网主机测试是否能通信息
这时候外网访问ftp服务器会出现下面的问题
解决方法:打开客户端的internet浏览器,选择工具,选择internet选项,选择高级,取消勾选“使用被动ftp”,之后再次测试,就会成功。