首页 > 其他分享 >debian11 网卡报错carrier-changed

debian11 网卡报错carrier-changed

时间:2024-03-21 17:01:23浏览次数:30  
标签:Mar 21 enp2s0f2 NetworkManager 网卡 12 报错 jiangm01 debian11

起因

今天中午12点多公司某台拥有双网卡(内网和外网)的debian11操作系统的机器内网IP地址发生了变化,经过询问都说没有人动过这台机器的IP地址。

这让我感到十分疑惑,没有人改动怎么IP地址怎么还会变化呢?

背景

这台Debian11的操作系统拥有两张网卡,一张外网网卡,一张内网网卡。由于公司业务方面的需求,在内网网卡上绑定了多个IP地址。(客户方对单个IP地址的访问次数有数量限制,所以我们在程序里使用多个IP地址,满足一定的访问需求。)

着手调查

是不是有人误操作

一开始是不太相信没有人动过这个说法的,开始调查是不是有人改了不敢承认。

root@jiangm01:~# last
...省略...
root     pts/0        122.224.95.83    Thu Mar 21 13:35 - 13:47  (00:11)
root     pts/0        122.224.95.83    Thu Mar 21 13:31 - 13:35  (00:04)
root     pts/0        122.224.95.83    Wed Mar 13 20:54 - 20:54  (00:00)
...省略...

通过last可以看到在中午12点多是没有登录的,13点多才有人登录该机器。

排除有人误操作导致网卡IP地址变动

查看系统日志

既然不是人为改动的,那就着手从系统日志入手,看看能不能从日志里面得到一些信息。

查看日志可以通过 /var/log/messages /var/log/syslog journalctl

通过查看系统日志得到一些信息,完整日志如下

Mar 21 12:04:48 jiangm01 kernel: [15296614.913697] tg3 0000:02:00.2 enp2s0f2: Link is down
Mar 21 12:04:48 jiangm01 NetworkManager[1871]: <info>  [1710993888.1016] policy: set-hostname: current hostname was changed outside NetworkManager: 'jiangm01'
Mar 21 12:04:54 jiangm01 NetworkManager[1871]: <info>  [1710993894.1061] device (enp2s0f2): state change: activated -> unavailable (reason 'carrier-changed', sys-iface-state: 'managed')
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Withdrawing address record for 10.216.212.50 on enp2s0f2.
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Withdrawing address record for 10.216.212.49 on enp2s0f2.
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Withdrawing address record for 10.216.212.48 on enp2s0f2.
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Withdrawing address record for 10.216.212.47 on enp2s0f2.
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Withdrawing address record for 10.216.212.46 on enp2s0f2.
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Withdrawing address record for 10.216.158.216 on enp2s0f2.
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Withdrawing address record for 10.216.212.44 on enp2s0f2.
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Leaving mDNS multicast group on interface enp2s0f2.IPv4 with address 10.216.212.44.
Mar 21 12:04:54 jiangm01 avahi-daemon[931]: Interface enp2s0f2.IPv4 no longer relevant for mDNS.
Mar 21 12:04:54 jiangm01 NetworkManager[1871]: <info>  [1710993894.1394] policy: set-hostname: current hostname was changed outside NetworkManager: 'jiangm01'
Mar 21 12:04:54 jiangm01 dbus-daemon[933]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.64' (uid=0 pid=1871 comm="/usr/sbin/NetworkManager --no-daemon ")
Mar 21 12:04:54 jiangm01 systemd[1]: Starting Network Manager Script Dispatcher Service...
Mar 21 12:04:54 jiangm01 dbus-daemon[933]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Mar 21 12:04:54 jiangm01 systemd[1]: Started Network Manager Script Dispatcher Service.
Mar 21 12:05:04 jiangm01 systemd[1]: NetworkManager-dispatcher.service: Succeeded.
Mar 21 12:05:31 jiangm01 kernel: [15296658.233501] tg3 0000:02:00.2 enp2s0f2: Link is up at 1000 Mbps, full duplex
Mar 21 12:05:31 jiangm01 kernel: [15296658.233513] tg3 0000:02:00.2 enp2s0f2: Flow control is off for TX and off for RX
Mar 21 12:05:31 jiangm01 kernel: [15296658.233515] tg3 0000:02:00.2 enp2s0f2: EEE is disabled
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4185] device (enp2s0f2): carrier: link connected
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4187] device (enp2s0f2): state change: unavailable -> disconnected (reason 'carrier-changed', sys-iface-state: 'managed')
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4195] policy: auto-activating connection 'Wired connection 1' (5459ba21-39ce-4013-81d8-1aa4de536c07)
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4200] device (enp2s0f2): Activation: starting connection 'Wired connection 1' (5459ba21-39ce-4013-81d8-1aa4de536c07)
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4201] device (enp2s0f2): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4206] device (enp2s0f2): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4287] device (enp2s0f2): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Mar 21 12:05:31 jiangm01 avahi-daemon[931]: Joining mDNS multicast group on interface enp2s0f2.IPv6 with address fe80::a6dc:beff:fefa:69fa.
Mar 21 12:05:31 jiangm01 avahi-daemon[931]: New relevant interface enp2s0f2.IPv6 for mDNS.
Mar 21 12:05:31 jiangm01 avahi-daemon[931]: Registering new address record for fe80::a6dc:beff:fefa:69fa on enp2s0f2.*.
Mar 21 12:05:31 jiangm01 avahi-daemon[931]: Joining mDNS multicast group on interface enp2s0f2.IPv4 with address 192.168.123.89.
Mar 21 12:05:31 jiangm01 avahi-daemon[931]: New relevant interface enp2s0f2.IPv4 for mDNS.
Mar 21 12:05:31 jiangm01 avahi-daemon[931]: Registering new address record for 192.168.123.89 on enp2s0f2.IPv4.
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4302] device (enp2s0f2): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Mar 21 12:05:31 jiangm01 dbus-daemon[933]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.64' (uid=0 pid=1871 comm="/usr/sbin/NetworkManager --no-daemon ")
Mar 21 12:05:31 jiangm01 systemd[1]: Starting Network Manager Script Dispatcher Service...
Mar 21 12:05:31 jiangm01 dbus-daemon[933]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Mar 21 12:05:31 jiangm01 systemd[1]: Started Network Manager Script Dispatcher Service.
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4719] device (enp2s0f2): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4721] device (enp2s0f2): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4743] policy: set 'Wired connection 1' (enp2s0f2) as default for IPv4 routing and DNS
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4744] policy: set-hostname: current hostname was changed outside NetworkManager: 'jiangm01'
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4744] device (enp2s0f2): Activation: successful, device activated.
Mar 21 12:05:33 jiangm01 NetworkManager[1871]: <info>  [1710993933.0713] policy: set-hostname: current hostname was changed outside NetworkManager: 'jiangm01'
Mar 21 12:05:41 jiangm01 systemd[1]: NetworkManager-dispatcher.service: Succeeded.
Mar 21 12:07:52 jiangm01 systemd[1]: fwupd.service: Succeeded.
Mar 21 12:07:52 jiangm01 systemd[1]: fwupd.service: Consumed 1.281s CPU time.

