iptables
是 Linux 系统中用于设置网络防火墙规则的命令行工具。它允许定义规则,用于控制进出的系统的网络流量。
查看现有的 iptables 规则:
iptables -L
这个命令列出当前所有的 iptables 规则。
允许或阻止特定 IP 地址:
iptables -A INPUT -s 192.168.1.10 -j ACCEPT
iptables -A INPUT -s 192.168.1.10 -j DROP
允许或阻止特定端口:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
设置默认策略:
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 -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
iptables-save > /path/to/iptables.rules
iptables-restore < /path/to/iptables.rules
iptables
是一个非常强大的工具,可以用来保护的系统不受未授权访问和其他网络威胁的影响。它提供了极大的灵活性来控制进出系统的流量。然而,iptables
的复杂性也意味着在配置时需要小心谨慎,错误的配置可能导致网络服务不可用。使用前建议详细了解其语法和概念,或在生产环境中操作之前在测试环境中进行练习。