在 CentOS 系统中,使用 iptables 可以通过编写规则来匹配特定的 IP 地址。以下是一些基本的步骤和示例,帮助你配置 iptables 以匹配特定 IP。
查看当前的iptables规则:
sudo iptables -L -n -v
添加规则以匹配特定IP地址:
允许特定IP访问:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
这条规则允许来自 IP 地址 192.168.1.100 的所有流量进入。
拒绝特定IP访问:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
这条规则拒绝来自 IP 地址 192.168.1.100 的所有流量。
允许特定IP访问特定端口(例如,允许 192.168.1.100 访问本地的 SSH 端口 22):
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
保存iptables规则:
CentOS 7 及以上版本使用 firewalld 作为默认防火墙管理工具,而 iptables 规则在重启后不会自动保存。你可以使用 firewall-cmd 来保存规则,或者手动保存 iptables 规则。
使用 firewall-cmd 保存规则:
sudo firewall-cmd --runtime-to-permanent
手动保存 iptables 规则:
sudo service iptables save
重新加载iptables规则:
sudo systemctl restart iptables
假设你想允许 IP 地址 192.168.1.100 访问你的服务器上的 HTTP 和 HTTPS 端口(80 和 443),可以这样做:
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 443 -j ACCEPT
然后保存并重新加载规则:
sudo service iptables save
sudo systemctl restart iptables
通过这些步骤,你可以有效地使用 iptables 在 CentOS 上匹配和管理特定 IP 地址的流量。