内网电脑打不开某个网站,手机切到4G或5G就能正常打开,或者把笔记本带回家用宽带也能访问。这种情况基本可以断定:网站本身没挂,问题出在你所在的内网环境里。下面按可能性从高到低捋一捋,顺带说说怎么排查。
最常见的原因是DNS解析出了岔子。内网通常有自己的DNS服务器,可能是公司域控,也可能是路由器下发的地址。如果这台DNS服务器解析不了目标域名,或者返回了一个错误的IP,你的电脑就会卡在“找不到服务器”或者“连接超时”上。外网用的是运营商DNS或者公共DNS,比如114.114.114.114、8.8.8.8,解析结果正常,所以能打开。排查方法很简单:在命令行里敲`nslookup 网站域名`,看看返回的IP是不是你预期的那个。如果解析失败或者IP明显不对,可以临时把电脑的DNS改成公共DNS试试。要是改完就能访问,那问题就锁定在内网DNS上了,找网管处理。
代理设置也是高频雷区。不少公司内网要求浏览器走代理服务器上网,代理配置可能写在系统设置里,也可能通过PAC脚本自动下发。如果代理服务器宕机、端口被封,或者PAC脚本里把目标网站排除错了,就会导致内网访问失败。外网环境没有代理,直连自然正常。检查方法:打开浏览器网络设置,看看有没有勾选代理,或者直接关掉代理再试。如果关掉代理反而能访问,说明代理配置有问题。另外,有些内网电脑同时装了VPN,VPN路由表可能把目标网站的流量导进了隧道,而隧道那头又不通,也会造成类似现象。断开VPN再试就能确认。
防火墙和安全策略同样不能忽略。内网出口通常有硬件防火墙,可能屏蔽了某些IP段、域名或者端口。比如公司规定上班时间不能访问视频网站,防火墙直接阻断,外网不受这个限制。还有一种情况是内网防火墙做了SSL拦截,导致HTTPS握手失败,而外网没有拦截。排查时可以用`telnet 网站域名 443`或者`curl -v https://网站域名`看看连接卡在哪一步。如果提示连接被拒绝或者超时,基本就是防火墙在作怪。这时候只能找网络管理员确认策略,自己改不了。
hosts文件被改也是老生常谈。有些软件或者恶意程序会往hosts里写条目,把某个域名指向127.0.0.1或者别的错误IP。内网电脑如果中过招,或者装过某些“优化”工具,hosts可能被改得乱七八糟。外网电脑没这个问题,所以能正常访问。检查路径:Windows在`C:\Windows\System32\drivers\etc\hosts`,Mac和Linux在`/etc/hosts`。用记事本打开看看有没有跟目标网站相关的行,有的话前面加`#`注释掉,保存后再试。

路由问题相对少见,但也会发生。内网可能有多条出口线路,路由表里目标网站IP的下一跳指向了一个不通的网关。或者内网做了策略路由,把某些流量引到了备用线路,而备用线路正好故障。用`tracert 网站域名`或者`traceroute`看一下路径,如果走到某个内网IP就断了,说明路由有问题。外网走的是默认路由,路径不同,所以正常。这种情况个人用户很难解决,需要网管调整路由。
还有一个容易被忽略的点:网站本身限制了访问来源。有些网站会封禁某些IP段,比如公司出口IP被拉黑了,但家庭宽带IP没被封。这时候内网所有设备都打不开,外网却畅通无阻。验证方法是用手机开热点,让电脑连热点访问,如果能打开,再对比一下公司出口IP和手机热点IP。如果确认是IP被封,只能联系网站方解封,或者换出口IP。
浏览器缓存和Cookie偶尔也会捣乱,但概率较低。内网电脑可能之前访问过该网站,缓存了错误的跳转或者认证信息,导致一直循环重定向。外网电脑没有这些缓存,所以正常。清理浏览器缓存和Cookie,或者用无痕模式打开试试。如果无痕能访问,那就是缓存问题。
最后提一下MTU。内网如果用了VPN或者特殊隧道,MTU值可能设置不当,导致大包无法通过,小包正常。表现就是网站首页能打开,但图片、视频加载不出来,或者某些操作超时。外网MTU标准1500,通常没问题。可以用`ping -f -l 1472 网站域名`来测试,如果提示需要分片,就逐步减小数值,找到能通的最大包。然后调整网卡MTU。
总结一下排查顺序:先换DNS,再关代理和VPN,接着查hosts,然后看防火墙和路由,最后考虑网站封IP和MTU。大部分情况下,前两步就能解决问题。如果都不行,把`nslookup`、`tracert`、`curl`的结果截图发给网管,能省不少沟通时间。内网环境复杂,但只要外网能访问,就说明网站没问题,剩下的就是内网这一亩三分地的事儿了。