溫馨提示×

Debian iptables如何管理鏈和表

小樊
50
2025-03-04 16:29:50
欄目: 智能運維

在Debian系統中,iptables是一個用于配置Linux內核防火墻(netfilter)規則的工具。它允許系統管理員定義規則來過濾流量和NAT(網絡地址轉換)。iptables規則被組織成不同的表(tables),每個表包含一組特定的鏈(chains)。以下是如何管理和操作這些鏈和表的基本指南:

表(Tables)

iptables有五個內置表:

  1. filter:默認表,用于控制流量是否被允許通過。
  2. nat:用于網絡地址轉換(NAT),如源地址轉換(SNAT)和目的地址轉換(DNAT)。
  3. mangle:用于特殊的數據包修改,比如更改TTL值。
  4. raw:用于配置免除連接跟蹤的規則。
  5. security:用于強制訪問控制(MAC)規則。

鏈(Chains)

每個表包含預定義的鏈,以及用戶自定義的鏈:

  • INPUT:處理進入本機的數據包。
  • FORWARD:處理通過本機轉發的數據包。
  • OUTPUT:處理從本機發出的數據包。
  • PREROUTING:用于目標地址轉換(DNAT)的規則,在路由決策之前處理數據包。
  • POSTROUTING:用于源地址轉換(SNAT)的規則,在路由決策之后處理數據包。

常用的iptables命令

  • 查看所有規則:

    sudo iptables -L -n -v
    
  • 清空所有規則:

    sudo iptables -F
    
  • 刪除特定規則:

    sudo iptables -D INPUT 1
    

    這將刪除INPUT鏈中的第一條規則。

  • 添加新規則:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    

    這將添加一條規則,允許進入的SSH連接。

  • 允許已建立的連接:

    sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    
  • 保存規則:

    sudo iptables-save > /etc/iptables/rules.v4
    

    這將保存IPv4的規則。對于IPv6,使用iptables-save > /etc/iptables/rules.v6。

  • 恢復規則:

    sudo iptables-restore < /etc/iptables/rules.v4
    

持久化iptables規則

在Debian系統中,iptables規則默認不會在重啟后保留。要使規則持久化,可以使用iptables-persistent包。

安裝iptables-persistent

sudo apt-get update
sudo apt-get install iptables-persistent

在安裝過程中,系統會提示你是否保存當前的iptables規則。選擇“是”以保存規則。

如果你已經安裝了iptables-persistent,但忘記了保存規則,可以手動保存:

sudo netfilter-persistent save

或者,如果你使用的是IPv6:

sudo netfilter-persistent save --ipv6

請注意,管理防火墻規則可能會影響系統的網絡連接和安全性。在進行更改之前,請確保你了解每個命令的作用,并在生產環境中謹慎操作。

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