目录
五表----有时候称四表(filter、nat、managle、raw )
selinux
selinux 是 Redhat/CentOS 系统特有的安全机制。不过因为这个东西限制太多,配置也特别繁琐所以几乎没有人去真正应用它。所以装完系统,我们一般都要把selinux关闭,以免引起不必要的麻烦。关闭 selinux 的方法为,使 “SELINUX=disabled”, 默认为 enforcing。
修改文件 vi /etc/selinux/config
netfilter、firewalld
在centos6上的防火墙叫做netfilter,centos7上防火墙叫做firewalld,而它们底层都是基于iptables的。centos6和centos7都有iptables,这里的iptables是一个工具(或者叫命令)。
Iptables
五表----有时候称四表(filter、nat、managle、raw )
man iptables查看TABLES
filter 表用于过滤包,最常用的表,有INPUT、FORWARD、OUTPUT三个链
nat 表用于网络地址转换,有PREROUTING、OUTPUT、POSTROUTING三个链
managle 表用于给数据包做标记,然后根据标记去操作那些包,几乎用不到
raw 表可以实现不追踪某些数据包,几乎用不到
security 表在centos6中并没有(此时四表),用于强制访问控制(MAC)的网络规则,由Linux安全模块(如SELinux)实现,规则太复杂几乎用很少用。
规则优先:security -->raw-->mangle-->nat-->filter
常用到的表基本在nat、filter
五链
INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
INPUT:进来的数据包应用此规则链中的策略。(包含:filter,mangle)
OUTPUT:外出的数据包应用此规则链中的策略。(包含:filter,nat,mangle,raw)
FORWARD:转发数据包时应用此规则链中的策略。(包含:filter,mangle)
PREROUTING:对数据包作路由选择前应用此链中的规则。(包含:nat,mangle,raw)
POSTROUTING:对数据包作路由选择后应用此链中的规则。(包含:nat,mangle,raw)
报文流向
- 流入本机:PREROUTING --> INPUT–>用户空间进程
- 流出本机:用户空间进程 -->OUTPUT–> POSTROUTING
- 转发:PREROUTING --> FORWARD --> POSTROUTING
N规则
就是在表中添加管理具体链的规则
防火墙检查:
getenforce 查看当前 selinux 的状态,Enforcing 表示开启,Permissive 表示关闭。
setenforce 0 临时关闭 selinux
vi /etc/selinux/config 进入配置selinux文件,更改SELINUX=disabled,可以永久关闭selinux
systemctl disable firewalld 表示先停止防火墙服务
systemctl stop firewalld 表示关闭防火墙服务
5个表: filter,nat,mangle,raw,security
5个链: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
本机: PREROUTING →INPUT →OUTPUT →POSTROUTING
非本机:PREROUTING→FORWARD→POSTROUTING
主要参考:selinux 、firewalld 、 netfilter 及其5表5链_Jolie的技术博客_51CTO博客
以及度娘