linux

Linux防火墙如何实现访问控制

小樊
36
2025-08-01 09:59:06
栏目: 智能运维

在Linux系统中,有多种工具可以用来实现访问控制,其中最常用的是iptables和nftables。以下是使用这些工具进行访问控制的基本步骤:

使用iptables

  1. 查看现有规则

    sudo iptables -L -n -v
    
  2. 允许特定IP访问

    sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
    
  3. 拒绝特定IP访问

    sudo iptables -A INPUT -s 192.168.1.101 -p tcp --dport 80 -j DROP
    
  4. 允许特定端口访问

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 允许SSH
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许HTTP
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许HTTPS
    
  5. 拒绝所有其他入站连接

    sudo iptables -P INPUT DROP
    
  6. 保存规则

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

使用nftables

nftables是iptables的下一代,提供了更灵活和高效的规则管理。

  1. 查看现有规则

    sudo nft list ruleset
    
  2. 允许特定IP访问

    sudo nft add rule ip filter input ip saddr 192.168.1.100 tcp dport 80 accept
    
  3. 拒绝特定IP访问

    sudo nft add rule ip filter input ip saddr 192.168.1.101 tcp dport 80 drop
    
  4. 允许特定端口访问

    sudo nft add rule ip filter input tcp dport 22 accept  # 允许SSH
    sudo nft add rule ip filter input tcp dport 80 accept  # 允许HTTP
    sudo nft add rule ip filter input tcp dport 443 accept # 允许HTTPS
    
  5. 拒绝所有其他入站连接

    sudo nft add rule ip filter input drop
    
  6. 保存规则

    sudo nft list ruleset > /etc/nftables.conf
    

注意事项

通过以上步骤,你可以有效地使用iptables或nftables来实现Linux系统的访问控制。

0
看了该问题的人还看了