第3章、包过滤防火墙配置举例
3.1 建立包过滤防火墙
3.1.1网络结构
本节为一个的网络结构建立一个包过滤防火墙。
这个网络结构假设内部网有有效的Internet地址。为了将内部网段198.168.80.0/24与Internet隔离,在内部网络和 Internet之间使用了包过滤防火墙。防火墙的网接口是eth1(198.168.80.254),防火墙的Internet接口是eth0 (198.199.37.254)。加外,内网中有3台服务器对外提供服务。分别为:
→ WWW服务器:IP地址为198.168.80.251
→ FTP服务器:IP地址为198.168.80.252
→ E-mail服务器:IP地址为198.168.80.253
3.1.2 防火墙的建立过程
本例主要是对内部的各种服务器提供保护。下面采用编辑并执行可执行脚本的方法建立此防火墙。具本过程如下:
#!/sbin/bash
#在屏幕上显示信息
echo "Starting iptables rules..."
#开启内核转发功能
echo "1">;/proc/sys/net/ipv4/ip_forward
#定义变量
IPT=/sbin/iptables
WWW-SERVER=198.168.80.251
FTP-SERVER=198.168.80.252
EMAIL-SERVER=198.168.80.253
IP_RANGE="198.168.80.0/24"
#刷新所有的链的规则
$IPT -F
#首先禁止转发任何包,然后再一步步设置允许通过的包
#所以首先设置防火墙FORWARD链的策略为DROP
$IPT -P FORWARD DROP
#下面设置关于服务器的包过滤规则
#由于服务器/客户机交互是双向的,所以不仅仅要设置数据包
#出去的规则,还要设置数据包返回的规则
#
#(1)WWW服务
#服务端口为80,采用tcp或udp协议
#规则为eth0=>;允许目的为内部网WWW服务器的包
$IPT -A FORWARD -p tcp -d $WWW-SERVER-dport www -i eth0 -j ACCEPT
#
#(2)FTP服务
#服务端口为21,数据端口20
#FTP的传输模式有主动和被动之分,FTP服务采用tcp协议
#规则为:eth0=>;仅允许目的为内部网ftp服务器的包
$IPT -A FORWARD -p tcp -d $FTP-SERVER -dport ftp -i eth0 -j ACCEPT
#
# (3)EMAIL服务
#包含两个协议,一个是smtp,另一个是pop3
#出于安全性考虑,通常只提供对内的pop3服务
#所以在这里我们只考虑对smtp的安全性问题
#smtp端口为25,采用tcp协议
#规则为etho=>;仅允许目的为E-mail服务器的smtp请求