Linux实验:iptables--SNAT
实验描述:
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调制解调器兼容性)”,把它前面的对号去掉,点击“确定”。然后重新打开连接界面,这样就能访问了。
转载于:https://blog.51cto.com/huairen/1219264