文章插圖

文章插圖
一.前言
Centos7以上的發行版都試自帶了firewalld防火墻的,firewalld去帶了iptables防火墻 。其原因是iptables的防火墻策略是交由內核層面的netfilter網絡過濾器來處理的,而firewalld則是交由內核層面的nftables包過濾框架來處理 。相較于iptables防火墻而言,firewalld支持動態更新技術并加入了區域(zone)的概念 。簡單來說,區域就是firewalld預先準備了幾套防火墻策略集合(策略模板),用戶可以根據生產場景的不同而選擇合適的策略集合,從而實現防火墻策略之間的快速切換 。
區域對于 firewalld 來說是一大特色,但是對于我們使用Centos7一般是在服務器上,需要切換zone的需求比較少,所以本文不做介紹了,網上資料也比較多,大家可以去百度找找資料 。
二.操作與配置
1.服務操作
【centos打開防火墻命令 centos7.0關閉防火墻命令】啟動服務:
systemctl start firewalld
這里不用擔心啟用了防火墻以后無法通過ssh遠程,22端口默認加入了允許規則停止服務:
systemctl stop firewalld 重啟服務:
systemctl restart firewalld 查看服務狀態:
systemctl status firewalld 2.配置文件說明
firewalld 存放配置文件有兩個目錄,/usr/lib/firewalld 和 /etc/firewalld,前者存放了一些默認的文件,后者主要是存放用戶自定義的數據,所以我們添加的service或者rule都在后者下面進行 。
server 文件夾存儲服務數據,就是一組定義好的規則 。
zones 存儲區域規則
firewalld.conf 默認配置文件,可以設置默認使用的區域,默認區域為 public,對應 zones目錄下的 public.xml
三.命令
這里需要首先說明的是,在執行命令時,如果沒有帶 –permanent 參數表示配置立即生效,但是不會對該配置進行存儲,相當于重啟服務器就會丟失 。如果帶上則會將配置存儲到配置文件,,但是這種僅僅是將配置存儲到文件,卻并不會實時生效,需要執行 firewall-cmd –reload 命令重載配置才會生效 。
1.重載防火墻配置
firewall-cmd --reload 2.查看防火墻運行狀態
firewall-cmd --state 3.查看默認區域的設置
firewall-cmd --list-all 4.應急命令
firewall-cmd --panic-on # 拒絕所有流量,遠程連接會立即斷開,只有本地能登陸 firewall-cmd --panic-off # 取消應急模式,但需要重啟firewalld后才可以遠程ssh firewall-cmd --query-panic # 查看是否為應急模式 5.服務
firewall-cmd --add-service=<service name> #添加服務 firewall-cmd --remove-service=<service name> #移除服務 6.端口
firewall-cmd --add-port=<port>/<protocol> #添加端口/協議(TCP/UDP) firewall-cmd --remove-port=<port>/<protocol> #移除端口/協議(TCP/UDP) firewall-cmd --list-ports #查看開放的端口 7.協議
firewall-cmd --add-protocol=<protocol> # 允許協議 (例:icmp,即允許ping) firewall-cmd --remove-protocol=<protocol> # 取消協議 firewall-cmd --list-protocols # 查看允許的協議 8.允許指定ip的所有流量
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" accept" 例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" accept" # 表示允許來自192.168.2.1的所有流量 9.允許指定ip的指定協議
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" protocol value="http://www.mnbkw.com/jxjc/173411/
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" protocol value="http://www.mnbkw.com/jxjc/173411/icmp" accept" # 允許192.168.2.208主機的icmp協議,即允許192.168.2.208主機ping 10.允許指定ip訪問指定服務
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" service name="<service name>" accept" 例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" service name="ssh" accept" # 允許192.168.2.208主機訪問ssh服務 11.允許指定ip訪問指定端口
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" port protocol="<port protocol>" port="<port>" accept" 例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" port protocol="tcp" port="22" accept" # 允許192.168.2.1主機訪問22端口 12.將指定ip改為網段
8-11 的各個命令都支持 source address 設置為網段,即這個網段的ip都是適配這個規則:
例如:
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" accept" 表示允許192.168.2.0/24網段的主機訪問22端口。
13.禁止指定ip/網段
8-12 各個命令中,將 accept 設置為 reject 表示拒絕,設置為 drop表示直接丟棄(會返回timeout連接超時)
例如:
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" reject" 表示禁止192.168.2.0/24網段的主機訪問22端口。
- excel單元格數據太大無法打開 Excel太大打不開
- ape是什么格式的音樂,怎么打開 ape是什么格式的音樂格式
- 電視畫面不動是怎么回事 電視機打開后畫面不動
- 電腦防火墻哪個好 電腦防火墻軟件推薦
- 防火墻布置在哪 防火墻放置位置
- 防御ddos攻擊防火墻 防ddos攻擊的服務器
- 蘋果電腦怎么打開apk文件 電腦怎么打開apk文件的軟件
- 手機可以打開bat文件嗎 手機怎么看bat文件
- 如何準確與對方復合 復合的準確打開方式
- txv用什么打開 txv文件怎么用
