温馨提示×

iptables命令行操作有哪些技巧

小樊
55
2025-09-02 05:59:57
栏目: 编程语言

iptables 是 Linux 系统中用于配置内核防火墙(netfilter)规则的一个命令行工具。以下是一些使用 iptables 的技巧:

  1. 保存和恢复规则

    • 保存规则:在某些 Linux 发行版中,可以使用 iptables-save 命令将当前的防火墙规则保存到文件中。
    • 恢复规则:使用 iptables-restore 命令可以从文件中恢复之前保存的防火墙规则。
  2. 查看规则

    • 使用 iptables -L 查看所有链的规则。
    • 使用 iptables -L -n 以数字形式显示地址和端口,不进行DNS解析。
    • 使用 iptables -L -v 显示规则的详细信息,包括数据包和字节的计数。
    • 使用 iptables -t nat -L 查看 NAT 表的规则。
  3. 清空规则

    • 清空所有链的规则:iptables -F
    • 清空特定链的规则:iptables -F INPUT(例如,清空 INPUT 链)
  4. 允许或拒绝流量

    • 允许特定 IP 地址访问:iptables -A INPUT -s 192.168.1.100 -j ACCEPT
    • 拒绝特定 IP 地址访问:iptables -A INPUT -s 192.168.1.100 -j DROP
    • 允许特定端口上的流量:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  5. 使用链

    • INPUT:处理进入本机的数据包。
    • OUTPUT:处理从本机发出的数据包。
    • FORWARD:处理经过本机转发的数据包。
    • 可以创建自定义链来组织规则。
  6. 修改默认策略

    • 设置默认策略为拒绝:iptables -P INPUT DROP
    • 设置默认策略为接受:iptables -P INPUT ACCEPT
  7. 日志记录

    • 记录被拒绝的流量:iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
  8. 使用 -I 插入规则

    • 在链的顶部插入规则:iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT
  9. 使用 -D 删除规则

    • 根据规则编号删除:iptables -D INPUT 1
    • 根据规则的具体内容删除:iptables -D INPUT -p tcp --dport 80 -j ACCEPT
  10. 使用 -R 替换规则

    • 替换链中的特定规则:iptables -R INPUT 1 -p tcp --dport 22 -j DROP
  11. 使用 -M 修改规则

    • 修改现有规则:iptables -M INPUT 1 -p tcp --dport 22 -j REJECT
  12. 使用 -N 创建新链

    • 创建一个新的自定义链:iptables -N MY_CUSTOM_CHAIN
  13. 使用 -A 将规则追加到链的末尾

    • 追加规则到链的末尾:iptables -A MY_CUSTOM_CHAIN -j RETURN
  14. 使用 -E 重命名链

    • 重命名链:iptables -E OLD_CHAIN_NAME NEW_CHAIN_NAME
  15. 使用 -P 设置默认策略

    • 设置链的默认策略:iptables -P INPUT DROP

在使用 iptables 时,建议先在测试环境中练习,因为错误的规则可能导致服务不可访问或安全问题。此外,某些发行版可能使用 nftables 作为下一代防火墙框架,它提供了更现代和灵活的规则管理方式。

0