Ok, so …
I reckon my laptop was in the same state as yours, it appears that when “NetworkManager” is managing your network devices, the configuration is hidden in some way, at least I’m not seeing where it stores settings “under the hood”.
It would appear there are now two main options for “managing” network connections, the first (older) mechanism is “NetworkManager”, which is a desktop oriented framework which is maybe a little heavier than server-types appreciate. (which comes with GUI’s etc etc) Then there is the new preferred option which seems to be “netplan”, which is a move back towards config files and “separate” GUI’s. (which to me seems way more sensible, if I understand things correctly)
I think as of 23.10 everything is “netplan”, prior, we appear to have a mish-mash going back to 18.04.
Just to get an understanding, I’ve moved my laptop over so “netplan” is the network manager of choice. Everything still “seems” to work and my laptop is set up with bridges and LXD containers, so it doesn’t looks to be a destructive process.
What I did;
- Ensure there is one file in /etc/netplan, I had one called 01-network-manager-all.yaml, you probably have one and it’s the “renderer” line that makes the difference. Yours is probably set to “NetworkManager”. (take copies of existing files in this folder, just in case)
- In the config file, ensure the renderer is set to networkd
- Also ensure the devices you wish to manage are listed, you don’t need to add WiFi or LXD connections, these will just work anyway.
- Ensure the files permissions are 0x600 (owner access only)
This should be what you want;
network:
version: 2
renderer: networkd
ethernets:
enp0s31f6:
addresses: []
dhcp4: true
You can test it with;
netplan try
If this takes, netplan apply will write it.
Assuming all is well, a reboot should finish it off, just to be sure.
After a reboot, netplan status should tell you what’s going on, and your “systemctl” command should now report the status of your ethernet port 
$ netplan status
Online state: online
DNS Addresses: 127.0.0.53 (stub)
DNS Search: home
● 2: enp19s0 ethernet UP (networkd: enp19s0)
MAC Address: f0:bf:97:04:bc:87 (Realtek Semiconductor Co., Ltd.)
Addresses: 192.168.1.138/24 (dhcp)
2a00:23c7:3c40:ce01:f2bf:97ff:fe04:bc87/64
fe80::f2bf:97ff:fe04:bc87/64 (link)
DNS Addresses: 192.168.1.254
fe80::f286:20ff:fe5e:98b6
DNS Search: home
Routes: default via 192.168.1.254 from 192.168.1.138 metric 100 (dhcp)
192.168.1.0/24 from 192.168.1.138 metric 100 (link)
192.168.1.254 from 192.168.1.138 metric 100 (dhcp, link)
2a00:23c7:3c40:ce01::/64 metric 100 (ra)
fe80::/64 metric 256
default via fe80::f286:20ff:fe5e:98b6 metric 100 (ra)
$ sudo systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled-runtime; preset: enabled)
Active: active (running) since Fri 2023-10-27 12:17:27 BST; 22min ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 949 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 6989)
Memory: 3.6M
CPU: 237ms
CGroup: /system.slice/systemd-networkd.service
└─949 /lib/systemd/systemd-networkd
Oct 27 12:20:13 spartan systemd-networkd[949]: vetha4cf3740: Lost carrier
Oct 27 12:20:13 spartan systemd-networkd[949]: physNSSNPW: Interface name change detected, renamed to veth4b63d>
Oct 27 12:20:13 spartan systemd-networkd[949]: vetha4cf3740: Link UP
Oct 27 12:20:13 spartan systemd-networkd[949]: vetha4cf3740: Link DOWN
Oct 27 12:20:14 spartan systemd-networkd[949]: lxdbr0: Lost carrier
Oct 27 12:21:12 spartan systemd-networkd[949]: wlp7s0: Connected WiFi access point: BT-2FA6HK (f0:86:20:5e:98:b>