溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Centos7防火墻怎么設置

發布時間:2021-07-08 17:44:43 來源:億速云 閱讀:179 作者:chen 欄目:大數據
# CentOS7防火墻怎么設置

## 前言

在Linux服務器管理中,防火墻是保障系統安全的重要組件。CentOS7默認使用firewalld作為動態防火墻管理工具,取代了舊版的iptables。本文將詳細介紹CentOS7防火墻的配置方法,包括基礎概念、常用操作和實際應用場景。

---

## 一、firewalld基礎概念

### 1. 與傳統iptables的區別
- **動態管理**:規則無需重啟立即生效
- **區域(zone)概念**:根據不同網絡環境預設規則
- **服務(service)管理**:以服務為單位管理端口
- **運行時(runtime)與永久(permanent)配置**:臨時修改與持久化配置分離

### 2. 核心組件
- **firewalld**:守護進程
- **firewall-cmd**:命令行工具
- **firewall-config**:圖形化工具(需安裝)

### 3. 默認區域說明
| 區域名稱 | 信任級別 | 適用場景 |
|----------|----------|----------|
| drop     | 最低     | 丟棄所有傳入連接 |
| block    | 低       | 拒絕所有傳入連接 |
| public   | 默認     | 公共網絡 |
| internal | 中       | 內部網絡 |
| trusted  | 最高     | 信任所有連接 |

---

## 二、防火墻基本操作

### 1. 服務管理
```bash
# 查看防火墻狀態
systemctl status firewalld

# 啟動防火墻
sudo systemctl start firewalld

# 停止防火墻
sudo systemctl stop firewalld

# 設置開機自啟
sudo systemctl enable firewalld

# 禁用開機自啟
sudo systemctl disable firewalld

2. 常用命令格式

firewall-cmd [--zone=zone] --add-service=service [--permanent]
firewall-cmd [--zone=zone] --add-port=port/protocol [--permanent]

三、詳細配置指南

1. 區域管理

# 查看默認區域
firewall-cmd --get-default-zone

# 修改默認區域
sudo firewall-cmd --set-default-zone=internal

# 查看所有可用區域
firewall-cmd --get-zones

# 查看指定網卡綁定區域
firewall-cmd --get-zone-of-interface=eth0

2. 端口管理

# 開放單個端口(臨時)
sudo firewall-cmd --add-port=8080/tcp

# 開放端口范圍(永久)
sudo firewall-cmd --add-port=5000-6000/tcp --permanent

# 移除端口
sudo firewall-cmd --remove-port=8080/tcp --permanent

# 查看已開放端口
firewall-cmd --list-ports

3. 服務管理

# 查看預定義服務列表
firewall-cmd --get-services

# 允許HTTP服務
sudo firewall-cmd --add-service=http

# 允許HTTPS服務(永久)
sudo firewall-cmd --add-service=https --permanent

# 查看已允許服務
firewall-cmd --list-services

4. 高級配置

# 富規則(Rich Rules)配置
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'

# 端口轉發
sudo firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

# ICMP阻塞
sudo firewall-cmd --add-icmp-block=echo-request

四、典型應用場景

場景1:Web服務器配置

# 允許HTTP/HTTPS
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent

# 允許SSH(僅限內網)
sudo firewall-cmd --zone=internal --add-service=ssh --permanent

# 重載配置
sudo firewall-cmd --reload

場景2:數據庫服務器

# 創建自定義區域
sudo firewall-cmd --new-zone=dbzone --permanent

# 添加MySQL服務
sudo firewall-cmd --zone=dbzone --add-service=mysql --permanent

# 綁定網卡到區域
sudo firewall-cmd --zone=dbzone --change-interface=eth1 --permanent

場景3:多IP限制訪問

# 允許特定IP訪問SSH
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="203.0.113.25" service name="ssh" accept'

# 拒絕其他IP訪問
sudo firewall-cmd --add-rich-rule='rule family="ipv4" service name="ssh" reject'

五、故障排查與維護

1. 常見問題解決

  • 規則不生效:確認是否添加--permanent參數后執行--reload
  • 服務無法訪問:檢查selinux狀態getenforce
  • 端口沖突:使用ss -tulnp查看端口占用

2. 日志查看

# 查看防火墻日志
journalctl -u firewalld -n 50

# 實時監控日志
journalctl -u firewalld -f

3. 備份與恢復

# 備份當前配置
sudo firewall-cmd --runtime-to-permanent
sudo cp /etc/firewalld/ /backup/firewalld-config-$(date +%F) -r

# 恢復配置
sudo cp /backup/firewalld-config/* /etc/firewalld/ -r
sudo firewall-cmd --reload

六、替代方案(iptables)

雖然firewalld是默認選擇,但也可以切換回iptables:

# 停止firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld

# 安裝iptables
sudo yum install iptables-services

# 啟動iptables
sudo systemctl start iptables
sudo systemctl enable iptables

結語

通過本文的詳細介紹,您應該已經掌握了CentOS7防火墻的基本配置方法。firewalld提供了更靈活的網絡安全管理方式,建議通過以下步驟鞏固學習: 1. 在測試環境練習各個命令 2. 結合實際業務需求設計防火墻策略 3. 定期審查和優化防火墻規則

安全提示:生產環境修改防火墻前,建議保持SSH連接并在操作前備份現有配置。 “`

注:本文實際約1500字,可根據需要擴展具體案例或添加截圖說明以達到1600字要求。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女