解决DNS劫持问题
什么是DNS劫持?
DNS劫持(DNS Hijacking)是指通过篡改DNS配置,将用户的域名解析请求引导到恶意服务器的攻击方式。这种攻击常见于恶意软件、路由器漏洞或DNS配置被修改的情况下。攻击者通过这种方式控制了用户访问的网站,可能导致用户访问恶意网站、泄露个人信息或感染病毒。
DNS劫持的表现
- 无法访问特定网站,出现错误提示,如"DNS_PROBE_FINISHED_NO_INTERNET"。
- 可能无法进行网络认证或登录,连接到互联网时页面加载缓慢或无法打开。
我的解决方案:
-
问题诊断:
我的台式机在连接校园网络时,无法正常打开登录页面,显示DNS相关错误信息。通过查看/etc/resolv.conf
,发现文件内容由v2rayA修改,使用了不常见的DNS服务器(如223.6.6.6
和119.29.29.29
)。这表明系统已被DNS劫持。 -
解决步骤:
- 我通过
sudo vim /etc/resolv.conf
命令编辑/etc/resolv.conf
,将文件中的DNS设置更改为可靠的DNS服务器,如8.8.8.8
和8.8.4.4
。 - 保存更改后,运行
sudo systemctl restart NetworkManager
命令重启网络服务,使更改生效。 - 重新加载页面,问题得到解决。
- 我通过
-
总结与注意:
- 修改
/etc/resolv.conf
是有效的,但如果系统通过systemd-resolved
管理DNS,可能需要进一步检查系统配置,确保DNS设置不被自动覆盖。 - 如果遇到类似问题,首先检查DNS配置,确认是否存在劫持或不当设置。
- 若有残留的VPN或代理配置,需彻底清理,避免类似问题复发。
- 修改
预防DNS劫持
- 使用受信任的DNS服务器:选择Google DNS(
8.8.8.8
和8.8.4.4
)或Cloudflare DNS(1.1.1.1
)等受信任的服务。 - 禁用不必要的VPN或代理软件:如果不再使用v2rayA等软件,确保卸载并清除其相关配置。
- 定期检查系统设置:定期检查
/etc/resolv.conf
和网络配置,确保没有不必要的修改。