关于日志内容的解释 ——(来自百度文心一言的解释)

从提供的日志中,我们可以看到enp2s0f2网络接口经历了一系列的状态变化,同时NetworkManager也在尝试管理这些变化。以下是对日志的详细解释:

主机名更改(第一次)

Mar 21 12:04:48 jiangm01 NetworkManager[1871]: <info>  [1710993888.1016] policy: set-hostname: current hostname was changed outside NetworkManager: 'jiangm01'
这表示主机名'jiangm01'在NetworkManager之外被更改了。

网络接口不可用

Mar 21 12:04:54 jiangm01 NetworkManager[1871]: <info>  [1710993894.1061] device (enp2s0f2): state change: activated -> unavailable (reason 'carrier-changed', sys-iface-state: 'managed')
enp2s0f2接口的状态从activated(激活)变为unavailable(不可用),原因是carrier-changed(载波改变)。

主机名更改(第二次)

Mar 21 12:04:54 jiangm01 NetworkManager[1871]: <info>  [1710993894.1394] policy: set-hostname: current hostname was changed outside NetworkManager: 'jiangm01'
再次提示主机名'jiangm01'在NetworkManager之外被更改。

网络接口重新连接

Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4185] device (enp2s0f2): carrier: link connected
这表明enp2s0f2接口的载波已经重新连接。

网络接口状态变更

Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4187] device (enp2s0f2): state change: unavailable -> disconnected (reason 'carrier-changed', sys-iface-state: 'managed')
接口状态从unavailable变为disconnected(断开连接)。

自动激活有线连接

Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4195] policy: auto-activating connection 'Wired connection 1' (5459ba21-39ce-4013-81d8-1aa4de536c07)
NetworkManager开始自动激活名为'Wired connection 1'的有线连接。

启动有线连接

Mar 21 12:05:31 jiangm01 NetworkManager[1871]: <info>  [1710993931.4200] device (enp2s0f2): Activation: starting connection 'Wired connection 1' (5459ba21-39ce-4013-81d8-1aa4de536c07)
NetworkManager开始启动名为'Wired connection 1'的连接。

网络接口状态变化序列

