====== Static network IP on Ubuntu server ====== Configuring IP address on Ubuntu server without using any tools other than a text editor ====== Version 18.04 ====== The new interfaces configuration file now lives in the /etc/netplan directory. There are two renderers: NetworkManager and networkd. **NetworkManager** renderer is mostly used on desktop computers and **networkd** on servers. If you want NetworkManager to control the network interfaces, use NetworkManager as the renderer, otherwise use networkd. When you use NetworkManager as the renderer, you will use the NetworkManager GUI to manage the interfaces. # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: ens33: dhcp4: yes dhcp6: yes # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no dhcp6: no addresses: [192.168.1.2/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8,8.8.4.4] sudo netplan apply ===== Examples ===== network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 9.0.0.9/24 - 10.0.0.10/24 - 11.0.0.11/24 #gateway4: # unset, since we configure routes below routes: - to: 0.0.0.0/0 via: 9.0.0.1 metric: 100 - to: 0.0.0.0/0 via: 10.0.0.1 metric: 100 - to: 0.0.0.0/0 via: 11.0.0.1 metric: 100 network: version: 2 renderer: networkd wifis: wlp2s0b1: dhcp4: no dhcp6: no addresses: [192.168.0.21/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1, 8.8.8.8] access-points: "network_ssid_name": password: "**********" network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 10.10.10.2/24 gateway4: 10.10.10.1 nameservers: search: [mydomain, otherdomain] addresses: [10.10.10.1, 1.1.1.1] ====== Version 16.04 and earlier ====== Edit network configuration file sudo vim /etc/network/interfaces You fill find configuration something like this # The primary network interface -- use DHCP to find our address auto eth0 iface eth0 inet dhcp Change it to this # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.2 gateway 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 dns-nameservers 8.8.8.8 8.8.4.4 And finally restart networking service sudo /etc/init.d/networking restart You should be able to ping the host on the new IP address If you need to add static routes, you can do it here by adding the lines up route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.180.1 dev eth0 And delete them down route del -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.180.1 dev eth0