一次奇怪的 ip 变动

2019/12/27 Linux Ubuntu network

一次奇怪的 ip 变动

昨天,根据 Ubuntu 18.4 通用配置脚本 里的方式为一台机器配置了静态地址,但没重启,使用 sudo netplan apply 的方式使得 ip 变动了。

运行的 ok,但在凌晨三点的时候,监控显示连不上了,第二天一连接物理机,发现ip变成了 192.168.1.40

确定的情况是:

  • 操作系统是 Ubuntu 18.04.3 server
  • ip 变动前跑应用,系统负载比较大
  • 静态配置文件没变动,大致信息为:
$ cat /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - "192.168.1.1"
  • ip 由 192.168.1.10 变成了 192.168.1.40
  • 没重启过,uptime 结果为运行了 29 天
  • arp -n 的结果中显示 192.168.1.10 的结果是 at <incomplete> on eno1
  • ip a 的信息是:
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 18:66:da:ea:7a:54 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.40/24 brd 192.168.1.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::1a66:daff:feea:7a54/64 scope link
       valid_lft forever preferred_lft forever

排查过程

怀疑使用了 keep alive

但是没找到相关进程以及相关配置文件,可以排出

怀疑网络桥接的问题

机器确实做了桥接,但是桥接网卡和 docker 网卡都是未启动状态,应该和这个无关。

查看 history 信息

先查普通用户 light 的 history 记录,没有发现特别有用的信息,确实执行过一个脚本,但该脚本没对网络做过操作。

再去看 root 的 history 记录,发现在昨天配置静态 ip 前,曾执行过 docker pull 操作,并且仓库来源是同一网段下的机器,问题移动到那台仓库机。

查看 docker 仓库机的状态

  • 检测网卡:多块虚拟卡,没什么问题
  • 检测 arp 信息,其中有一行有些奇怪,内容是:192.168.1.40 ether 18:66:da:ea:7a:54 C eno2,从这里可以看出 1.40 对应的 mac 地址也确实是 1.10 的网卡,但奇怪的是为什么是 eno2

猜想

由于环境比较复杂,我接入的时间有点晚,没有判断出到底是什么原因。也没有在网上找到相应的案例。目前只能看出来这台机器曾经用过 1.40 这个 ip,猜不到到底是什么原因导致 ip 做了变动。先重启机器,继续跑任务,之后再出现问题再说吧。

参考

Search

    Table of Contents