tft每日頭條

 > 生活

 > centos7開啟防火牆命令

centos7開啟防火牆命令

生活 更新时间:2025-01-07 18:50:17

centos7開啟防火牆命令? Centos7以上的發行版都試自帶了firewalld防火牆的,firewalld去帶了iptables防火牆其原因是iptables的防火牆策略是交由内核層面的netfilter網絡過濾器來處理的,而firewalld則是交由内核層面的nftables包過濾框架來處理 相較于iptables防火牆而言,firewalld支持動态更新技術并加入了區域(zone)的概念簡單來說,區域就是firewalld預先準備了幾套防火牆策略集合(策略模闆),用戶可以根據生産場景的不同而選擇合适的策略集合,從而實現防火牆策略之間的快速切換,接下來我們就來聊聊關于centos7開啟防火牆命令?以下内容大家不妨參考一二希望能幫到您!

centos7開啟防火牆命令(設置centos7開啟防火牆功能)1

centos7開啟防火牆命令

一.前言

Centos7以上的發行版都試自帶了firewalld防火牆的,firewalld去帶了iptables防火牆。其原因是iptables的防火牆策略是交由内核層面的netfilter網絡過濾器來處理的,而firewalld則是交由内核層面的nftables包過濾框架來處理。 相較于iptables防火牆而言,firewalld支持動态更新技術并加入了區域(zone)的概念。簡單來說,區域就是firewalld預先準備了幾套防火牆策略集合(策略模闆),用戶可以根據生産場景的不同而選擇合适的策略集合,從而實現防火牆策略之間的快速切換。

區域對于 firewalld 來說是一大特色,但是對于我們使用Centos7一般是在服務器上,需要切換zone的需求比較少,所以本文不做介紹了,網上資料也比較多,大家可以去百度找找資料。

二.操作與配置

1.服務操作

啟動服務:

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="<protocol>" accept"

例:

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" protocol value="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端口 。

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved