news 2026/7/4 13:25:02

dns一样 两校区访问网站失败原由排查

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
dns一样 两校区访问网站失败原由排查

典型的网络架构问题,新老校区DNS相同但内网访问结果不同,说明问题出在网络路由或中间网络设备上,而不是DNS本身

根本原因很可能是:新校区的网络流量在返回时,没有正确地走“内网路径”回到老校区的服务器,而是被导向了互联网或错误的路径。

即使DNS解析出了正确的内网IP地址(比如192.168.1.100),但如果数据包在从新校区到老校区服务器的往返路途中,任何一程的路由不正确,访问就会失败。

一、基础连通性测试(在新校区操作)

  • 获取服务器IP:在老校区内网,ping一下网站域名,记下解析出的内网IP地址(例如10.10.10.10)。

  • 在新校区测试

    • ping 10.10.10.10(服务器的内网IP)。如果不通,说明三层(IP层)根本不可达,问题可能是路由缺失或防火墙拦截。

    • tracert -d 10.10.10.10(Windows)或traceroute -n 10.10.10.10(Linux/Mac)。这个命令是关键,它会显示数据包从新校区到老校区服务器经过的每一跳。

测试端口连通性

  • 如果ping不通但tracert显示路径正常,测试网站端口(通常是80或443):

  • telnet 10.10.10.10 80或使用Test-NetConnection 10.10.10.10 -Port 80(PowerShell)。

  • 如果端口不通,几乎可以确定是防火墙策略拦截

关键点排查

  • 路由表

    • 检查新校区核心路由器/三层交换机:是否有指向老校区服务器所在网段的静态路由(或动态路由是否正常学习到)下一跳正确与否

    • 检查老校区核心路由器/防火墙:是否有指向新校区网段的回程路由。

    • 这是最常见的问题点:两个校区间通过专线或VPN互联后,路由没有双向配通。

  • 防火墙/安全策略

    • 检查两个校区间防火墙/安全设备的访问控制列表(ACL)或安全策略。是否允许了新校区IP段访问老校区服务器的IP和端口

    • 检查服务器本身的主机防火墙(Windows防火墙、iptables等)是否限制了源IP,只允许了老校区网段。

  • 网络地址转换(NAT)问题

    • 如果新老校区之间有防火墙做了出口NAT,可能导致问题。需要确认在访问内网地址时,是否触发了不必要的NAT,或者有相应的NAT豁免策略(在Cisco上叫NAT bypassno-NATACL)。

  • 链路负载均衡或策略路由

    • 如果新校区有多个出口(如一条专线到老校区,一条直接到互联网),可能存在策略路由,将某些流量错误地引向了互联网出口。

情况

ping结果

tracert结果

最可能的原因

A

超时

路径显示到达了服务器IP,但最后几跳超时

服务器/防火墙阻断了ICMP​ 或服务器自身防火墙限制了源IP(10.0.0.0/16网段)

B

超时

路径在离开网关 (10.0.0.0) 后的几跳中断,或开始出现公网IP

核心路由缺失。新校区网络设备不知道如何去往10.0.0.0/16网段。(最常见)

C

目标主机无法访问

很快返回“无法访问目标主机”

网关 (1xx.xx.xx.xx) 直接就没有去往目标网段的路由。

D

成功

路径正常

则可能是网站服务本身(如IIS/Nginx)绑定了主机名或限制了访问IP,问题在应用层。

二、服务器端关键检查命令

步骤1:检查服务器网络配置
# 1. 查看服务器IP配置 ipconfig /all # 或(如果是Linux) # ifconfig 或 ip addr # 2. 查看路由表 route print # 或(Linux) # route -n 或 ip route # 3. 检查ARP表 arp -a
步骤2:检查服务器防火墙状态
Windows 服务器
# 1. 查看防火墙状态 netsh advfirewall show allprofiles state # 2. 查看入站规则(重点看80/443端口相关规则) netsh advfirewall firewall show rule name=all | findstr /I "80 443" # 3. 查看针对特定端口的规则 netsh advfirewall firewall show rule name=all | findstr /I "HTTP HTTPS 网站" # 4. 临时禁用防火墙(仅用于测试,测试后恢复) netsh advfirewall set allprofiles state off # 测试后记得开启 netsh advfirewall set allprofiles state on # 5. 查看详细的防火墙规则列表 netsh advfirewall firewall show rule name=all verbose

