firewall和netfilter
- 临时关闭防火墙 selinux 使用命令 setenforce 0
- 如果想永久关闭防火墙,需要修改配置文件
- 配置文件地址是 /etc/selinux/config
- 可以使用 vi /etc/selinux/config 进行修改
- 如图,打开config文件后,可以看到上图内容
- 这里需要把 SELINUX=enforcing 的值 修改为 disabled
- 也就是 SELINUX=disabled ,然后保存退出,重启系统就生效了
- 如图,命令 getenforce 可以查看 selinux 的状态
- 上图显示为 Enforcing 表示是打开状态
- 使用 setenforce 0 命令把 selinux 临时关闭
- 然后再使用 getenforce 查看 selinux 的状态
- 可以看到变成了 Permissive
- Permissive的意思是,一些会触发防火墙的操作,系统会提出警告
- 如果是 Enforcing 状态,系统会直接打断操作
- 而 Permissive 状态下,系统不会打断操作,但是会在后台记录警告信息
- 也就是说,可以进行一些会触发 selinux 的操作
- 除了selinux这个防火墙外,还有另外一个防火墙叫做 netfilter
- selinux防火墙是对内的,而 netfilter 是对外的
- 网络过来的包会被netfilter处理,如果通过了netfilter
- 进入到系统内部,则会受到 selinux 的限制
- 想要控制 netfilter 工作
- 可以使用 iptables 和 firewalld 这两个工具来操作netfilter
- centOS7 之前的版本,都是使用 iptables 来操作 netfilter
- 从centOS7开始,新增了 firewalld 工具也可以操作 netfilter
- firewalld 本质上是 iptables 的封装
- firewalld 的命令实际上也是由 iptables 来实现的
- 等于是把复杂的iptables命令封装起来,变成一条简单的firewalld命令
- 两者是互相补充的关系,简单的操作可以用firewalld来处理
- 一些复杂的,firewalld难以处理的操作,可以用iptables来处理
- 当然,全部使用 iptables 来处理也是可行的
- centOS7 默认使用的是 firewalld
- 如果想使用 iptables 需要先关闭 firewalld
- 如图,systemctl disable firewalld 关闭firewalld,这样重启后就不会启动firewalld
- 下面的命令 systenctl stop firewalld 是停止正在运行的firewalld服务
- 这样就把 firewalld 设置为关闭,并且停止了正在运行的firewalld
- 要使用 iptables 要先安装一个包,如上图