解决多网卡SNMP获取不到数据的问题

前言

前几天,公司的某个平台突然访问不了,我以为是网站挂了,于是想连接服务器查看,谁知道连服务器都连不上,然后我尝试PING,结果一直PING不通,此时我有点慌了,但我的头脑还是保持清醒的,我马上连接AWS查看服务器的状态,因为我怀疑服务器宕机了,查看发现服务器的状态是正常的,此时我感觉服务器应该是被墙了,于是我连上VPN去检验,结果真的和我想的一样,就是被墙了,墙的原因可能是我们经常拿这台服务器翻墙导致的。所幸这个平台的主要客户都在香港,香港那边访问是正常的,所以我有足够的时间可以想办法解决。

想了许久,最终解决在那台服务器上增加一个内网接口,然后再申请一个EIP绑定到那个接口上,然后将域名重新绑定到新的EIP上。通过这个操作解决了国内访问异常的问题了。

我顺便把cacti监控服务器的IP改成新的,但是过来一段时间我发现它还是不出图,于是我通过snmpwalk命令去检查,命令如下:

snmpwalk -c public -v 2c 1.2.3.4

命令返回的结果是:Timeout: No Response from 1.2.3.4

说明SNMP取不到数据,我又想了许久,在网上查,在群里问,最终在一篇博文的提示下找到了解决方案。

解决方案

  1. 检查路由规则(route print),我这里显示有两个默认路由,老网卡排在前面,所以数据都是从老网卡出去的,因此SNMP取不到数据;
  2. 禁用老网卡,再启动老网卡,此时再查看路由规则,新网卡的默认路由排在前面,此时再用snmpwalk命令检查,可以获取到数据了。

心得

在云服务器上操作一定要谨慎,尤其是操作防火墙和网络,稍有不慎就可能失联,所以做每一步前都要三思。

原文地址:https://www.cnblogs.com/yestreenstars/p/5806964.html