See also Remove Netplan
nmcli con show
nmcli con mod "Wired connection 1" ipv4.method manual \ ipv4.addr 192.168.100.3/24 \ ipv4.gateway 192.168.100.1 \ ipv4.dns 192.168.100.1,8.8.8.8,8.8.4.4 \ connection.id "Office LAN" nmcli con up "Office LAN"
https://blog.ubuntu.com/2017/07/05/quick-and-easy-network-configuration-with-netplan
https://blog.ubuntu.com/2017/12/01/ubuntu-bionic-netplan
Indentation is very important!
We use netplan
and networkd
for network configuration.
YAML files can be renamed.
sudo netplan --debug generate sudo netplan --debug apply
network: version: 2 ethernets: enp0s8: dhcp4: no enp0s9: dhcp4: no bonds: bond0: interfaces: [enp0s8, enp0s9] addresses: [10.1.1.19/24] routes: - to: default via: 10.1.1.1 nameservers: search: [internal.domain, domain] addresses: [10.1.1.20, 10.1.1.21] parameters: mode: 802.3ad transmit-hash-policy: layer3+4 mii-monitor-interval: 1
sudo vi /etc/netplan/50-cloud-init.yaml
link-local
address (fe80::
), add this to the interface definition (same indentation as addresses:
):
link-local: []
Example:
network: ethernets: eth0: addresses: [10.1.1.17/24] routes: - to: 0.0.0.0/0 via: 10.0.0.1 nameservers: addresses: [10.1.1.20,10.1.1.21] eth1: addresses: [10.1.9.17/24] mtu: 9000 version: 2
If you have trouble with netplan, try removing these files, then regenerate and reapply:
rm /run/network/dynamic-interfaces rm /run/netplan/eth0.yaml rm /run/net-eth0.conf
Remove some unnecessary junk from your server, then configure:
apt-get purge network-manager resolvconf rdnssd rm -f /etc/resolv.conf
sudo vim /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.1.30 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-search sonoracomm.local dns-nameservers 8.8.8.8 8.8.4.4
hostname short-hostname hostnamectl set-hostname fqdn-host-name
sudo vim /etc/hosts 192.168.1.30 hostname.example.com hostname
echo new-hostname > /etc/hostname
hostname hostname -f
See below to configure name resolution before rebooting.
sudo reboot
CentOS 8: https://www.howtoforge.com/how-to-configure-a-static-ip-address-on-centos-8/
You can use the ncurses-based utility 'system-config-network-tui', but it installs quite a few dependencies for a minimal system. You may have to install it if it's not already installed:
yum install system-config-network-tui yum remove NetworkManager system-config-network-tui
or by manually editing configuration files for more control:
vi /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=shorthostname GATEWAY=192.168.1.1
vi /etc/sysconfig/network-scripts/ifcfg-eth0 NM_CONTROLLED=no DEVICE=eth0 BOOTPROTO=none IPADDR=192.168.1.30 NETMASK=255.255.255.0 ONBOOT=yes
systemctl stop network.service && systemctl start network.service && systemctl enable network.service
systemctl restart NetworkManager.service
ifconfig | more route -n
If you have problems, you may want to remove other configuration files that can confuse things. While there are legitimate reasons to have files in these folders, they will probably just complicate simple networking configurations:
rm /etc/sysconfig/networking/devices/* rm /etc/sysconfig/networking/profiles/default/* service network restart
If the hostname reverts back to the old hostname after a reboot:
sudo sed -i '/preserve_hostname: false/c\preserve_hostname: true' /etc/cloud/cloud.cfg && sudo hostnamectl set-hostname shorthostname
Set the hostname:
hostnamectl set-hostname <fqdn> hostnamectl status systemctl restart systemd-hostnamed cat /etc/hostname vi /etc/hosts 192.168.1.30 hostname.example.com hostname
systemctl stop network.service && systemctl start network.service && systemctl enable network.service hostname hostname -f
If both hostname
commands show the FQDN, try rebooting before troubleshooting further.
If you continue to have problems, you may want to remove other configuration files that can confuse things. While there are legitimate reasons to have files in these folders, they will probably just complicate simple networking configurations:
rm /etc/sysconfig/networking/devices/* rm /etc/sysconfig/networking/profiles/default/* service network restart
systemd-resolve --status resolvectl status
https://www.shellhacks.com/setup-dns-resolution-resolvconf-example/
Applies to Debian and Enterprise Linux distros.
Purge the resolvconf
package first!
If you have trouble saving the edited file, you may need to delete a 'leftover' symlink created by the (now removed) resolvconf
package.
vi /etc/resolv.conf nameserver 192.168.0.2 nameserver 8.8.8.8 domain example.com search example.com local.lan
Disable systemd-resolved
and use /etc/resolv.conf
:
vi /etc/systemd/resolved.conf DNSStubListener=no
systemctl stop systemd-resolved systemctl status systemd-resolved
vim /etc/resolv.conf reboot
sed -i -e 's/GRUB_TIMEOUT=0/GRUB_TIMEOUT=5/g' /etc/default/grub update-grub