Mar 21 12:05:31 jiangm01 NetworkManager[1871]: ... state change: disconnected -> prepare ...  
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: ... state change: prepare -> config ...  
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: ... state change: config -> ip-config ...  
Mar 21 12:05:31 jiangm01 NetworkManager[1871]: ... state change: ip-config -> ip-check

通过日志可以知道 内网网卡enp2s0f2状态发生了一些变化。并且这些变化和NetworkManager有一定的关系。

检查内网网卡是否正常

通过日志看到网卡状态的变化,那么我就要检查一下现在内网的这张网卡是否正常。

root@jiangm01:~# ethtool enp2s0f2
Settings for enp2s0f2:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 3
        Transceiver: internal
        MDI-X: off
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

看到Link detected: yes 说明网线是正常连接的,网卡也是正常的。

noprefixroute

经过ip aifconfig等命令发现了一些不同。

正常的网卡IP地址都是scope global 网卡名 而发生改变的网卡IP地址是 scope global noprefixroute 网卡名

于是我开始查询noprefixroute是什么意思?

noprefixroute是作用域全局的意思。并且通过查看博客得知:和network manager有关,并且涉及默认路由。

重启网络

因为调整网络很容易导致远程服务无法连接,所以我们在故障发生时就通知了IDC的管理人员,现在他们已经就位了,我可以放心大胆的重启网络了。

关闭NetworkManager

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager

关闭之后请手动检查网络配置文件 /etc/network/interfaces 由于涉及公司IP,我这里就不贴出来了。

重启网络

systemctl restart networking
ip a

执行ip a之后就看到之前我们设置的内网网卡绑定多个的IP地址 已经出现了,只不过多出来的那个noprefixroute的192IP地址 不知道是怎么加上去的?

只是知道和NetworkManager以及默认路由有关。

删除默认路由

想法:删除内网网络的默认路由,删除192的路由地址。

查看路由的方法:netstat -rnip route

推荐 ip route

查看路由(已经将外网信息删除,数据脱敏)

root@jiangm01:~# ip route
default via 183.237.134.129 dev enp2s0f1 onlink 
10.216.0.0/16 via 10.216.158.193 dev enp2s0f2 
10.216.158.192/27 dev enp2s0f2 proto kernel scope link src 10.216.158.216 
10.216.212.32/27 dev enp2s0f2 proto kernel scope link src 10.216.212.44 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
省略的外网信息

删除路由

root@jiangm01:~# ip route del 10.216.0.0/16 via 10.216.158.193 dev enp2s0f2  
root@jiangm01:~# ip route del 10.216.158.192/27 dev enp2s0f2 proto kernel scope link src 10.216.158.216  
root@jiangm01:~# ip route del 10.216.212.32/27 dev enp2s0f2 proto kernel scope link src 10.216.212.44 

重启网卡

systemctl restart networking

报错:

Mar 21 14:35:45 jiangm01 ifup[733834]: RTNETLINK answers: File exists
Mar 21 14:35:45 jiangm01 ifup[733819]: ifup: failed to bring up enp2s0f2:0
Mar 21 14:35:45 jiangm01 ifup[733843]: RTNETLINK answers: File exists
Mar 21 14:35:45 jiangm01 ifup[733819]: ifup: failed to bring up enp2s0f2:1

我在另外一台机器上也遇到了相似的情况,网卡配置文件命名没有任何改动,第一次重启成功,第二次重启就报错。也查了相关资料,说是和路由有关,将路由清空之后再次重启还是一样的报错,感觉Debian11可能有些配置是特殊的。

重启机器

既然无法重启网络加载配置文件,并且我已经将NetworkManager关闭了,路由也清理过了,之前配置的内网IP地址也已经生效了,业务可以正常运行了。

只是192网段没有去掉,心想反正机房人员已经就位了,没有网络也不怕,那就重启试试,会不会将192的网段给去掉。

验证

重启之后网络正常,192网段也没有了,整个过程机房人员也没有参与,就这样解决了。

# ip a
4: enp2s0f2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether a4:dc:be:fa:69:fa brd ff:ff:ff:ff:ff:ff
    inet 10.216.158.216/27 brd 10.216.158.223 scope global enp2s0f2:0
       valid_lft forever preferred_lft forever
    inet 10.216.212.44/27 brd 10.216.212.63 scope global enp2s0f2:1
       valid_lft forever preferred_lft forever
    inet 10.216.212.45/27 brd 10.216.212.63 scope global secondary enp2s0f2:2
       valid_lft forever preferred_lft forever
    inet 10.216.212.46/27 brd 10.216.212.63 scope global secondary enp2s0f2:3
       valid_lft forever preferred_lft forever
    inet 10.216.212.47/27 brd 10.216.212.63 scope global secondary enp2s0f2:4
       valid_lft forever preferred_lft forever
    inet 10.216.212.48/27 brd 10.216.212.63 scope global secondary enp2s0f2:5
       valid_lft forever preferred_lft forever
    inet 10.216.212.49/27 brd 10.216.212.63 scope global secondary enp2s0f2:6
       valid_lft forever preferred_lft forever
    inet 10.216.212.50/27 brd 10.216.212.63 scope global secondary enp2s0f2:7
       valid_lft forever preferred_lft forever
    inet6 fe80::a6dc:beff:fefa:69fa/64 scope link 
       valid_lft forever preferred_lft forever

