Can't set static IP on Ubuntu
Solution 1
You are missing the line which will cause the configuration to be run at startup.
Edit your /etc/network/interfaces
configuration and add the line:
auto eth0
In the mean time, you can set the static address with the command:
sudo ifup eth0
It you want to have the interface to start only when you are connected to a specific network, check the documentation and examples for the ifupdown
package. In particular, look at the mapping
command. The ping-places.sh
command can be useful in identifying which network you are on.
Solution 2
It seems I am a little late, but still: Since I think 12.04 you are screwed if you want to invest little work and get stuff done via the old /etc/network/interfaces.
But there's hope ! :D
Just use /etc/NetworkManager/system-connections/CONNECTIONS
If you take a standard system connected via ethernet the file usually looks like this:
filename: Wired connection 1
content:
[802-3-ethernet]
duplex=full
mac-address=xx:xx:xx:xx:xx:xx
[connection]
id=Wired connection 1
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
type=802-3-ethernet
timespamp = xxxxxxxxxx
[ipv6]
method=auto
[ipv4]
method=manual
dns=192.168.0.1
address=192.168.0.123/24,192.168.0.1
Solution 3
I would try to use the GUI to set the static IP. If that works then you know that you are using the NetworkManager
package to control that NICs IP. The package should disable itself for the interface if it is mentioned in the manual config (as per: https://wiki.debian.org/NetworkManager) But that seems to not be happening.
You can also remove the NetworkManager
completely with...
sudo apt-get install network-manager-gnome
sudo apt-get remove network-manager
...and then attempt to change it manually.
Solution 4
I found this is easily done on your router. I don't know what type of router you may have but there should be an option where you can have your MAC address map to a specific IP address on your LAN. This is the setup I have...
Solution 5
You're almost there. ssh works, a fixed IP is ok. Now the only thing missing is of course the dns. That's why you fail to get on the internet. Your gateway is 192.168.1.1 and that's presumably a router. Many of them provide dns, so simply try 192.168.1.1 as nameserver
Related videos on Youtube
puk
Updated on September 18, 2022Comments
-
puk almost 2 years
I recently installed Ubuntu Desktop 13.10 and I am trying to set up static IP by changing the
/etc/network/interfaces
file from:# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback iface eth0 inet dynamic
to:
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback iface eth0 inet static address 192.168.1.70 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8
Using whatever I gleaned from these FAQ/Tutorial Sites
- Ubuntu Network Configuration
- problem with static ip in ubuntu 12.04 lts server
- Linux Basics - Set A Static IP On Ubuntu
- Howto: Ubuntu Linux convert DHCP network configuration to static IP configuration
I have double checked those numbers, and they are the same values I use on 2 different computers at the office (NOTE: those 2 computers, raspis, are connected to a network switch then the router, whereas the desktop currently in question connect directly to the router). However, when I enable static addresses and restart, the machine does not get the ip address I requested (
192.168.1.70
), insteadgetting a different one (disabling the NIC altogether. I have also tried requesting a different ip address (192.168.1.111
)192.168.1.199
) in case the old one was taken, but that too results in the NIC being disabled.I am asking this question here as google/SO does not seem to have an answer specifically pertaining to what users should do, and how they should proceed when simply "googling the problem" and quickly updating a single file does not result in static addresses. I am specifically requesting the following:
- An answer as to why this may not be working (ie. whether this is Ubuntu 13.10 related).
- How to debug the network initialization during boot.
- How to finally set up static ip addressing.
EDIT:
As per Atari's requests, I tried setting the IP using the GUI instead of the command line. To do this, I had to purge the
/etc/network/interfaces
file first (by commenting out the static related lines), restarting, then trying again. If I do not do this, I can not even access the options of my NIC. This did assign a static IP to my computer, however, now I only have local access to and from it (viassh
) with absolutely no access to the internet.-
Atari911 over 10 yearsDo you have the desktop installed on the problem computer? Or are you working CLI only?
-
puk over 10 years@Atari911 I have the desktop installed, out of preference I am using the terminal to update this file
-
Atari911 over 10 yearsThats what i was wondering. Have you tried to change it using the GUI? Just to check that works?
-
puk over 10 years@Atari911 I will try that and edit the question to include the outcome
-
Atari911 over 10 yearsIt seems like maybe there is another program that is taking the network settings from some other config. Im thinking this because you are good until you reboot.
-
puk over 10 years@Atari911 Oh man I really messed up on account of having 2 ethernet cards. Turns out if I set up static addressing the NIC fails and I have no internet. I added a strikeout to address this. Sorry
-
puk over 10 years@Atari911 your suggestion worked when using the GUI. Add it as an answer and I will accept it if you like. Also, any idea why this is happening? I don't feel comfortable using a GUI version without understanding why the command line version failed
-
Atari911 over 10 yearsAlso, now that you mentioned having two NICs... Make sure that you are referencing the correct interface in the config. NetworkManager will disable for that interface only if it is explicitly mentioned in the /etc/network/interfaces.
-
puk over 10 yearsThat's a good idea actually as eth1 is not mentioned in
/etc/network/interfaces
, only eth0 -
BillThor over 10 years@puk I've edited the post to be more specific.
-
puk over 10 yearsUsually you are right, and eventually I will move to using my linux as my router, but many routers, like the one I am currently using, do not support address mapping.
-
puk over 10 yearsThank you for all your help, but ultimately I will have to go with BillThor's answer as I am pretty sure I was missing
auto eth0
-
puk over 10 yearsAlso, to anyone taking Atari's advice, I went ahead and stupidly (and blindly) added
iface eth1 inet dynamic
to my/etc/network/interfaces
file and it mucked up my boot and I had to drop down to recovery mode to fix it...do not make the same mistake I made. -
puk over 10 yearsI think it was the fact that I was missing
auto eth0
. It seems to be working at the moment -
Atari911 over 10 yearsYea, I guess I should have looked at the configuration you made a little closer. Well, know you know how to mess with the networkmanager! lol
-
puk over 10 yearswhat happened in 12.04
-
Henry Aloni over 10 yearsThis is not an acceptable answer in cases where you don't have connection to the internet :)
-
Ciro Santilli OurBigBook.com about 10 yearsThe option is called DHCP Reservation Lease Infos. It is by far the easiest thing to do.