iptables 是 Linux 系统中用于配置内核防火墙的一个命令行工具。通过 iptables,你可以设置规则来允许或拒绝特定的网络流量。以下是一些基本的步骤和示例,展示如何使用 iptables 阻止恶意 IP 访问你的服务器。
首先,你可以查看当前的 iptables 规则,以确保你了解现有的配置。
sudo iptables -L -n -v
假设你想阻止一个特定的 IP 地址(例如 192.168.1.100),可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
这条命令的意思是:在 INPUT 链中添加一条规则,如果数据包的源地址是 192.168.1.100,则丢弃该数据包。
如果你想阻止一个 IP 地址范围(例如 192.168.1.0/24),可以使用以下命令:
sudo iptables -A INPUT -m iprange --src-range 192.168.1.0-192.168.1.255 -j DROP
这条命令的意思是:在 INPUT 链中添加一条规则,如果数据包的源地址在 192.168.1.0 到 192.168.1.255 范围内,则丢弃该数据包。
如果你想阻止某个 IP 地址访问特定的端口(例如端口 80),可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j DROP
这条命令的意思是:在 INPUT 链中添加一条规则,如果数据包的源地址是 192.168.1.100,并且目标端口是 80,则丢弃该数据包。
在某些 Linux 发行版中,iptables 规则在重启后会丢失。为了确保规则在重启后仍然有效,你需要保存这些规则。以下是一些常见的保存方法:
sudo iptables-save > /etc/iptables/rules.v4
sudo service iptables save
或者
sudo systemctl save iptables
如果你需要恢复之前保存的 iptables 规则,可以使用以下命令:
sudo iptables-restore < /etc/iptables/rules.v4
sudo service iptables restart
或者
sudo systemctl restart iptables
通过以上步骤,你可以有效地使用 iptables 阻止恶意 IP 访问你的服务器。请根据你的具体需求调整规则,并确保在生产环境中谨慎操作。