iptables 是 Linux 系统中用于配置内核防火墙的一个命令行工具。通过 iptables,你可以设置规则来允许或拒绝网络流量,从而实现对网络访问的限制。以下是一些基本的 iptables 规则示例,用于限制网络访问:
允许特定 IP 地址访问:
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
这条规则允许来自 IP 地址 192.168.1.100 的所有流量。
拒绝特定 IP 地址访问:
iptables -A INPUT -s 192.168.1.100 -j DROP
这条规则拒绝来自 IP 地址 192.168.1.100 的所有流量。
允许特定端口访问:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
这条规则允许所有到 TCP 端口 80(通常是 HTTP)的流量。
拒绝特定端口访问:
iptables -A INPUT -p tcp --dport 22 -j DROP
这条规则拒绝所有到 TCP 端口 22(通常是 SSH)的流量。
允许特定协议访问:
iptables -A INPUT -p udp -j ACCEPT
这条规则允许所有 UDP 流量。
限制连接速率:
iptables -A INPUT -p tcp --dport 80 -m limit --limit 5/min -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
这条规则限制每分钟最多有 5 个连接到 TCP 端口 80。
允许特定网络访问:
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
这条规则允许来自 192.168.1.0 到 192.168.1.255 网络的所有流量。
拒绝所有未明确允许的流量:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
这条规则设置默认策略,拒绝所有输入和转发的流量,但允许输出流量。
iptables 规则之前,建议先备份当前的规则集,以便在需要时可以恢复。iptables 规则可能会影响系统的正常运行,特别是如果你不小心拒绝了重要的服务端口。ufw 或 firewalld 来管理防火墙规则,因为它们提供了更友好的用户界面和更简单的配置方式。你可以使用以下命令来备份和恢复 iptables 规则:
备份规则:
iptables-save > /etc/iptables/rules.v4
恢复规则:
iptables-restore < /etc/iptables/rules.v4
通过这些基本规则和注意事项,你可以开始使用 iptables 来限制网络访问。