Linux 服务器:

# 1. 查看iptables规则
iptables -L -n -v
iptables -L -n -v --line-numbers # 显示规则编号

# 2. 查看firewalld状态(CentOS/RHEL 7+)
firewall-cmd --state
firewall-cmd --list-all
firewall-cmd --list-ports
firewall-cmd --list-services

# 3. 查看ufw状态(Ubuntu)
ufw status verbose

Nginx
# 1. 查看Nginx状态 systemctl status nginx # 2. 测试配置文件 nginx -t

三、Linux服务器防火墙排查

检查防火墙状态(根据发行版)
查看是否使用firewalld(CentOS/RHEL 7+)

sudo systemctl status firewalld
sudo firewall-cmd --state
sudo firewall-cmd --list-all

查看是否使用ufw(Ubuntu/Debian)

sudo ufw status verbose
sudo ufw status numbered

查看是否使用iptables(传统)

# 查看所有iptables规则
sudo iptables -L -n -v
sudo iptables -t nat -L -n -v
sudo iptables -t mangle -L -n -v

# 查看规则编号(方便删除)
sudo iptables -L -n -v --line-numbers

四、检查网络服务和端口

1. 查看监听的端口和服务:

# 查看所有监听端口
sudo netstat -tlnp
# 或
sudo ss -tlnp

# 查看特定端口
sudo netstat -tlnp | grep :80
sudo netstat -tlnp | grep :443

2. 查看路由表和网关:
# 查看路由表 ip route show # 或 route -n # 查看ARP表 ip neigh show # 或 arp -n

五、检查网站服务

查看运行中的web服务:

# 查看Apache状态
sudo systemctl status apache2 # Ubuntu
sudo systemctl status httpd # CentOS

# 查看Nginx状态
sudo systemctl status nginx

# 查看所有服务
sudo systemctl list-units --type=service | grep -E '(nginx|apache|httpd)'

# Apache配置检查
apache2ctl -S # Ubuntu
httpd -S # CentOS

# Nginx配置检查
nginx -t

六、防火墙规则管理

临时放行新校区IP段:

# 如果是iptables
sudo iptables -I INPUT -s 1xx.xx.0.0/16 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -s 1xx.xx.0.0/16 -p tcp --dport 443 -j ACCEPT

# 查看添加的规则
sudo iptables -L INPUT -n -v

# 如果是firewalld
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1xx.xx.0.0/16" port protocol="tcp" port="80" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1xx.xx.0.0/16" port protocol="tcp" port="443" accept'
sudo firewall-cmd --reload

七、检查服务器路由表

# 查看完整路由表
ip route show
# 或
route -n

# 查看是否有到1xx.xx.0.0/16的路由
ip route | grep 1xx.xx

检查ARP解析

# 查看ARP表
ip neigh show
# 或
arp -n

#检查是否有多个默认网关
ip route | grep default

执行:route -n

服务器的路由表中有1xx.xx.0.0/16路由

示例:1xx.xx.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0

这是直连路由,网关为0.0.0.0,表示1xx.xx.0.0/16网段应该与服务器在同一二层网络

但这是错误的配置!因为1xx.xx.0.0/16是新校区网段,实际上不直接可达

ping不通证明路由错误:From 1xx.xx.0.0 icmp_seq=1 Destination Host Unreachable

核心错误原因

服务器上存在错误的路由配置,导致它认为1xx.xx.0.0/16网段是本地网络,数据包无法通过正确路由到新校区网络。应该通过eth0直接访问。但实际上,这个网段需要通过网关10.xx.xx.xx才能到达

解决

linux服务器终端执行:

# 删除错误路由
sudo ip route del 1xx.xx.0.0/16

# 添加正确路由
sudo ip route add 1xx.xx.0.0/16 via 10.xx.xx.xx

# 测试修复
ping -c 4 1xx.xx.xx.xx

