日本三级片在线观看视频_西西大胆午夜人体视频无码_少妇无码一区二区_亚洲天堂超碰_极品少妇被猛的白浆直流_91精品云霸高清中文字幕_草草五月天伊人_久久少妇无码专区_欧美激欧美啪啪5老太_日韩在线在线成人

Linux防火墻配置與管理:firewalld使用詳解

2025-12-18 16:42:36 110

Linux防火墻配置與管理:firewalld使用詳解

在云計(jì)算和服務(wù)器運(yùn)維中,防火墻是保護(hù)系統(tǒng)安全的第一道防線。Linux系統(tǒng)提供了多種防火墻管理工具,其中firewalld是Red Hat系發(fā)行版(如CentOS、RHEL、Fedora)默認(rèn)的防火墻管理工具,相比傳統(tǒng)的iptables提供了更友好、動(dòng)態(tài)的配置方式。本文將詳細(xì)介紹firewalld的基本概念、常用操作和實(shí)際配置示例。

firewalld基本概念

firewalld采用zone(區(qū)域)和service(服務(wù))的概念來(lái)管理防火墻規(guī)則:

· Zone:定義信任級(jí)別,如public(公共區(qū)域)、trusted(信任區(qū)域)等

· Service:預(yù)定義的應(yīng)用程序規(guī)則集,如http、https、ssh等

· 運(yùn)行時(shí)配置:臨時(shí)生效,重啟后丟失

· 永久配置:寫入配置文件,永久生效

1. 基本管理命令

查看firewalld狀態(tài)

# 查看firewalld運(yùn)行狀態(tài)

sudo systemctl status firewalld

 

# 啟動(dòng)firewalld

sudo systemctl start firewalld

 

# 停止firewalld

sudo systemctl stop firewalld

 

# 設(shè)置開機(jī)自啟

sudo systemctl enable firewalld

 

# 禁止開機(jī)自啟

sudo systemctl disable firewalld

查看防火墻信息

# 查看默認(rèn)區(qū)域

sudo firewall-cmd --get-default-zone

 

# 查看所有可用區(qū)域

sudo firewall-cmd --get-zones

 

# 查看當(dāng)前區(qū)域配置

sudo firewall-cmd --list-all

 

# 查看所有區(qū)域配置

sudo firewall-cmd --list-all-zones

2. 常用配置操作

添加和移除服務(wù)

# 添加服務(wù)到當(dāng)前區(qū)域(運(yùn)行時(shí))

sudo firewall-cmd --add-service=http

 

# 永久添加服務(wù)

sudo firewall-cmd --add-service=http --permanent

 

# 從當(dāng)前區(qū)域移除服務(wù)

sudo firewall-cmd --remove-service=http

 

# 永久移除服務(wù)

sudo firewall-cmd --remove-service=http --permanent

 

# 重載配置(應(yīng)用永久規(guī)則)

sudo firewall-cmd --reload

開放和關(guān)閉端口

# 開放TCP端口(運(yùn)行時(shí))

sudo firewall-cmd --add-port=8080/tcp

 

# 永久開放端口

sudo firewall-cmd --add-port=8080/tcp --permanent

 

# 開放UDP端口

sudo firewall-cmd --add-port=53/udp

 

# 關(guān)閉端口

sudo firewall-cmd --remove-port=8080/tcp

sudo firewall-cmd --remove-port=8080/tcp --permanent

設(shè)置默認(rèn)區(qū)域

# 查看當(dāng)前默認(rèn)區(qū)域

sudo firewall-cmd --get-default-zone

 

# 設(shè)置默認(rèn)區(qū)域?yàn)閜ublic

sudo firewall-cmd --set-default-zone=public

 

# 查看指定網(wǎng)卡的區(qū)域

sudo firewall-cmd --get-zone-of-interface=eth0

 

# 將網(wǎng)卡分配到指定區(qū)域

sudo firewall-cmd --zone=public --add-interface=eth0

sudo firewall-cmd --zone=public --change-interface=eth0

3. 實(shí)際配置示例

示例1:配置Web服務(wù)器防火墻

假設(shè)需要配置一臺(tái)運(yùn)行Nginx的Web服務(wù)器,開放HTTP(80)和HTTPS(443)端口:

# 1. 查看當(dāng)前狀態(tài)

sudo firewall-cmd --state

 

# 2. 添加http和https服務(wù)

sudo firewall-cmd --add-service=http --permanent

sudo firewall-cmd --add-service=https --permanent

 

# 3. 如果使用非標(biāo)準(zhǔn)端口,如8080

sudo firewall-cmd --add-port=8080/tcp --permanent

 

# 4. 限制SSH訪問(wèn)只允許特定IP

# 先移除所有SSH訪問(wèn)

sudo firewall-cmd --remove-service=ssh --permanent

# 添加只允許192.168.1.0/24網(wǎng)段SSH訪問(wèn)

sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept' --permanent

 

# 5. 應(yīng)用配置

sudo firewall-cmd --reload

 

# 6. 驗(yàn)證配置

sudo firewall-cmd --list-all

示例2:配置數(shù)據(jù)庫(kù)服務(wù)器

對(duì)于MySQL數(shù)據(jù)庫(kù)服務(wù)器,通常只需要開放數(shù)據(jù)庫(kù)端口給應(yīng)用服務(wù)器:

# 1. 移除不需要的服務(wù)

sudo firewall-cmd --remove-service=ssh --permanent

sudo firewall-cmd --remove-service=http --permanent

 

# 2. 開放MySQL端口(默認(rèn)3306)

sudo firewall-cmd --add-port=3306/tcp --permanent

 

# 3. 限制只允許特定IP訪問(wèn)數(shù)據(jù)庫(kù)

sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="3306" protocol="tcp" accept' --permanent

sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.101" port port="3306" protocol="tcp" accept' --permanent

 

# 4. 應(yīng)用配置

sudo firewall-cmd --reload

4. 高級(jí)配置技巧

使用富規(guī)則(Rich Rules)

富規(guī)則提供更細(xì)粒度的控制:

# 允許特定IP訪問(wèn)特定端口

sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.50" port port="22" protocol="tcp" accept' --permanent

 

# 拒絕特定IP訪問(wèn)

sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.0/8" drop' --permanent

 

# 設(shè)置端口轉(zhuǎn)發(fā)

sudo firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

創(chuàng)建自定義區(qū)域

# 創(chuàng)建新區(qū)域

sudo firewall-cmd --new-zone=webserver --permanent

 

# 為新區(qū)域添加服務(wù)

sudo firewall-cmd --zone=webserver --add-service=http --permanent

sudo firewall-cmd --zone=webserver --add-service=https --permanent

sudo firewall-cmd --zone=webserver --add-service=ssh --permanent

 

# 添加網(wǎng)卡到新區(qū)域

sudo firewall-cmd --zone=webserver --add-interface=eth1 --permanent

 

# 應(yīng)用配置

sudo firewall-cmd --reload

 


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: