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...