温馨提示×

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

小樊
37
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 

注意事项

  • 备份规则:在进行任何修改之前,建议备份现有的防火墙规则。
  • 测试规则:在生产环境中应用新规则之前,先在测试环境中进行验证。
  • 权限:修改防火墙规则需要root权限。
  • 持久化:确保规则在系统重启后仍然有效。对于iptables,可以使用iptables-saveiptables-restore命令;对于nftables,可以直接保存到配置文件中。

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

0