- 資訊首頁(yè) > 互聯(lián)網(wǎng) > 經(jīng)驗分享 >
- CentOS7系統的Firewalld防火墻基礎命令詳解
一、Linux防火墻的基礎
Linux的防火墻體系主要工作在網(wǎng)絡(luò )層,針對TCP/IP數據包實(shí)時(shí)過(guò)濾和限制,屬于典型的包過(guò)濾防火墻(或稱(chēng)為網(wǎng)絡(luò )層防火墻)。Linux系統的防火墻體系基于內核共存:firewalld、iptables、ebtables,默認使用firewalld來(lái)管理netfilter子系統。
1、firewalld概述
firewalld的作用是為包過(guò)濾機制提供匹配規則(或稱(chēng)為策略),通過(guò)各種不同的規則,告訴netfilter對來(lái)自指定源,前往指定目的或具有某些協(xié)議特征的數據包采取何種處理方式。為了更加方便地組織和管理防火墻,firewalld提供了支持網(wǎng)絡(luò )區域所定義的網(wǎng)絡(luò )鏈接以及接口安全等級的動(dòng)態(tài)防火墻管理工具。支持IPv4、IPv6防火墻設置以及以太網(wǎng)橋,并且擁有兩種配置模式:
還支持服務(wù)或應用程序直接添加防火墻規則接口。
2、firewalld網(wǎng)絡(luò )區域
firewalld將所有的網(wǎng)絡(luò )數據流量劃分為多個(gè)區域,從而簡(jiǎn)化防火墻管理。根據數據包的源IP地址或傳入網(wǎng)絡(luò )接口等條件,將數據流量轉入相應區域的防火墻規則。
對于進(jìn)入系統的數據包,首先檢查的就是其源地址:
默認區域不是單獨的區域,而是指向系統上定義的某個(gè)其他區域。默認情況下,默認區域是public,但是也可以更改默認區域。以上匹配規則,按照先后順序,第一個(gè)匹配的規則勝出。在每個(gè)區域中都可以配置其要打開(kāi)或者關(guān)閉的一系列服務(wù)或端口,firewalld的每個(gè)預定義的區域都設置了默認打開(kāi)的服務(wù)。
3、firewalld預定義區域說(shuō)明
二、firewalld防火墻的配置方法
在Centos 7系統中,可以使用三種方式配置firewalld防火墻:
一般情況下,不建議直接編輯配置文件;
1、firewalld-cmd的基礎命令
[root@centos01 ~]# systemctl start firewalld <!--啟動(dòng)firewalld-->
[root@centos01 ~]# systemctl enable firewalld<!--設置開(kāi)機自動(dòng)啟動(dòng)firewalld-->
[root@centos01 ~]# systemctl status firewalld <!--查看防火墻運行狀態(tài)-->
[root@localhost ~]# firewall-cmd --state <!--查看防火墻允許狀態(tài)-->
running
[root@centos01 ~]# systemctl stop firewalld<!--停止firewalld-->
[root@centos01 ~]# systemctl disable firewalld<!--設置開(kāi)機不自動(dòng)啟動(dòng)firewalld-->
[root@centos01 ~]# firewall-cmd --get-zones <!--查看防火墻預定義的區域-->
[root@centos01 ~]# firewall-cmd --get-service <!--查看防火墻支持的預定義服務(wù)類(lèi)型-->
[root@centos01 ~]# firewall-cmd --get-default-zone <!--查看系統的默認區域 -->
[root@localhost /]# firewall-cmd --reload <!--重載防火墻-->
[root@centos01 ~]# firewall-cmd --get-active-zones <!--查看激活的區域-->
[root@centos01 ~]# firewall-cmd --get-icmptypes <!--顯示預定義的ICMP類(lèi)型-->
address-unreachable bad-header communication-prohibited destination-unreachable
echo-reply echo-request fragmentation-needed host-precedence-violation host-prohibited
host-redirect host-unknown host-unreachable ip-header-bad neighbour-advertisement
neighbour-solicitation network-prohibited network-redirect network-unknown
network-unreachable no-route packet-too-big parameter-problem port-unreachable
precedence-cutoff protocol-unreachable redirect required-option-missing
router-advertisement router-solicitation source-quench source-route-failed time-exceeded
timestamp-reply timestamp-request tos-host-redirect tos-host-unreachable
tos-network-redirect tos-network-unreachable ttl-zero-during-reassembly
ttl-zero-during-transit unknown-header-type unknown-option
firewall-cmd –get-icmptypes命令執行結果中部分阻塞類(lèi)型的含義如下:
2、firewalld區域管理選項
區域管理示例如下:
[root@centos01 ~]# firewall-cmd --get-default-zone <!--顯示當前系統中的默認區域-->
[root@centos01 ~]# firewall-cmd --list-all<!--顯示默認區域的所有規則-->
[root@centos01 ~]# firewall-cmd --get-zone-of-interface=ens32 <!--查看ens32接口所在的區域-->
internal
[root@centos01 ~]# firewall-cmd --zone=internal --change-interface=ens32 <!--修改ens32接口對應的區域更改到internal區域-->
The interface is under control of NetworkManager, setting zone to 'internal'.
success
[root@centos01 ~]# firewall-cmd --zone=internal --list-interface <!--查看internal區域的接口列表-->
ens32
[root@centos01 ~]# firewall-cmd --get-active-zones <!--顯示所有激活區域-->
internal
interfaces: ens32
3、firewalld服務(wù)管理
為了方便管理,firewalld預先定義了很多服務(wù),存放在/usr/lib/firewalld/services/目錄中,服務(wù)通過(guò)單個(gè)的XML配置文件來(lái)指定。這些配置文件則按以下格式命名:service-name.xml,每個(gè)文件對應一項具體的網(wǎng)絡(luò )服務(wù),如ssh服務(wù)等。我們需要將service配置文件放置在/etc/firewalld/services/目錄中。service配置具有以下優(yōu)點(diǎn):
通過(guò)服務(wù)名字來(lái)管理規則更加人性化;
通過(guò)服務(wù)來(lái)組織端口分組的模式更加高效,如果一個(gè)服務(wù)使用了若干個(gè)網(wǎng)絡(luò )端口,則服務(wù)的配置文件就相當于提供了到這些端口的規則管理的批量操作快捷方式;
1)firewalld-cmd命令區域中服務(wù)管理的常用選項說(shuō)明:
2)firewalld服務(wù)管理示例如下(為默認區域設置允許訪(fǎng)問(wèn)的服務(wù)):
[root@centos01 ~]# firewall-cmd --list-services <!--顯示默認區域內允許訪(fǎng)問(wèn)的所有服務(wù)-->
dhcpv6-client ssh
[root@centos01 ~]# firewall-cmd --add-service=http <!--設置默認區域允許訪(fǎng)問(wèn)http服務(wù)-->
success
[root@centos01 ~]# firewall-cmd --add-service=https <!--設置默認區域允許訪(fǎng)問(wèn)https服務(wù)-->
success
[root@centos01 ~]# firewall-cmd --list-services <!--顯示默認區域內允許訪(fǎng)問(wèn)的所有服務(wù)-->
dhcpv6-client ssh https http
3)firewalld服務(wù)管理示例如下(為internal區域設置允許訪(fǎng)問(wèn)的服務(wù)):
[root@centos01 ~]# firewall-cmd --zone=internal --add-service=mysql
<!--設置internal區域允許訪(fǎng)問(wèn)mysql服務(wù)-->
success
[root@centos01 ~]# firewall-cmd --zone=internal --remove-service=samba-client
<!--設置internal區域不允許訪(fǎng)問(wèn)Samba-client服務(wù)-->
success
[root@centos01 ~]# firewall-cmd --zone=internal --list-services
<!--顯示internal區域內允許訪(fǎng)問(wèn)的所有服務(wù)-->
ssh mdns dhcpv6-client mysql
4、端口管理
在進(jìn)行服務(wù)配置時(shí),預定義的網(wǎng)絡(luò )服務(wù)可以使用服務(wù)名配置,服務(wù)所涉及的端口就會(huì )自動(dòng)打開(kāi)。但是,對于非預定義的服務(wù)只能手動(dòng)為指定的區域添加端口。例如,執行以下操作即可實(shí)現在internal區域打開(kāi)443/TCP端口。示例如下:
[root@centos01 ~]# firewall-cmd --zone=internal --add-port=443/tcp
<!--在internal區域打開(kāi)443/tcp端口-->
success
若想實(shí)現在internal區域禁止443/TCP端口訪(fǎng)問(wèn),可執行以下命令:
[root@centos01 ~]# firewall-cmd --zone=internal --remove-port=443/tcp
<!--在internal區域禁止443/tcp端口訪(fǎng)問(wèn)-->
success
以上配置都為臨時(shí)配置,若想將當前配置保存為永久配置,可以使用下面命令:
[root@centos01 ~]# firewall-cmd --runtime-to-permanent
success
直接配置為永久性規則,須帶–permanent選項,如下:
[root@centos01 ~]# firewall-cmd --add-icmp-block=echo-request --permanent <!--禁止ping-->
success
[root@centos01 ~]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent
<!--配置external區域禁止ping-->
success
三、firewalld兩種配置模式
前面提到firewall-cmd命令工具有兩種配置模式:運行時(shí)模式(Runtime mode)表示當前內存中運行的防火墻配置,在系統或firewalld服務(wù)重啟、停止時(shí)配置將失效;永久模式(Permanent mode)表示重啟防火墻或重新加載防火墻時(shí)的規則配置,是永久存儲在配置文件中的。
firewall-cmd命令工具與配置模式相關(guān)的選項有三個(gè):
來(lái)源鏈接:https://www.zyhot.com/article/4854.html
本站聲明:網(wǎng)站內容來(lái)源于網(wǎng)絡(luò ),如有侵權,請聯(lián)系我們,我們將及時(shí)處理。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站