标签:Mar,21,enp2s0f2,NetworkManager,网卡,12,报错,jiangm01,debian11
From: https://www.cnblogs.com/liushiya/p/18087767

相关文章

  • react router v6报错 useRoutes() may be used only in the context of a <Router> comp
    在使用reactrouterv6版本的时候,按照之前的方法使用src/main.tsx是这样的,几乎不动import*asReactfrom"react";import*asReactDOMfrom"react-dom/client";import"~/assets/index.css";importAppfrom"~/App.tsx";ReactDOM.createRoot(......
  • 解决 [FATAL] plugin/loop: Loop (127.0.0.1:49443 -> :53) detected for zone "." 报
    问题背景:这个是安装k8s时报的错,安装使用的是ubuntu系统,当安装到coredns时报如下错 解决方法:查找了一番资料,得出结论这个算是ubuntu和k8scoredns安装的一个兼容性问题,不过很好解决,参照coredns官方文档就可以~首先贴出官网:https://coredns.io/plugins/loop/#troubleshooting......
  • vim 编辑报错导致无法正常退出和编辑
    vim编辑报错导致无法正常退出和编辑在使用Vi或Vim编辑器时,如果遇到错误,有时是因为非正常退出导致swap文件(.swp文件)的存在。以下是如何处理由swap文件引发的问题,以及删除swap文件这一解决方法:识别问题:当你试图打开一个之前未正常关闭的文件时,Vim会检测到与该文件关联......
  • python requests.post Max retries exceeded with url 报错
    python requests.post  Maxretriesexceededwithurl 报错 importrequestsfromrequests.adaptersimportHTTPAdapterfromrequests.packages.urllib3.util.retryimportRetrysession=requests.Session()retries=Retry(total=5,backoff_factor=0.1,st......
  • Linuxcentos7配置网卡的方法(非gui篇)
    网卡配置方法有好几种,本次讲述的是非gui的centos7配置方法 目录 1、普通配置网卡方法: 2、使用命令行工具nmcli(NetworkManager的命令行界面)方法:删除连接:创建新的连接:注意事项:附记:  1、普通配置网卡方法:由于本次操作过程和我之前发布的文章的第一种原理......
  • Yolov9报错“IndexError: list index out of range”方法解决
     哈喽友友们好!今天继续分享关于yolov9的使用教程。 在使用yolov9的数据集时,你是否有类似的报错?如图作者本人一直查找问题,开始是想着数据集标签可能有问题,于是就更换数据集直到适合为止。但发现很多数据集还是会报这个错,只有少部分才能运行,这个方法治标不治本。 于是......
  • Ubuntu上服务运行报错,No usable version of libssl was found
    运行服务时报错sudosystemctlstartComServer.servicesudosystemctlstatusComServer.service×ComServer.service-MESAPIservicesLoaded:loaded(/etc/systemd/system/ComServer.service;enabled;vendorpreset:enabled)Active:failed(Result:cor......
  • zabbix报错fping failed:no output
    zabbix的web前端界面突然连接不上了,页面一直转圈,无法响应,如下图: 排查思路如下:1、检查zabbix-server、Apache2、MySQL进程,发现都是active状态没有问题,端口号也正常2、查看zabbix-server日志文件,发现有报错,想着重启下zabbix-server进程,但是重启zabbix-server进程根本起不来,总......
  • dolphinscheduler调度任务执行hadoop命令报错(connot execute /opt/soft/hadoop/libexe
    问题描述在dolphinscheduler创建调度任务,任务里边命令为hadoopfs-mkdir-p/test/执行失败,报错信息如下:问题分析经排查该问题为dolphinscheduler配置的hadoop_home异常导致执行hadoop命令失败。问题解决配置dolphinscheduler服务config-env环境变量exportHADOOP_HOM......
  • PHP无法连接MySQL8.0数据库问题处理 报错如下: SQLSTATE[HY000]
    PHP无法连接MySQL8.0数据库问题处理报错如下:SQLSTATE[HY000][2054]Theserverrequestedauthenticationmethodunknowntotheclient发生这种错误,是由于MySQL8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。解决这个问......