linux之iptables简介
什么是防火墙
防止恶意流量访问的软件就叫做防火墙
防火墙的种类
1、软件防火墙
firewalld、iptables
2、硬件防火墙
F5
3、firewalld和iptables的区别
firewalld更简单,不过firewalld底层操作还是iptables
iptables更底层,底层操作是系统内核流量的走向
包过滤防火墙
就是过滤数据包的防火墙
iptables中的四表
具备某种功能的集合叫做表
1 filter: 负责做过滤功能:INPUT、OUTPUT、FORWARD 2 nat: 负责网络地址转换:PREROUTING、INPUT、OUTPUT、POSTROUTING 3 mangle: 负责修改数据包内容:PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD 4 raw: 负责数据包跟踪:PREROUTING、OUTPUT
iptables中的五链
1) PREROUTING: 主机外报文进入位置,允许的表mangle, nat(目标地址转换,把本机地址转换为真正 的目标机地址,通常指响应报文) 2) INPUT:报文进入本机用户空间位置,允许的表filter, mangle 3) OUTPUT:报文从本机用户空间出去的位置,允许filter, mangle, nat 4) FORWARD:报文经过路由并且发觉不是本机决定转发但还不知道从哪个网卡出去,允许filter, mangle 5) POSTROUTING:报文经过路由被转发出去,允许mangle,nat(源地址转换,把原始地址转换为转发主 机出口网卡地址)
流入本机:PREROUTING --> INPUT --> PROCESS(进程)
经过本机:PREROUTING --> FORWARD --> POSTROUTING
从本机流出:PROCESS(进程) --> OUTPUT --> POSTROUTING
总结:表的作用各有不同,链的位置各有不同。表中的链就是将表的功能放到链的具体位置去执行。
iptables流程图
流入本机: A ---> PREROUTING ---> INPUT ---> B 流出本机:OUTPUT ---> POSTROUTING ---> B 经过本机: A ---> OUTPUT ---> POSTROUTING | ---> PREROUTING ---> FORWARD ---> POSTROUTING ---> C ---> PREROUTING ---> INPUT ---> B filter : INPUT 、FORWARD、 OUTPUT nat : PREROUTING 、 INPUT、 OUTPUT、 POSTROUTING raw : PREROUTING、 OUTPUT mangle : PREROUTING INPUT FORWARD OUTPUT POSTROUTING