当前位置: 首页 > news >正文

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. 此路由错误导致服务器无法正确与新校区通信,从而造成新校区无法访问网站的问题

http://www.jsqmd.com/news/199795/

相关文章:

  • 高压共轨喷油嘴0 433 171 968柴油喷油嘴0 433 171 968
  • 面部替换技术深度解析:从原理到实战应用
  • GLM-4.6V-Flash-WEB在按需付费模式下的成本控制优势
  • 2025年PDF表格数据提取实战指南:Tabula从入门到精通
  • VutronMusic技术架构解析:构建跨平台音乐播放的专业解决方案
  • GLM-4.6V-Flash-WEB与语音合成技术结合生成音视频解说
  • Vue 3拖拽交互7大实战场景:从基础列表到复杂看板
  • Estedad多语言字体:从入门到精通的实战指南 [特殊字符]
  • GLM-4.6V-Flash-WEB在跨境电子商务中的多语言支持能力
  • Real-ESRGAN轻量化架构:6个残差块如何实现动漫图像4K超分辨率?
  • 百度网盘免登录下载工具:三步实现高速文件获取
  • DLC解锁工具完全手册:CreamInstaller终极操作指南
  • 2026年论文ai生成终极指南!写论文神器app+一键生成技术路线图+图表代码全覆盖! - 资讯焦点
  • GLM-4.6V-Flash-WEB能否检测图像伪造痕迹?
  • 2026,多智能体不是噱头:企业AI从“工具人”走向“虚拟团队”
  • NarratoAI深度解析:如何用AI大模型实现零基础视频解说创作
  • 3大实战场景:Estedad可变字体从入门到精通
  • Whisper时间戳技术终极指南:从入门到精通
  • 2026年国际航班查询平台盘点:国际航班信息呈现结构的几种实现方式 - 资讯焦点
  • TikTok API完整实用指南:掌握非官方接口的5个核心应用场景
  • GLM-4.6V-Flash-WEB与零售货架监控系统的数据交互
  • GLM-4.6V-Flash-WEB是否具备自我解释(Explainability)能力?
  • 提升隐私保护神经网络准确性的新技术
  • 如何通过HuggingFace镜像网站加速GLM-4.6V-Flash-WEB加载?
  • Real-ESRGAN x4plus_anime_6B:轻量级AI如何让动漫图像秒变4K壁纸?
  • CP测试MLO是什么
  • 国际航班动态跟踪与延误预测平台信息整理 - 资讯焦点
  • 2025年聚焦实用英语:英语培训学校排行榜前十名深度解析 - 资讯焦点
  • Monaspace字体跨平台安装与配置终极指南
  • GitHub Desktop中文汉化工具:零基础3分钟搞定全界面本地化