# 在新校区电脑上执行
curl -I http://1x.x.x.x

八、具体问题分析

1. 路由配置错误
  • 路由表中存在一条错误的路由:1xx.xx.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0

  • 网关为0.0.0.0表示服务器认为1xx.xx.0.0/16网段是本地二层网络,应该通过eth0接口直接访问

  • 但实际上1xx.xx.0.0/16是新校区网络,必须通过网关10.240.100.1才能到达

2. 网络通信失败
  • 当服务器尝试ping 1xx.x.x.x时,它通过eth0接口直接发送ARP请求寻找目标主机

  • 由于1xx.xx.0.0/16实际不在本地网络中,ARP请求无法得到响应

  • ICMP错误消息来自1xx.xx.x.x,这可能是某个网络设备的接口IP,说明数据包在错误的方向上被处理

3. 根本矛盾

服务器配置中存在逻辑矛盾:

  • 默认路由:0.0.0.0 via 1x.xx.xx.xx(所有流量通过网关)

  • 但1xx.xx.0.0/16路由:via 0.0.0.0(直接连接)

解决方案要点

  1. 删除错误的路由sudo ip route del 1xx.xx.0.0/16

  2. 添加正确的路由sudo ip route add 1xx.xx.0.0/16 via 10.xx.xx.xx

  3. 此路由错误导致服务器无法正确与新校区通信,从而造成新校区无法访问网站的问题

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 17:20:35

GLM-4.6V-Flash-WEB + CSDN官网技术文章整合:构建智能知识库

GLM-4.6V-Flash-WEB CSDN官网技术文章整合:构建智能知识库 在当今快速迭代的技术世界里,开发者每天都在与海量信息搏斗。一篇关于CUDA内存溢出的错误截图、一张模糊的Kubernetes架构图、一段没有注释的代码片段——这些看似零散的信息点,往…

作者头像 李华
网站建设 2026/6/29 10:03:00

性能维度PK:激光与视觉导航的核心性能表现对比

如果说技术原理是两种导航方案的“基因”,那么核心性能表现就是“基因”的外在呈现。从建图精度、路径规划效率、避障能力到环境适应性,激光与视觉导航在关键性能维度上各有优劣。这些性能差异直接映射到用户的实际使用体验中,也是区分二者适…

作者头像 李华
网站建设 2026/6/26 5:02:22

如何快速实现直播操作可视化:开源工具全解析

如何快速实现直播操作可视化:开源工具全解析 【免费下载链接】input-overlay Show keyboard, gamepad and mouse input on stream 项目地址: https://gitcode.com/gh_mirrors/in/input-overlay 在当今的直播环境中,观众往往难以清晰看到主播的每一…

作者头像 李华
网站建设 2026/6/29 2:53:22

Real-ESRGAN x4plus_anime_6B:轻量级AI如何让动漫图像秒变4K壁纸?

还在为模糊的动漫截图而烦恼吗?想不想让那些珍藏的动漫壁纸瞬间升级到4K画质?今天我们就来聊聊Real-ESRGAN x4plus_anime_6B这个神奇的技术——它用仅仅6个残差块就实现了传统模型23个残差块才能完成的任务! 【免费下载链接】Real-ESRGAN Rea…

作者头像 李华
网站建设 2026/7/3 17:41:30

Obfuscar .NET混淆工具:5分钟快速安装配置完整指南

Obfuscar .NET混淆工具:5分钟快速安装配置完整指南 【免费下载链接】obfuscar Open source obfuscation tool for .NET assemblies 项目地址: https://gitcode.com/gh_mirrors/ob/obfuscar Obfuscar是一款功能强大的开源.NET程序集混淆工具,通过重…

作者头像 李华
网站建设 2026/7/4 5:03:32

Sigma文件管理器:告别混乱,拥抱高效的数字文件管理新时代

你是否曾经花费数小时在层层文件夹中寻找一个重要的文档?或者面对数百张需要整理的照片感到无从下手?在这个信息爆炸的时代,传统的文件管理器已经无法满足现代用户对效率的追求。Sigma文件管理器作为一款免费开源的跨平台工具,正在…

作者头像 李华