netplan 配置未激活——ubuntu 18.04

ono*_*ouv 6 networking linux ubuntu netplan

试图在两个 NIC 之一上设置固定 IP 地址。我尝试使用netplan。根本不工作。

不是这方面的专家,我已经失去理智并准备回滚到其他方式(联网)。也许有人在任何方向都有有用的建议。非常感谢任何帮助/评论!

(一个问题:

1)开机后,enp2s0没有分配ip4地址

2)这也不能通过

 - :~$ sudo netplan generate
 - :~$ sudo netplan apply
Run Code Online (Sandbox Code Playgroud)

作为旁注,之前尝试更改接口名称也无效。

(B) 系统配置:

:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:    18.04
Codename:   bionic
Run Code Online (Sandbox Code Playgroud)

尽管我对 netplan 进行了任何尝试(只是为了隐私而省略了地址),但这里的内容保持完全不变:

:~$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether --omitted-- brd ff:ff:ff:ff:ff:ff
3: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether --omitted-- brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.117/24 brd 192.168.2.255 scope global dynamic enp3s0
       valid_lft 1814043sec preferred_lft 1814043sec
    inet6 --omitted-- scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 604790sec preferred_lft 86390sec
    inet6 --omitted-- scope link 
       valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)

Netplan 似乎是“官方”设置:

:~$ cat /etc/network/interfaces
# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown
Run Code Online (Sandbox Code Playgroud)

这是我的 netplan 配置,它似乎可以验证,因为 netplan 调用不会引发错误。只有一个 yaml 文件。

:~$ cat /etc/netplan/50-cloud-init.yaml 
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
  version: 2
  ethernets:
    enp2s0:
      dhcp4: false
      addresses: [192.168.1.1/24]
      nameservers:
        addresses: [217.0.43.65, 217.237.149.225]
        search: []
    enp3s0:
      dhcp4: true
Run Code Online (Sandbox Code Playgroud)

(C) 调查结果/调查:

我看了这个东西,但无济于事

https://askubuntu.com/questions/1083390/netplan-apply-does-not-change-the-ip-address

https://netplan.io/troubleshooting

netplan 似乎产生了我想要的东西:

:~$ cat /run/systemd/network/10-netplan-enp2s0.network 
[Match]
Name=enp2s0

[Network]
LinkLocalAddressing=ipv6
Address=192.168.1.1/24
DNS=217.0.43.65
DNS=217.237.149.225
Run Code Online (Sandbox Code Playgroud)

注意生成输出 - 有什么明显的吗?

:~$ sudo netplan --debug generate
DEBUG:command generate: running ['/lib/netplan/generate']
** (generate:2523): DEBUG: 10:24:20.181: Processing input file /etc/netplan/50-cloud-init.yaml..
** (generate:2523): DEBUG: 10:24:20.182: starting new processing pass
** (generate:2523): DEBUG: 10:24:20.182: enp3s0: setting default backend to 1
** (generate:2523): DEBUG: 10:24:20.182: Configuration is valid
** (generate:2523): DEBUG: 10:24:20.182: enp2s0: setting default backend to 1
** (generate:2523): DEBUG: 10:24:20.182: Configuration is valid
** (generate:2523): DEBUG: 10:24:20.182: Generating output files..
** (generate:2523): DEBUG: 10:24:20.182: NetworkManager: definition enp2s0 is not for us (backend 1)
** (generate:2523): DEBUG: 10:24:20.182: NetworkManager: definition enp3s0 is not for us (backend 1)
Run Code Online (Sandbox Code Playgroud)

请看这些输出,它们似乎带有唯一的提示:

:~$ sudo netplan --debug apply
** (generate:2528): DEBUG: 10:25:18.755: Processing input file /etc/netplan/50-cloud-init.yaml..
** (generate:2528): DEBUG: 10:25:18.755: starting new processing pass
** (generate:2528): DEBUG: 10:25:18.755: enp3s0: setting default backend to 1
** (generate:2528): DEBUG: 10:25:18.755: Configuration is valid
** (generate:2528): DEBUG: 10:25:18.755: enp2s0: setting default backend to 1
** (generate:2528): DEBUG: 10:25:18.755: Configuration is valid
** (generate:2528): DEBUG: 10:25:18.755: Generating output files..
** (generate:2528): DEBUG: 10:25:18.755: NetworkManager: definition enp2s0 is not for us (backend 1)
** (generate:2528): DEBUG: 10:25:18.755: NetworkManager: definition enp3s0 is not for us (backend 1)
DEBUG:netplan generated networkd configuration changed, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:enp2s0 not found in {}
DEBUG:enp3s0 not found in {'enp2s0': {'dhcp4': False, 'addresses': ['192.168.1.1/24'], 'nameservers': {'addresses': ['217.0.43.65', '217.237.149.225'], 'search': []}}}
DEBUG:Merged config:
network:
  bonds: {}
  bridges: {}
  ethernets:
    enp2s0:
      addresses:
      - 192.168.1.1/24
      dhcp4: false
      nameservers:
        addresses:
        - 217.0.43.65
        - 217.237.149.225
        search: []
    enp3s0:
      dhcp4: true
  vlans: {}
  wifis: {}

DEBUG:Skipping non-physical interface: lo
DEBUG:device enp3s0 operstate is up, not changing
DEBUG:Skipping non-physical interface: wlp1s0
DEBUG:{}
DEBUG:netplan triggering .link rules for lo
DEBUG:netplan triggering .link rules for enp2s0
DEBUG:netplan triggering .link rules for enp3s0
DEBUG:netplan triggering .link rules for wlp1s0
Run Code Online (Sandbox Code Playgroud)

请注意,它首先说“netplan 生成的网络配置已更改...”但随后在下一行“不存在 netplan 生成的 NM 配置”。听起来有些网络配置仍然有效?

此外,它似乎在应用程序级别(接受语法)上存在一些问题,即 yaml: enp2s0 not found in {},也在其下方。但为什么 ?

提前谢谢了 !