服务器无法访问外部网络排查方法

服务器无法访问外部网络排查方法

更新时间:2020-01-02 10:17:26

免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

 

概述

本文主要介绍服务器无法访问外部网络排查方法。

 

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

当服务器无法访问外部网络时,可通过以下几个方面去排查。

 

网卡问题

  1. 检查网卡是否被禁用。
    • Windows服务器的排查方法。
      1. 在设备管理器中查看网卡是否被禁用。
      2. 可以看到网卡上面有一个向下的箭头,表示网卡被禁用,需要手动启用。
    • Linux服务器可通过执行ifconfig命令查看网卡状态。
  2. 执行如下命令,检查网卡的IP信息配置是否正确。查看基本的IP、掩码、网关地址以及DNS地址配置是否正确。还需要查看IP对应的MAC地址是否正确,因为存在用户把内外网网卡的IP地址配置反了的情况,外网的IP信息配置到内网网卡上。
    注:不是通过查看网卡配置中的IP来查看,因为存在部分用户在网卡配置中配置了IP信息,但是配置并没有写入到注册表中,配置并没有生效。
    ipconfig /all
    注:Linux服务可通过ifconfig命令查看。

 

DNS解析

  1. DNS配置检查。
    • Window服务器通过第一步,即可判断出用户配置的DNS是否正确,默认的DNS都是内网地址,是可以正常使用的。但是如果需要访问国外的网站可能存在无法解析的情况,可以先在命令行中使用nslookup来测试8.8.8.8能否正常解析,如果可以的话,可以把服务器的DNS修改为:8.8.8.8,来实现对国外网站的访问。测试方法如下。
      nslookup g.cn 8.8.8.8
      系统显示类似如下。
      服务器:  google-public-dns-a.google.com
      Address:  8.8.8.8
      名称:    g.cn
      Addresses:  2404:6800:4008:c03::a0
               203.X.X.144
    • Linux服务器查看DNS解析操作如下。
      注:如果因为默认的DNS无法解析国外的网卡,也是可以通过修改/etc/resolv.conf配置文件来修改DNS。
      1. 执行如下命令,查看DNS配置。
        cat /etc/resolv.conf
        系统显示类似如下。
        options timeout:1 attempts:1 rotate
        nameserver 10.X.X.116
      2. 执行如下命令,进行测试。
        nslookup g.cn 8.8.8.8
        系统显示类似如下。
        Server: 223.5.5.5
        Address: 223.5.5.5#53
        Non-authoritative answer:
        Name: www.qq.com
        Address: 220.X.X.29
  2. 如果DNS配置正确,并且能够正常解析IP地址,但是访问的网站不正确或者说还是无法访问,此时就需要查看服务器中的hosts文件是否做了设置。如果您在hosts文件中添加了1.1.1.1对应淘宝的域名,因为淘宝对应的IP并不是1.1.1.1,那么此时用户就无法访问到淘宝网站。如果hosts文件没有问题,并且DNS解析也没有问题,那么网站通常是可以访问到的。
    • Windows服务器在如下文件中查看。
      C:\Windows\System32\drivers\etc\hosts
      系统显示类似如下。
      #     127.0.0.1     localhost
      #     ::1        localhost
      1.1.1.1 www.taobao.com
    • Linux服务器在如下文件中查看。
      /etc/hosts

 

防火墙限制

查看防火墙对53端口解析是否有限制。

  • Linux服务器执行如下命令,查看防火墙配置。
    iptables -L -n
  • 在Windows服务器查看防火墙的设置情况。如果是Windows服务器还可以查看组策略中的IP安全策略,对外网访问是否有限制。
 

路由配置

主要查看默认路由是否有问题。

  • Windows服务器中执行如下命令来查看路由情况。
    route print
    系统显示类似如下。
    IPv4 路由表
    活动路由:
    网络目标        网络掩码          网关       接口   跃点数
    0.0.0.0          0.0.0.0  218.X.X.247  218.X.X.115     11
    10.0.0.0        255.0.0.0    10.X.X.247    10.X.X.244     11
    永久路由:
    网络地址          网络掩码  网关地址  跃点数
    10.0.0.0        255.0.0.0    10.X.X.247       1
    100.64.0.0      255.192.0.0    10.X.X.247       1
    172.16.0.0      255.240.0.0    10.X.X.247       1
    11.0.0.0        255.0.0.0    10.X.X.247       1
    0.0.0.0          0.0.0.0  218.X.X.247       1
  • Linux服务器中执行如下命令,查看路由。
    route -n
    系统显示类似如下。
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         120.26.47.247   0.0.0.0         UG    0      0        0 eth1


适用于

  • 云服务器 ECS