在 CentOS 7 中实时屏蔽所有国外访问,可以通过以下步骤来实现:

  1. 配置本地 DNS

/etc/hosts 文件中添加以下内容:

127.0.0.1       localhost
::1             localhost
127.0.0.1       localdomain

这样做是为了让系统使用本地 DNS 解析器来解析域名,以避免 DNS 污染和劫持。

  1. 配置 IPtables 防火墙

使用以下命令打开 IPtables:

systemctl start iptables

然后使用以下命令设置规则,只允许本机对本机的访问:

iptables -I INPUT -s 127.0.0.1 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -j DROP

其中,第一条规则允许来自本机的访问,第二条规则允许 SSH 访问,第三条规则允许已经建立的连接,最后一条规则禁止所有其他连接。

  1. 配置 SELinux

使用以下命令打开 SELinux:

setenforce 1

然后使用以下命令配置规则:

semanage port -a -t ssh_port_t -p tcp 22

这条规则允许 SSH 访问。

  1. 重启服务

使用以下命令重启 IPtables 和 SELinux:

systemctl restart iptables
setenforce 1

现在,所有来自国外的访问都应该被阻止了。注意,这个设置可能会影响到其他服务的正常运行,如需要访问国外网站或服务时,需要将规则调整为允许相关的访问。


香港五网CN2网络云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。

最后修改:2023 年 05 月 14 日
如果觉得我的文章对你有用,请随意赞赏