【Ubuntu20.04】开机未插网线网口没有IP地址

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
回复
rrhy
帖子: 10
注册时间: 2023-03-02 14:12
系统: ubuntu20.04

【Ubuntu20.04】开机未插网线网口没有IP地址

#1

帖子 rrhy » 2023-03-14 14:15

需求:由于本人使用场景中,软件需要开机启动,并且绑定网卡的IP地址。使用过程中,有些网口不一定开机就插上。

问题:采用netplan配置的网口IP地址,在网卡没有插上网线激活的时候,没有IP地址,导致程序无法启动。

环境描述如下:
本人使用Ubuntu20.04系统,共有8个网口,在/etc/netplan/01-network-manager-all.yaml中已经配置了IP地址,如下所示:

代码: 全选

network:
  ethernets:
    eth1:
      dhcp4: no
      dhcp6: no
      optional: true
      addresses:
      - 192.168.1.146/24
      - 192.168.2.146/24
    eth0:
      dhcp4: no
      dhcp6: no
      optional: true
      addresses:
      - 192.168.0.1/24
    eth2:
      dhcp4: no
      dhcp6: no
      optional: true
      addresses:
      - 172.16.1.225/24
      - 172.16.1.145/24
    eth3:
      dhcp4: no
      dhcp6: no
      optional: true
      addresses:
      - 172.16.2.226/24
      - 172.16.2.145/24
    eth4:
      dhcp4: no
      dhcp6: no
      optional: true
    eth5:
      dhcp4: no
      dhcp6: no
      optional: true
      addresses:
      - 10.0.30.1/24
    eth6:
      dhcp4: no
      dhcp6: no
      optional: true
      addresses:
      - 20.0.30.1/24
    eth7:
      dhcp4: no
      dhcp6: no
      optional: true
    wwan0:
      dhcp4: true
  version: 2
  renderer: NetworkManager
调试时,开机只激活了eth0网口。ip a命令查询内容如下:

代码: 全选

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul                                                                                                 t qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group                                                                                                  default qlen 1000
    link/ether 00:30:64:35:48:e6 brd ff:ff:ff:ff:ff:ff
    altname enp1s0
3: eth6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN                                                                                                  group default qlen 1000
    link/ether 00:30:64:34:92:e6 brd ff:ff:ff:ff:ff:ff
    altname enp13s0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group defa                                                                                                 ult qlen 1000
    link/ether 00:30:64:35:48:e7 brd ff:ff:ff:ff:ff:ff
    altname enp2s0
    inet 192.168.0.1/24 brd 192.168.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::230:64ff:fe35:48e7/64 scope link
       valid_lft forever preferred_lft forever
5: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group                                                                                                  default qlen 1000
    link/ether 00:c0:3a:ae:61:8f brd ff:ff:ff:ff:ff:ff
    altname enp7s0
6: eth3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group                                                                                                  default qlen 1000
    link/ether 00:c0:3a:ae:63:8f brd ff:ff:ff:ff:ff:ff
    altname enp8s0
7: eth7: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN                                                                                                  group default qlen 1000
    link/ether 00:30:64:34:92:e7 brd ff:ff:ff:ff:ff:ff
    altname enp14s0
8: eth4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group                                                                                                  default qlen 1000
    link/ether 00:c0:3a:ae:65:8f brd ff:ff:ff:ff:ff:ff
    altname enp9s0
9: eth5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group                                                                                                  default qlen 1000
    link/ether 00:c0:3a:ae:67:8f brd ff:ff:ff:ff:ff:ff
    altname enp10s0
10: wwan0: <BROADCAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 32:54:2b:2d:e5:4d brd ff:ff:ff:ff:ff:ff
头像
astolia
论坛版主
帖子: 6451
注册时间: 2008-09-18 13:11

Re: 【Ubuntu20.04】开机未插网线网口没有IP地址

#2

帖子 astolia » 2023-03-14 19:03

先用nmcli d确认网口归不归network manager管
rrhy
帖子: 10
注册时间: 2023-03-02 14:12
系统: ubuntu20.04

Re: 【Ubuntu20.04】开机未插网线网口没有IP地址

#3

帖子 rrhy » 2023-03-15 17:11

nmcli d

代码: 全选

eth0    ethernet  unmanaged  --
eth1    ethernet  unmanaged  --
eth2    ethernet  unmanaged  --
eth3    ethernet  unmanaged  --
eth4    ethernet  unmanaged  --
eth5    ethernet  unmanaged  --
eth6    ethernet  unmanaged  --
eth7    ethernet  unmanaged  --
lo      loopback  unmanaged  --

查看/etc/NetworkManager是这样的

代码: 全选

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no
rrhy
帖子: 10
注册时间: 2023-03-02 14:12
系统: ubuntu20.04

Re: 【Ubuntu20.04】开机未插网线网口没有IP地址

#4

帖子 rrhy » 2023-03-15 17:27

将/etc/NetworkManager/NetworkManager.conf中改为

代码: 全选

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

[device]
wifi.scan-rand-mac-address=no
重新重启NetworkManager和netplan后

eth5没有插网线,无法出现地址。

代码: 全选

root@root:/etc/NetworkManager$ nmcli device status
DEVICE  TYPE      STATE        CONNECTION
eth2    ethernet  connected    netplan-eth2
eth3    ethernet  connected    netplan-eth3
eth0    ethernet  connected    netplan-eth0
eth1    ethernet  connected    eth1
eth4    ethernet  unavailable  --
eth5    ethernet  unavailable  --
eth6    ethernet  unavailable  --
eth7    ethernet  unavailable  --
lo      loopback  unmanaged    --
root@root:/etc/NetworkManager$ nmcli device reapply eth5
Error: Reapplying connection to device 'eth5' (/org/freedesktop/NetworkManager/Devices/7) failed: Device is not activated
头像
astolia
论坛版主
帖子: 6451
注册时间: 2008-09-18 13:11

Re: 【Ubuntu20.04】开机未插网线网口没有IP地址

#5

帖子 astolia » 2023-03-15 21:13

你需要在/etc/NetworkManager/NetworkManager.conf里面的[device]设置ignore-carrier=true,见官方文档 https://developer-old.gnome.org/Network ... re-carrier

你把[ifupdown]下面的managed改成true,NetworkManager才去管,说明有过时的/etc/network/interfaces文件在,建议删掉
rrhy
帖子: 10
注册时间: 2023-03-02 14:12
系统: ubuntu20.04

Re: 【Ubuntu20.04】开机未插网线网口没有IP地址

#6

帖子 rrhy » 2023-03-16 10:25

astolia 写了: 2023-03-15 21:13 你需要在/etc/NetworkManager/NetworkManager.conf里面的[device]设置ignore-carrier=true,见官方文档 https://developer-old.gnome.org/Network ... re-carrier

你把[ifupdown]下面的managed改成true,NetworkManager才去管,说明有过时的/etc/network/interfaces文件在,建议删掉
/etc/NetworkManager/NetworkManager.conf改成如下内容

代码: 全选

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

[device]
wifi.scan-rand-mac-address=no
ignore-carrier=true

解决了!谢谢!
回复