centos7的防火牆(firewalld)

2021-08-10 07:38:28 字數 2972 閱讀 9382

centos7中預設將原來的防火牆iptables公升級為了firewalld,firewalld跟iptables比起來至少有兩大好處:

1、firewalld可以動態修改單條規則,而不需要像iptables那樣,在修改了規則後必須得全部重新整理才可以生效;

2、firewalld在使用上要比iptables人性化很多,即使不明白「五張表五條鏈」而且對tcp/ip協議也不理解也可以實現大部分功能。

firewalld 提供了支援網路/防火牆區域(zone)定義網路鏈結以及介面安全等級的動態防火牆管理工具。它支援 ipv4, ipv6 防火牆設定以及乙太網橋接,並且擁有執行時配置和永久配置選項。它也支援允許服務或者應用程式直接新增防火牆規則的介面。 以前的 system-config-firewall/lokkit 防火牆模型是靜態的,每次修改都要求防火牆完全重啟。這個過程包括核心 netfilter 防火牆模組的解除安裝和新配置所需模組的裝載等。而模組的解除安裝將會破壞狀態防火牆和確立的連線。

firewalld自身並不具備防火牆的功能,而是和iptables一樣需要通過核心的netfilter來實現,也就是說firewalld和 iptables一樣,他們的作用都是用於維護規則,而真正使用規則幹活的是核心的netfilter,只不過firewalld和iptables的結 構以及使用方法不一樣罷了。

firewalld的結構

我們這裡所說的結構並不是firewalld軟體的結構,而是配置檔案的結構。

在具體介紹firewalld配置檔案結構之前學生先來給大家介紹一下firewalld的配置模式,firewalld的配置模式設計的非常巧妙,而且這種設計思路也非常值得我們借鑑和學習。

firewalld的配置檔案以xml格式為主(主配置檔案firewalld.conf例外),他們有兩個儲存位置

使用者配置目錄 /etc/firewalld/

系統配置目錄 /usr/lib/firewalld/services

使用時的規則是這樣的:當需要乙個檔案時firewalld會首先到第乙個目錄中去查詢,如果可以找到,那麼就直接使用,否則會繼續到第二個目錄中查詢。

firewalld的配置檔案結構非常簡單,主要有兩個檔案和三個目錄:

檔案:firewalld.conf、lockdown-whitelist.xml

目錄:zones、services、icmptypes

另外,如果使用到direct,還會有乙個direct.xml檔案。我們要注意,在儲存預設配置的目錄「/usr/lib/firewalld/」中只有我們這裡所說的目錄,而沒有firewalld.conf、lockdown-whitelist.xml和direct.xml這三個檔案,也就是說這三個檔案只存在於「/etc/firewalld/」目錄中。

立即生效無需重啟

例子開啟80埠

firewall-cmd --zone=public --add-port=80/tcp --permanent

# 出現success表明新增成功

--zone #作用域

--add-port=80/tcp #新增埠,格式為:埠/通訊協議

--permanent #永久生效,沒有此引數重啟後失效

重啟防火牆

systemctl restart firewalld.service
firewall

-cmd--

zone=

public--

remove

-port=80/tcp--

permanent

切換到iptables首先應該關掉預設的firewalld,然後安裝iptables服務。

-* 關閉firewall*:

service firewalld stop

systemctl disable firewalld.service #禁止firewall開機啟動

yum install iptables-services #安裝
vi /etc/sysconfig/iptables #編輯防火牆配置檔案
firewall configuration written by system-config-firewall

manual customization of this file is not recommended.

*filter

:input accept [0:0]

:forward accept [0:0]

:output accept [0:0]

-a input -m state --state established,related -j accept

-a input -p icmp -j accept

-a input -i lo -j accept

-a input -m state --state new -m tcp -p tcp --dport 22 -j accept

-a input -m state --state new -m tcp -p tcp --dport 80 -j accept

-a input -m state --state new -m tcp -p tcp --dport 3306 -j accept

-a input -j reject --reject-with icmp-host-prohibited

-a forward -j reject --reject-with icmp-host-prohibited

commit

:wq! #儲存退出

service iptables start #開啟

systemctl enable iptables.service

#設定防火牆開機啟動

centos7 防火牆新增例外埠firewall

1.檢視防火牆執行狀態 root localhost firewall cmd state running2.新增埠,以8080為例 root localhost firewall cmd permanent zone public add port 8080 tcp success命令含義 zon...

centos7防火牆配置

centos7防火牆配置 centos7使用的是linux kernel 3.10.0的核心版本,新版的kernel核心已經有了防火牆netfilter,並且firewalld的使用效能更高,穩定性更好。centos7配置防火牆的兩種方法 一 使用xml配置檔案的方式配置 方法一cp usr lib...

Centos7 關閉防火牆

centos7 關閉防火牆 centos 7.0預設使用的是firewall作為防火牆,使用iptables必須重新設定一下 1 直接關閉防火牆 systemctl stop firewalld.service 停止firewall systemctl disable firewalld.servi...