CentOS7 默認防火牆firewalld

  firewalld基礎

  firewalld是CentOS7源生支持的防火牆,firewalld最大的好處有兩個:支持動態更新,不用重啓服務;第二個就是加入了防火牆的「zone」概念。bash

  firewalld的字符界面管理工具是 firewall-cmdtcp

  firewalld默認配置文件有兩個:/usr/lib/firewalld/ (系統配置,儘可能不要修改)和 /etc/firewalld/ (用戶配置地址)工具

  zone概念相似於劃分適用規則區域,firewalld引入這一律念系統默認存在如下區域:spa

    drop:默認丟棄全部包blog

    block:拒絕全部外部鏈接,容許內部發起的鏈接接口

    public:指定外部鏈接能夠進入rem

    external:這個不太明白,功能上和上面相同,容許指定的外部鏈接get

    dmz:和硬件防火牆同樣,受限制的公共鏈接能夠進入cmd

    work:工做區,概念和workgoup同樣,也是指定的外部鏈接容許io

    home:相似家庭組

    internal:信任全部鏈接

  安裝firewalld

  CentOS7默認安裝firewalld。firewalld能夠經過yum來安裝和管理。

$ sudo yum install firewalld firewall-config

  運行、中止、禁用firewalld

  啓動:

$ systemctl start firewalld

  查看狀態:

$ systemctl status firewalld
$ firewall-cmd --state

  中止:

$ systemctl disable firewalld

  禁用:

$ systemctl stop firewalld

  經常使用配置firewalld命令

  查看版本:

$ firewall-cmd --version

  查看幫助:

$ firewall-cmd --help

  顯示狀態:

$ firewall-cmd --state

  查看區域信息: 

$ firewall-cmd --get-active-zones

  查看指定接口所屬區域:

$ firewall-cmd --get-zone-of-interface=eth0

  拒絕全部包:

$ firewall-cmd --panic-on

  取消拒絕狀態:

$ firewall-cmd --panic-off

  查看是否拒絕:

$ firewall-cmd --query-panic

  更新防火牆規則:

$ firewall-cmd --reload
$ firewall-cmd --complete-reload

  二者的區別就是第一個無需斷開鏈接,就是firewalld特性之一動態添加規則,第二個須要斷開鏈接,相似重啓服務

  將接口添加到區域,默認接口都在public

$ firewall-cmd --zone=public --add-interface=eth0

  設置默認接口區域

$ firewall-cmd --set-default-zone=public

  查看全部打開的端口:

$ firewall-cmd --zone=dmz --list-ports

  加入一個端口到區域:

$ firewall-cmd --zone=dmz --add-port=8080/tcp

  打開一個服務,相似於將端口可視化,服務須要在配置文件中添加,/etc/firewalld 目錄下有services文件夾

$ firewall-cmd --zone=work --add-service=smtp

  移除服務

$ firewall-cmd --zone=work --remove-service=smtp

  以上設置若要永久生效需再加上 --permanent 而後reload防火牆

相關文章
相關標籤/搜索