====== Ubuntu - Networking - Netplan - Configure networking with Netplan ====== **Netplan** is based on YAML based configuration system that makes configuration process very simple. Netplan has replaced the old configuration file /etc/network/interfaces that we previously used for configuring network interfaces in Ubuntu. ---- ===== Configuration Files ===== Netplan configuration files are at **/etc/netplan/*.yaml**. * Ubuntu server defaults to using system-networkd with the configuration file named **01-netcfg.yaml**, * Ubuntu desktop generates a configuration file for Network-Manager named **01-network-manager-all.yaml**. **NOTE:** If you have multiple interfaces, use **02-network-manager-all.yaml** for the second interface. Netplan applies the configuration in the numerical order; i.e. the 01 file will be applied before the 02 file. ---- ===== Find the name of the active network interfaces that you want to configure ===== ip a returns: ... enp3s0 ... **NOTE:** Note the interface name that you want to configure using Netplan. * In this case, **enp3s0**. ---- Edit the netplan file. # Let NetworkManager manage all devices on this system #network: # version: 2 # renderer: NetworkManager network: version: 2 #renderer: NetworkManager renderer: networkd ethernets: enp3s0: dhcp4: no # disable existing configuration for ethernet #addresses: [192.168.1.69/24] #gateway4: 192.168.1.1 #nameservers: #addresses: [192.168.1.1] dhcp6: no # add configuration for bridge interface bridges: br0: interfaces: [enp3s0] dhcp4: no addresses: [192.168.1.69/24] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1] #addresses: [192.168.1.26,192.168.1.2,192.168.1.25,192.168.1.1,1.1.1.1] parameters: # stp: false stp: true forward-delay: 4 dhcp6: no **NOTE:** * **renderer**: Either networkd or NetworkManager. * **networkd** uses the settings in the Netplan config file. This is preferred. * **NetworkManager** uses the settings in the Ubuntu Network GUI settings. * **stp**: Defines whether the bridge should use Spanning Tree Protocol * **forward-delay**: Specifies the period of time the bridge will remain in the Listening and Learning states before getting to the Forwarding state. ---- ===== Test ===== Before applying any changes, test the configuration file: sudo netplan try ---- ===== Apply Configuration ===== sudo netplan apply **NOTE:** In case you see any error, try debugging to investigate the problem. To run debug: sudo netplan –d apply ---- ===== Restart the network service ===== ==== On Ubuntu Desktop ==== sudo systemctl restart network-manager ==== On Ubuntu Server ==== sudo systemctl restart system-networkd ---- ===== Verify IP Address ===== ip a ----