温馨提示×

ubuntu iptables防火墙怎么用

小樊
74
2025-04-07 07:40:02
栏目: 智能运维

在Ubuntu系统中,iptables是一个强大的命令行工具,用于配置Linux内核的网络包过滤规则。这些规则决定了哪些数据包可以通过网络接口,哪些应该被丢弃。以下是一些基本的iptables使用方法:

1. 查看当前的iptables规则

sudo iptables -L -n -v 
  • -L:列出所有规则。
  • -n:以数字形式显示地址和端口,而不是尝试解析主机名和服务名。
  • -v:显示详细信息。

2. 清空所有规则

sudo iptables -F 
  • -F:清空所有链中的规则。

3. 允许特定IP访问

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT 
  • -A INPUT:将规则添加到INPUT链。
  • -s 192.168.1.100:指定源IP地址。
  • -j ACCEPT:接受匹配的数据包。

4. 阻止特定IP访问

sudo iptables -A INPUT -s 192.168.1.100 -j DROP 
  • -j DROP:丢弃匹配的数据包。

5. 允许特定端口

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
  • -p tcp:指定协议为TCP。
  • --dport 80:指定目标端口为80(HTTP)。

6. 阻止特定端口

sudo iptables -A INPUT -p tcp --dport 80 -j DROP 

7. 保存iptables规则

Ubuntu默认不会自动保存iptables规则,需要手动保存:

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

8. 恢复iptables规则

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

9. 设置默认策略

sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT 
  • -P:设置默认策略。

10. 允许SSH连接

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT 

注意事项

  • 修改iptables规则时要非常小心,错误的规则可能导致系统无法访问。
  • 在生产环境中,建议使用更高级的工具如ufw(Uncomplicated Firewall)来管理防火墙规则。

使用ufw简化操作

如果你觉得iptables命令过于复杂,可以考虑使用ufw

sudo ufw enable sudo ufw allow 22/tcp sudo ufw status 

通过这些基本命令,你可以开始配置和管理Ubuntu系统的防火墙规则。

0