34. 常用shell之 iptables - 网络防火墙配置 的用法和衍生用法
iptables
是 Linux 系统中用于设置网络防火墙规则的命令行工具。它允许定义规则,用于控制进出的系统的网络流量。
基本用法
-
查看现有的 iptables 规则:
iptables -L
这个命令列出当前所有的 iptables 规则。
-
允许或阻止特定 IP 地址:
- 允许来自特定 IP 的流量:
iptables -A INPUT -s 192.168.1.10 -j ACCEPT
- 阻止来自特定 IP 的流量:
iptables -A INPUT -s 192.168.1.10 -j DROP
- 允许来自特定 IP 的流量:
-
允许或阻止特定端口:
- 允许流量通过特定端口(例如,允许 80 端口的 HTTP 流量):
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- 阻止流量通过特定端口:
iptables -A INPUT -p tcp --dport 80 -j DROP
- 允许流量通过特定端口(例如,允许 80 端口的 HTTP 流量):
-
设置默认策略:
- 设置默认策略为拒绝所有进入流量:
iptables -P INPUT DROP
- 设置默认策略为允许所有进入流量:
iptables -P INPUT ACCEPT
- 设置默认策略为拒绝所有进入流量:
-
清除所有规则:
iptables -F
这个命令会删除所有现有的 iptables 规则。
高级用法
-
端口转发:
- 将流量从一个端口转发到另一个端口:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
- 将流量从一个端口转发到另一个端口:
-
限制数据包速率:
- 限制到达特定端口的数据包速率:
iptables -A INPUT -p tcp --dport 80 -m limit --limit 1/s -j ACCEPT
- 限制到达特定端口的数据包速率:
-
使用 IP 地址范围:
- 允许或阻止来自整个子网的流量:
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
- 允许或阻止来自整个子网的流量:
衍生用法
-
日志记录:
- 记录被阻止的流量:
iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
- 记录被阻止的流量:
-
防止 DOS 攻击:
- 使用 iptables 防止简单的 DOS 攻击:
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
- 保存和恢复规则:
- 保存当前的 iptables 规则:
iptables-save > /path/to/iptables.rules
- 恢复 iptables 规则:
iptables-restore < /path/to/iptables.rules
- 组合规则以实现复杂策略:
- 创建复杂的规则组合以满足特定的网络安全策略需求。
iptables
是一个非常强大的工具,可以用来保护的系统不受未授权访问和其他网络威胁的影响。它提供了极大的灵活性来控制进出系统的流量。然而,iptables
的复杂性也意味着在配置时需要小心谨慎,错误的配置可能导致网络服务不可用。使用前建议详细了解其语法和概念,或在生产环境中操作之前在测试环境中进行练习。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!