How do I set a static IP in Ubuntu?
Solution 1
I had the same problem and this was my solution:
sudo nano /etc/network/interfaces
and paste (altering for your network) this under # The primary network interface
:
auto enp0s25
iface enp0s25 inet static
address 192.168.0.16
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.4.4 8.8.8.8
You can get correct interface name using Terminal command ifconfig -a
on ubuntu 16.04 or ip address
on 18.04+
Shutdown your Virtual Machine and then!!! Go to network settings and click on refresh MAC address button a few times :)
and start your VM and you should get internet!
UPDATE 20.02.2019
For ubuntu 18.04+ you need to edit this file
/etc/netplan/50-cloud-init.yaml
network:
ethernets:
enp0s3:
addresses: [192.168.0.55/24]
gateway4: 192.168.0.1
dhcp4: no
nameservers:
addresses: [1.1.1.1,8.8.8.8]
optional: true
version: 2
Solution 2
Setting the static IP address as above in the accepted answer here works, but one has to flush the old IP addr setting and then restart networking.service:
sudo ip addr flush enp0s25
sudo systemctl restart networking.service
Then verify it is correct:
ip add
Solution 3
# interfaces(5) file used by ifup(8) and ifdown(8)
# auto lo
# iface lo inet loopback
auto enp2s0
iface enp2s0 inet static
address 172.16.9.124
netmask 255.255.240.0
gateway 172.16.0.9
dns-nameservers 8.8.8.8
Solution 4
sudo vim /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.10
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8
sudo ifdown eth0 && sudo ifup eth0
Solution 5
I had the same problem and the solution "was" simply... for me, at least.
auto ens160
iface ens160 inet static
address 172.31.0.164/22
netmask 255.255.252.0
gateway 172.31.0.2
network 172.31.0.0
broadcast 172.31.3.255
dns-nameservers 172.31.0.21 172.31.0.18
#Add internal route
up route add -net 172.16.168.0/21 gw 172.31.0.20 dev ens160
And, create an empty file with the name of the network interface in:
~$ touch /etc/network/interfaces.d/ens160
It works...
Related videos on Youtube
TeeStar
Updated on September 18, 2022Comments
-
TeeStar over 1 year
I am a new with Linux, having years experience with Windows servers/desktops and am having issues setting a static IP. I am using a method used for previous versions of Ubuntu, which doesn't seem to work with 16.04
I have used the command
sudo nano /etc/network/interface
and added the followingiface enp0s25 inet static address 10.10.8.2 netmask 255.255.0.0 gateway 10.10.1.1 dns-nameservers 8.8.8.8 8.8.4.4
I have rebooted the system and the Ethernet is pretty much dead, ping doesn't work at all. I have tried to modify
/etc/NetworkManager/NetworkManager.conf
and made the following changes#dns=dnsmasq (comment out the dnsmasq) [ifupdown] managed=true (changed from false)
With this I can get Ethernet to work sporadically, however it eventually fails.
I have tried this configuration on two other machines plus a virtual machine as well and all have the same results. I can confirm these settings work fine when I install Windows on any of these machines. As well when I let DHCP auto configure, everything works fine no issues.
I figure I am missing something here, setting up a static IP should not be difficult at all.
-
TeeStar almost 8 yearsGreat thanks I appreciate it. It seems to work now, with no problems. It is very solid right now!
-
BSalita over 7 yearsIn addition to the
dns-nameservers
fix, I had to use this fix: askubuntu.com/questions/574569/… My ISP is monkeybrains.net. -
Tshilidzi Mudau over 7 yearsHi @lanni654321, maybe you should edit your answer and add a few word, briefly explaining what you are doing and why? i think that would make your answer even more helpful, what do you think?
-
RichVel over 7 yearsThe flush was necessary to avoid the old address being present on the interface (based on
ip addr
). The systemctl restart works too, thoughifdown
andifup
on the interface will work more selectively. -
Paweł Madej about 7 yearsthx @Grant. adding flush made this work
-
Diego Duarte about 7 yearsIn Ubuntu 16.04 and newer flush is necessary!
-
twoleggedhorse almost 7 yearsifcace should be iface on line 5
-
cp3 over 6 years@twoleggedhorse: Fixed the typo for the answer but I had to add a few
#
in the first line because you cannot have an edit without at least 6 changed characters that are not whitespace -
ZhaoGang about 3 yearsdoes not work in my VMWare player with ubuntu16.04
-
lewis4u about 3 yearsI suppose you didn't configure the network properly in VM-Ware Player.... but your bigger problem is: Why do you still use Ubuntu 16.04... The support is "end of life"...