实验描述:

Linux系统主机作为防火墙,装有两块网卡eth0、eth1,eth0的IP地址作为内网的网关,负责内网的数据,eth1用于连接外网。本实验实现内部主机XP1访问外部主机XP2的FTP服务,实现数据的下载和上传。

实验图形描述:

实验步骤:

#打开forward功能

echo ‘1’ > /proc/sys/net/ipv4/ip_forward

#加载ftp转发模块

modprobe ip_nat_ftp

modprobe ip_conntrack_ftp


#清除默认规则

iptables -F

iptables -F -t mangle

iptables -F -t nat


# 设定 filter table 的预设政策

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP


# 启动内部对外转址

iptables -t nat -A POSTROUTING -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


注意:

如果在XP1使用的是图形界面访问XP2的ftp时肯定会连接不上,因为这是主动连接模式,我们可以做一些调整来实现连接。

1、单击“工具”->“Internet选项”

2、在弹出的窗口中选中“高级”,在下面的选项中找到“使用被动ftp(为防火墙和DSL调制解调器兼容性)”,把它前面的对号去掉,点击“确定”。然后重新打开连接界面,这样就能访问了。