1、防火墙:内核中具有包过滤体系
内核态:netfilter

用户态:iptables 管理工具

工作在网络层:可以对ip地址、端口、协议等信息进行处理

2、规则链:规则的集合

五种链:(必须大写)

INPUT:入站

OUTPUT:出站

FORWARD:转发

POSTROUTING:路由后转换

PREROUTING:路由前转换

3、规则表:规则链的集合

有4个表:

Raw:状态跟踪

Mangle:设置标记

Nat:地址转换

Filter:包过滤

4、规则的匹配顺序:

按顺序依次检查,匹配即停止(LOG策略除外),无匹配项,执行默认策略。

5、iptables语法:

Iptables -t 表名 命令选项 链名 条件选项 -j 控制类型

1) 不指定表名,为filter表

2) 命令选项、链名、控制类型必须大写,其他必须小写

3) 条件选项可以设置多项

6、控制类型:

1)ACCEPT:允许

2)REJECT:拒绝,返回信息

3)DROP:丢弃,无信息

4)LOG:记录日志,传给下一条规则

5)SNAT:源地址转换

6)DNAT:目标地址转换

7)MASQUERADE:ip伪装,源地址转换

8)REDIRECT:重定向

7、命令选项:

-A:追加到末尾

-I:插入(默认插入到第一条)

-L:查看

-D:删除(必须加序号)

-F:清空,但默认策略不清空

-P:默认策略,只有ACCEPT或DROP两种

-R:替换

-X:删除自定义链

-N:新建自定义链

-n:以数字方式显示

--line-number:添加序号

8、条件选项:

1)通用匹配:不依赖于任何条件可直接使用

-s:源地址 -d:目标地址

-p:协议 -i:入口

-o:出口 !:取反

2)隐含匹配:依赖指定的协议

--sport:源端口 --dport:目标端口

--tcp—flags:TCP标记

--icmp-type:icmp类型,有两种:

Echo-request(可用8代替) 请求

Echo-reply(可用0代替) 回应

开启转发功能:

永久有效:vim /etc/sysctl.conf

      Net.ipv4.ip_forward=1

生效:sysctl -p

临时转发,立即生效

Sysctl -w net.ipv4.ip_forward=1

Echo “1” > /proc/sys/net/ipv4/ip_forward

4) 显示配置:依赖于指定的功能模块,必须明确指定模块名称才可以使用

多端口匹配:-m multiport --sports 源端口列表

        -m  multiport  --dports   目的端口列表

IP范围匹配:-m iprange --src-range ip范围

MAC地址匹配:-m mac --mac-source MAC地址

状态匹配:-m state --state 连接状态