在 CentOS 7 中,您可以使用以下几种方法来拒绝国外 IP 或海外 IP 的访问:
1.使用 Firewall
Firewall 是一个网络安全系统,可以阻止非法的网络访问和攻击。可以使用 iptables 或 Firewalld,您可以按照以下步骤来设置。
-
安装 iptables 或 Firewalld:如果您的系统上没有安装,则需要先安装 iptables 或 Firewalld。可以使用以下命令安装它们。
# 安装 iptables yum install iptables # 安装 Firewalld yum install firewalld
-
创建防火墙规则:可以使用以下命令创建 iptables 规则。
iptables -I INPUT -s [国外IP地址]/24 -j DROP
或者,可以使用以下命令创建 Firewalld 规则。
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=[国外IP地址]/24 drop"
2.使用 Nginx
Nginx 是一个高性能的 Web 服务器,也可以用来拒绝国外 IP 或海外 IP 的访问。可以按照以下步骤来设置。
-
安装 Nginx:如果您的系统上没有安装 Nginx,则需要先安装它。可以使用以下命令安装它。
yum install nginx
-
创建 Nginx 配置文件:可以使用以下命令创建 Nginx 配置文件。
vi /etc/nginx/conf.d/blockips.conf
-
将以下内容添加到配置文件中。
geo $allowed_country { default no; CN yes; } if ($allowed_country = no) { return 403; }
这将允许来自中国的 IP 访问,而阻止来自其他国家的 IP 访问。
-
重新加载 Nginx:可以使用以下命令重新加载 Nginx。
systemctl reload nginx
3.使用 Cloudflare
Cloudflare 是一个 CDN 和 Web 应用程序防火墙(WAF),可以用于拒绝国外 IP 或海外 IP 的访问。可以按照以下步骤来设置。
- 注册 Cloudflare:如果您还没有注册 Cloudflare,则需要先注册它。
- 将您的网站添加到 Cloudflare 中。
- 在 Cloudflare 控制面板中,打开“防火墙”选项卡。
- 创建一个防火墙规则,将所有来自海外 IP 地址的请求都拒绝掉。
- 保存并启用防火墙规则。
总之,以上是在 CentOS 7 中拒绝国外 IP 或海外 IP 访问的几种方法。可以根据您的需求选择其中一种。