This is an old revision of the document!
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"
network: bonds: bond0: interfaces: - enp0s8 - enp0s9 addresses: [10.1.1.19/24] gateway4: 10.1.1.1 nameservers: search: [internaldomain, externaldomain] addresses: [10.1.1.20, 10.1.1.21] parameters: mode: balance-rr ethernets: enp0s8: {} enp0s9: {} version: 2
Indenting is very important!
We use 'netplan' and 'networkd' for network configuration.
YAML files can be named differently.
https://blog.ubuntu.com/2017/07/05/quick-and-easy-network-configuration-with-netplan
https://blog.ubuntu.com/2017/12/01/ubuntu-bionic-netplan
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] gateway4: 10.1.1.1 nameservers: addresses: [10.1.1.20,10.1.1.21] eth1: addresses: [10.1.9.17/24] mtu: 9000 version: 2
sudo netplan --debug generate sudo netplan --debug apply
If you have trouble, 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
sudo vim /etc/hosts 192.168.1.30 hostname.example.com hostname sudo sh -c "echo new-hostname > /etc/hostname" sudo hostnamectl set-hostname new-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
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