firewall和netfilter

  • firewall和netfilter-LMLPHP
  • 临时关闭防火墙 selinux 使用命令 setenforce 0
  • 如果想永久关闭防火墙,需要修改配置文件
  • 配置文件地址是 /etc/selinux/config
  • 可以使用 vi /etc/selinux/config 进行修改
  • firewall和netfilter-LMLPHP
  • 如图,打开config文件后,可以看到上图内容
  • 这里需要把 SELINUX=enforcing 的值 修改为 disabled
  • 也就是 SELINUX=disabled ,然后保存退出,重启系统就生效了
  • firewall和netfilter-LMLPHP
  • 如图,命令 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
  • firewall和netfilter-LMLPHP
  • 如图,systemctl disable firewalld 关闭firewalld,这样重启后就不会启动firewalld
  • 下面的命令 systenctl stop firewalld 是停止正在运行的firewalld服务
  • 这样就把 firewalld 设置为关闭,并且停止了正在运行的firewalld
  • firewall和netfilter-LMLPHP
  • 要使用 iptables 要先安装一个包,如上图
10-05 06:39