实验要求
1. 利用Linux自带的iptables配置防火墙。完成如下配置:
要求:(1)阻止任何外部世界直接与防火墙内部网段直接通讯
(2)允许内部用户通过防火墙访问外部HTTP服务器允许内部用户通过防火墙访问外部HTTPS服务器
(3)允许内部用户通过防火结防问外部FTP服务器。
(4)其余功能可自行添加,作为加分项。
iptables防火墙简介
在linux上设置防火墙规则时,一定要先用uname -r 追踪一下内核版本,2.4和2.6使用的是iptables防火墙机制
iptables里面有多个表格,每个表格都定义出自己的默认策略和规则,
1、规则链
规则的作用在于对数据包进行过滤或处理,根据处理时机的不同,各种规则被组织在不同的“链”中规则链是防火墙规则/策略的集合
默认的5种规则链
INPUT:处理入站数据包
OUTPUT:处理出站数据包
FORWARD:处理转发数据包
POSTROUTING链:在进行路由选择后处理数据包
PREROUTING链:在进行路由选择前处理数据包
2、规则表
具有某一类相似用途的防火墙规则,按照不同处理时机区分到不同的规则链以后,被归置到不同的“表”中规则表是规则链的集合
默认的4个规则表
raw表:确定是否对该数据包进行状态跟踪
mangle表:为数据包设置标记
nat表:修改数据包中的源、目标IP地址或端口
filter表:确定是否放行该数据包(过滤)
3、规则表间的优先顺序
依次为:raw、mangle、nat、filter
raw(PREROUTING、OUTPUT)
mangle(INPUT、OUTPUT、FORWARD、 POSTROUTING、PREROUTING)
nat(POSTROUTING、PREROUTING、OUTPUT)
filter(INPUT、FORWARD、OUTPUT)
规则链间的匹配顺序
入站数据:PREROUTING、INPUT
出站数据:OUTPUT、POSTROUTING
转发数据:PREROUTING、FORWARD、POSTROUTING
规则链内的匹配顺序
按顺序依次进行检查,找到相匹配的规则即停止(LOG策略会有例外)
若在该链内找不到相匹配的规则,则按该链的默认策略处理
4、iptables命令的语法格式
iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;