iptables基础

iptables常用参数

  • -A:将规则添加到当前链的末尾。
  • -D:从当前链中删除规则。
  • -I:将规则插入到当前链中指定的位置。
  • -R:替换当前链中的规则。
  • -L:列出当前链中的规则。
  • -F:清空当前链中的所有规则。
  • -N:创建一个新的链。
  • -X:删除一个链。
  • -P:设置链的默认策略。
  • -s:源地址。
  • -d:目标地址。
  • -p:协议。
  • -m:模块。
  • -j:跳转目标。

iptables常用模块

  • ip:IP数据包匹配模块。
  • tcp:TCP数据包匹配模块。
  • udp:UDP数据包匹配模块。
  • icmp:ICMP数据包匹配模块。
  • state:连接状态匹配模块。
  • conntrack:连接跟踪模块。
  • quota2:流量控制模块。

iptables常用跳转目标

  • ACCEPT:接受数据包。
  • DROP:丢弃数据包。
  • REJECT:拒绝数据包。
  • QUEUE:将数据包排队。
  • RETURN:返回到上一个链。
  • GOTO:跳转到另一个链。

iptables示例

以下是一个iptables示例,该示例将阻止所有来自192.168.1.0/24网络的数据包:

iptables -A INPUT -s 192.168.1.0/24 -j DROP

以下是一个iptables示例,该示例将允许所有来自192.168.1.0/24网络的TCP数据包:

iptables -A INPUT -s 192.168.1.0/24 -p tcp -j ACCEPT

以下是一个iptables示例,该示例将重定向所有来自192.168.1.0/24网络的UDP数据包到端口8080:

iptables -A INPUT -s 192.168.1.0/24 -p udp -j REDIRECT --to-port 8080

iptables注意事项

  • iptables规则的顺序很重要。规则的顺序决定了iptables如何处理数据包。
  • iptables规则可以被禁用或启用。
  • iptables规则可以被临时或永久地添加到防火墙中。
  • iptables规则可以被IPv4或IPv6数据包匹配。
  • iptables规则可以被内核模块加载或卸载。

示例

  1. 允许特定端口的入站连接
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

这将允许所有传入的 TCP 连接到端口 80 (HTTP 请求的常见端口)。

  1. 阻止特定端口的出站连接
iptables -I OUTPUT -p tcp --dport 25 -j DROP

这将阻止所有到端口 25 (SMTP 邮件服务器的常见端口) 的出站 TCP 连接。

  1. 将流量重定向到另一个端口
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80

这将将所有传入的 TCP 连接到端口 8080 重定向到端口 80。

  1. 创建防火墙规则链
iptables -N my_chain
iptables -A INPUT -p tcp --dport 80 -j my_chain

这将创建一个名为“my_chain”的新防火墙规则链,并将所有传入的 TCP 连接到端口 80 重定向到该链。

  1. 将防火墙规则链添加到现有表
iptables -t nat -A POSTROUTING -j my_chain

这将将“my_chain”链添加到“POSTROUTING”表。

  1. 从防火墙规则链中删除规则
iptables -D my_chain -p tcp --dport 80 -j DROP

这将从“my_chain”链中删除阻止到端口 80 的所有 TCP 连接的规则。

  1. 清除整个防火墙规则链
iptables -F my_chain

这将从“my_chain”链中删除所有规则。

  1. 删除防火墙规则链
iptables -X my_chain

这将删除名为“my_chain”的防火墙规则链。

  1. 保存防火墙规则
iptables-save > /etc/iptables.rules

这将把当前的防火墙规则保存到文件 /etc/iptables.rules 中。

  1. 恢复防火墙规则
iptables-restore < /etc/iptables.rules

这将从文件 /etc/iptables.rules 中恢复防火墙规则。

Related Articles