debian

Debian Minimal如何配置防火墙

小樊
43
2025-07-16 04:01:11
栏目: 智能运维

在Debian Minimal系统中配置防火墙,通常可以使用iptablesnftables。以下是使用这两种方法的步骤:

使用 iptables

  1. 更新系统

    sudo apt update && sudo apt upgrade -y
    
  2. 安装 iptables(如果尚未安装):

    sudo apt install iptables -y
    
  3. 设置默认策略

    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT ACCEPT
    
  4. 允许本地回环接口的流量

    sudo iptables -A INPUT -i lo -j ACCEPT
    sudo iptables -A OUTPUT -o lo -j ACCEPT
    
  5. 允许已建立的连接

    sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    
  6. 允许SSH连接(假设SSH端口为22):

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  7. 允许HTTP和HTTPS连接(可选):

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  8. 保存 iptables 规则: Debian Minimal没有内置的iptables-persistent包,所以你需要手动保存规则。你可以将规则保存到一个文件中,并在启动时加载它们。

    sudo sh -c "iptables-save > /etc/iptables/rules.v4"
    
  9. 创建启动脚本: 创建一个启动脚本以在系统启动时加载这些规则。

    sudo nano /etc/network/if-pre-up.d/iptables
    

    添加以下内容:

    #!/bin/sh
    iptables-restore < /etc/iptables/rules.v4
    

    赋予执行权限:

    sudo chmod +x /etc/network/if-pre-up.d/iptables
    

使用 nftables

  1. 更新系统

    sudo apt update && sudo apt upgrade -y
    
  2. 安装 nftables(如果尚未安装):

    sudo apt install nftables -y
    
  3. 启用并启动 nftables 服务

    sudo systemctl enable nftables
    sudo systemctl start nftables
    
  4. 设置默认策略

    sudo nft add table ip filter
    sudo nft add chain ip filter input { type filter hook input priority 0 \; }
    sudo nft add chain ip filter forward { type filter hook forward priority 0 \; }
    sudo nft add chain ip filter output { type filter hook output priority 0 \; }
    
    sudo nft add rule ip filter input drop
    sudo nft add rule ip filter forward drop
    sudo nft add rule ip filter output accept
    
  5. 允许本地回环接口的流量

    sudo nft add rule ip filter input iifname "lo" accept
    sudo nft add rule ip filter output oifname "lo" accept
    
  6. 允许已建立的连接

    sudo nft add rule ip filter input ct state established,related accept
    sudo nft add rule ip filter output ct state established,related accept
    
  7. 允许SSH连接(假设SSH端口为22):

    sudo nft add rule ip filter input tcp dport 22 accept
    
  8. 允许HTTP和HTTPS连接(可选):

    sudo nft add rule ip filter input tcp dport 80 accept
    sudo nft add rule ip filter input tcp dport 443 accept
    
  9. 保存 nftables 规则

    sudo nft list ruleset > /etc/nftables.conf
    
  10. 创建启动脚本: 创建一个启动脚本以在系统启动时加载这些规则。

    sudo nano /etc/network/if-pre-up.d/nftables
    

    添加以下内容:

    #!/bin/sh
    nft -f /etc/nftables.conf
    

    赋予执行权限:

    sudo chmod +x /etc/network/if-pre-up.d/nftables
    

通过以上步骤,你可以在Debian Minimal系统中配置基本的防火墙规则。根据你的具体需求,可以进一步调整和扩展这些规则。

0
看了该问题的人还看了