我有一个安装了 wordpress 的 apache 服务器,我需要确定几个可以访问网站的 IP(我有一个 IP 列表)...什么是最有效的方法?
答案1
示例文件:
192.168.168.1
192.168.168.2
192.168.168.3
因此,在您的 iptables 规则集脚本文件中的适当位置放置以下几行:
whitelist="/path/to/the/example/file/with/the/whitelist/ips.txt"
while IFS= read -r wips; do # wips stands for whitelist IPs
iptables -A INPUT -i eth0 -s "${wips}" -j ACCEPT
done < "${whitelist}"
请注意,当我说“iptables 规则集脚本文件”时,我指的是包含您想要在 iptables 配置中应用的所有自定义规则的 shell 脚本。注意二:假设-i eth0
您的默认以太网卡名为 eth0。它也可以是 eth1、eth2、ethX 或 enp0s1、enp0s2 enpXsX。使用适合您的。要检查上述脚本是否已成功应用,请运行以下命令:
iptables -L INPUT
答案2
如果你有大量的地址/网络,最好的解决方案是使用 ipset [1] 来存储它们。
答案3
如果您正在跑步,firewalld
则可以利用rich rules
。
例子 :-
firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.1.101/32 service name=telnet limit value=1/m accept'
您可以在以下位置阅读有关丰富规则的更多信息这里。
上面说的是受到推崇的控制对资源(端口/服务)的访问的方式。唯一的缺点是参数只source address
接受单个参数或network CIDR
,因此如果您有很多参数,则必须编写列表脚本,IP addresses
或者您可以执行相反的操作,阻止所有参数并仅允许您想要的参数。