34. 常用shell之 iptables - 网络防火墙配置 的用法和衍生用法

发布时间:2023年12月21日

iptables 是 Linux 系统中用于设置网络防火墙规则的命令行工具。它允许定义规则,用于控制进出的系统的网络流量。

基本用法

  1. 查看现有的 iptables 规则:

    iptables -L

    这个命令列出当前所有的 iptables 规则。

  2. 允许或阻止特定 IP 地址:

    • 允许来自特定 IP 的流量:

      iptables -A INPUT -s 192.168.1.10 -j ACCEPT

    • 阻止来自特定 IP 的流量:

      iptables -A INPUT -s 192.168.1.10 -j DROP

  3. 允许或阻止特定端口:

    • 允许流量通过特定端口(例如,允许 80 端口的 HTTP 流量):

      iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    • 阻止流量通过特定端口:

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

  4. 设置默认策略:

    • 设置默认策略为拒绝所有进入流量:

      iptables -P INPUT DROP

    • 设置默认策略为允许所有进入流量:

      iptables -P INPUT ACCEPT

  5. 清除所有规则:

    iptables -F

    这个命令会删除所有现有的 iptables 规则。

高级用法

  1. 端口转发:

    • 将流量从一个端口转发到另一个端口:

      iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

  2. 限制数据包速率:

    • 限制到达特定端口的数据包速率:

      iptables -A INPUT -p tcp --dport 80 -m limit --limit 1/s -j ACCEPT

  3. 使用 IP 地址范围:

    • 允许或阻止来自整个子网的流量:

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

衍生用法

  1. 日志记录:

    • 记录被阻止的流量:

      iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4

  2. 防止 DOS 攻击:

  • 使用 iptables 防止简单的 DOS 攻击:

    iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

  1. 保存和恢复规则:
  • 保存当前的 iptables 规则:

    iptables-save > /path/to/iptables.rules

  • 恢复 iptables 规则:

    iptables-restore < /path/to/iptables.rules

  1. 组合规则以实现复杂策略:
  • 创建复杂的规则组合以满足特定的网络安全策略需求。

iptables 是一个非常强大的工具,可以用来保护的系统不受未授权访问和其他网络威胁的影响。它提供了极大的灵活性来控制进出系统的流量。然而,iptables 的复杂性也意味着在配置时需要小心谨慎,错误的配置可能导致网络服务不可用。使用前建议详细了解其语法和概念,或在生产环境中操作之前在测试环境中进行练习。

文章来源:https://blog.csdn.net/WQY867047910/article/details/135085772
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。