Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Switching to a static IP (within your network)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
StringCheesian
l33t
l33t


Joined: 21 Oct 2003
Posts: 887

PostPosted: Wed Mar 18, 2009 8:28 am    Post subject: Switching to a static IP (within your network) Reply with quote

Switching to a static IP (within your network) by a dummy for dummies

If you're reading this, you're probably using a dynamic IP with DHCP - especially if you just followed the install instructions and emerged dhcpcd. This means Gentoo asks your router to assign it an IP address every time you connect or boot, just like a default Windows install does.

A static IP is when you set an IP address to use. A static IP means others on your home/work network can connect to you using the same IP that their browser/ftp client remembers for them. It also frees you from DHCP and the 2 or so seconds of delay it typically involves.

Step 1: Find out what kind of IP addresses your router gives out
Open a terminal and type:
Code:
su
(type your root password)
ifconfig

It will probably show something like this:
Code:
lo        Link encap:Local Loopback
(...)

eth0      Link encap:Ethernet  HWaddr 00:1d:6a:44:e1:09
          inet addr:172.16.0.2  Bcast:172.16.255.255  Mask:255.255.0.0
(...)

The inet addr part shows the IP address you're using now.

Step 2: Choose your new permanent IP address
My router assigns everything addresses like 172.16.0.xx. So an address like 172.16.2.100 is safe because my router will never use that one for another computer (note the ".2." instead of ".0.").

If your router gives addresses like "192.168.1.101", then you might use "192.168.0.42". Just avoid "xx.xx.0.1" - that's usually the router's IP address.

WARNING: If your address is something strange, not one of the usual 3 kinds: "192.168.x.x", "172.16.x.x", or "10.x.x.x", you might want to ask an expert about your network before trying this.

Step 3: Find out what DNS servers you're using now
While connected, take a look at /etc/resolv.conf
It will probably look something like this:
Code:
# Generated by dhcpcd
# /etc/resolv.conf.head can replace this line
nameserver 66.28.0.45
nameserver 66.28.0.61
# /etc/resolv.conf.tail can replace this line

These are the IP addresses of the DNS servers your Gentoo contacts to resolve domains like gentoo.org into IP addresses. Your dynamic IP Gentoo most likely erases this file every time you disconnect. So keep a copy for later.

Step 4: Make backups and prepare
You can completely undo everything by restoring /etc/conf.d/net, so it's good to back it up:
Code:
cp /etc/conf.d/net /etc/conf.d/net~


Step 5: Change your /etc/conf.d/net to look like this:
Quote:
config_eth0=( "172.16.2.100 netmask 255.255.0.0" )
routes_eth0=( "default gw 172.16.0.1" )
dns_servers_eth0=( "66.28.0.45 66.28.0.61" )

The bold parts need to be replaced with your info. Change the first bold IP address to the one you chose, and the second bold one to the address of your router. For dns_servers_* you can copy in the addresses from your old /etc/resolv.conf (from Step 3) and/or from OpenDNS.

Change "eth0" to "wlan0" or whatever yours is named. Delete or comment out any other stuff in the file.

Step 6: Switch to static IP
Substitute "eth0" for your interface name.
Code:
/etc/init.d/net.eth0 restart


If all went well you should still have network and internet access just as before.

Further reading:
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=8#doc_chap2_pre5

History:
2008-Mar-18 Minor grammar fix and improved DNS and /etc/resolv.conf stuff (thanks danomac!)


Last edited by StringCheesian on Thu Mar 19, 2009 7:09 am; edited 3 times in total
Back to top
View user's profile Send private message
muhsinzubeir
l33t
l33t


Joined: 29 Sep 2007
Posts: 945
Location: /home/muhsin

PostPosted: Wed Mar 18, 2009 1:02 pm    Post subject: Reply with quote

great guide thanks....I have seen occasionally some router support static ip, if thats an option to someone :D
_________________
~x86
p5k-se
Intel Core 2 Duo
Nvidia GT200
http://www.zanbytes.com
Back to top
View user's profile Send private message
MaximeG
l33t
l33t


Joined: 15 Apr 2008
Posts: 722
Location: Belgium

PostPosted: Wed Mar 18, 2009 3:12 pm    Post subject: Reply with quote

Hi,

I usually use StaticIP for my desktops PC at home even if my routeur provides DHCP, so thanks for the guide ;)

Regards,
Maxime
_________________
Future is wide open.
Back to top
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 832
Location: Vancouver, BC

PostPosted: Wed Mar 18, 2009 3:28 pm    Post subject: Reply with quote

Just a tip: you should really set your dns servers as well:

Code:

dns_servers_eth0=( "<ip>" )


If you have multiple interfaces it's quite possible that one will clobber your DNS servers, and then when you reboot they'll be lost.
Back to top
View user's profile Send private message
furanku
l33t
l33t


Joined: 08 May 2003
Posts: 876
Location: Hamburg, Germany

PostPosted: Tue Mar 24, 2009 9:33 am    Post subject: Reply with quote

Wouldn't it be much better to solve the problem at it's source: The router?

Most routers offer a configuration option to assign static IPs to clients by identifying them via their MAC Address. If you assign an arbitrary IP to you Linux box the way you suggest it, you are still depending on the routing tables of your router (that's why it's called "router" ;) ) and you can't guarantee that the router itself will treat self assigned IPs in your subnet the way you want. If several persons in your subnet assign the same IP to their computers you'll surely run into problems. There are several methods to assign a IP to a network device: DHCP, zeroconf, ... which avoid collisions.

But if you want a static IP you need a central instance which guarantees that that IP is unique in you network. You can either do that by hand, but most routers offer also exactly that feature: Give the network device with the mac adress XX:XX:XX:XX:XX exactly that IP. You can even still use dhcp and don't have to care about that when configuring the actual network devices, they will be automatically assigned the correct static IP by your router. If you add another device with a static IP, simply expand that table in you router, and you don't need to fiddle around with the devices, which mostly have a default setup to use dhcp.

Especially when you want to use a service like ssh from outside of you local network, you need to tell the router to forward the packets to which IP in your local network, and then you have to involve your router into the configuration of your network anyway. So I would say it's much cleaner, straight forward and easier to maintain to let the router do the work.
Back to top
View user's profile Send private message
StringCheesian
l33t
l33t


Joined: 21 Oct 2003
Posts: 887

PostPosted: Thu Mar 26, 2009 8:59 am    Post subject: Reply with quote

furanku wrote:
Wouldn't it be much better to solve the problem at it's source: The router?

Most routers offer a configuration option to assign static IPs to clients by identifying them via their MAC Address. If you assign an arbitrary IP to you Linux box the way you suggest it, you are still depending on the routing tables of your router (that's why it's called "router" ;) ) and you can't guarantee that the router itself will treat self assigned IPs in your subnet the way you want. If several persons in your subnet assign the same IP to their computers you'll surely run into problems. There are several methods to assign a IP to a network device: DHCP, zeroconf, ... which avoid collisions.

But if you want a static IP you need a central instance which guarantees that that IP is unique in you network. You can either do that by hand, but most routers offer also exactly that feature: Give the network device with the mac adress XX:XX:XX:XX:XX exactly that IP. You can even still use dhcp and don't have to care about that when configuring the actual network devices, they will be automatically assigned the correct static IP by your router. If you add another device with a static IP, simply expand that table in you router, and you don't need to fiddle around with the devices, which mostly have a default setup to use dhcp.

Especially when you want to use a service like ssh from outside of you local network, you need to tell the router to forward the packets to which IP in your local network, and then you have to involve your router into the configuration of your network anyway. So I would say it's much cleaner, straight forward and easier to maintain to let the router do the work.

I'm sure you're right, but this way involves more tinkering with Gentoo and less mucking about with router configuration :). It's also good for the obsessive or bored who want to shave maybe a second or two off their bootup time for no good reason.
Back to top
View user's profile Send private message
MaximeG
l33t
l33t


Joined: 15 Apr 2008
Posts: 722
Location: Belgium

PostPosted: Thu Mar 26, 2009 3:51 pm    Post subject: Reply with quote

Hi,

Personnally I like having my desktops and servers configured statically because they are very unlikely to change. It's not really a matter of gaining a couple seconds at boot, but more to be able to have a very easy and straight forward config file for the network. Something like :

ip1 name1
ip2 name2

This file you can reuse if you re-install or change router or anything. It's also easy to configure firewall this way.
The motto is : my network is static, so I configure it statically :)

However, my laptop is configured to use dhcp since it's very likely to connect elsewhere (noticeably at work) with a complete different set-up.

Now, I'm not a network maniac. So the simpler the better, even if it's very "manual", is usually what I aim to while dealing with network at home.
My view would be completely different at work with high availability of servers and stuff though ;)

Regards,
Maxime
_________________
Future is wide open.
Back to top
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 832
Location: Vancouver, BC

PostPosted: Thu Mar 26, 2009 4:50 pm    Post subject: Reply with quote

furanku wrote:
Wouldn't it be much better to solve the problem at it's source: The router?

Most routers offer a configuration option to assign static IPs to clients by identifying them via their MAC Address.


I've used several routers (some provided by ISPs, others are affordable home-based routers from D-Link/Linksys/etc) that don't support this. I have yet to see one in the price range of home users that does...

That aside, you can get that type of support by flashing it (I flashed mine with ddwrt) but most people that buy them off-the-shelf won't bother.
Back to top
View user's profile Send private message
furanku
l33t
l33t


Joined: 08 May 2003
Posts: 876
Location: Hamburg, Germany

PostPosted: Thu Mar 26, 2009 6:20 pm    Post subject: Reply with quote

Hmm ... I've had two Netgear Router (currently a WG 614 for 35€) and one D-Link, all in the lower price category, and all of them were able to assign IPs statically to MAC Adresses via dhcp. To be honest I can't think of a usual private customer class route without that feature, can you be a bit more specific which one is missing that?
Back to top
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 832
Location: Vancouver, BC

PostPosted: Thu Mar 26, 2009 8:36 pm    Post subject: Reply with quote

furanku wrote:
Hmm ... I've had two Netgear Router (currently a WG 614 for 35€) and one D-Link, all in the lower price category, and all of them were able to assign IPs statically to MAC Adresses via dhcp. To be honest I can't think of a usual private customer class route without that feature, can you be a bit more specific which one is missing that?


I think we're going off-topic a bit, but my friend's Netgear router is not capable of it. Others that I've installed that don't have this feature are the wrt54g/wrt54gl, both of which I had to flash to get that functionality. There was another one (but I can't remember the make/model.)
Back to top
View user's profile Send private message
furanku
l33t
l33t


Joined: 08 May 2003
Posts: 876
Location: Hamburg, Germany

PostPosted: Fri Mar 27, 2009 9:02 pm    Post subject: Reply with quote

Ok, sorry, I couldn't believe that but after downloading the manual for the Linksys wrt54g it seems like this router is in fact missing the IMHO useful feature to assign fixed IPs via dhcp via identifiying the client by its MAC address. In that case you have of course to turn off dhcp at the cliened and assign manually a static IP to it, if you want to use that.
Back to top
View user's profile Send private message
danomac
l33t
l33t


Joined: 06 Nov 2004
Posts: 832
Location: Vancouver, BC

PostPosted: Fri Mar 27, 2009 10:19 pm    Post subject: Reply with quote

furanku wrote:
Ok, sorry, I couldn't believe that but after downloading the manual for the Linksys wrt54g it seems like this router is in fact missing the IMHO useful feature to assign fixed IPs via dhcp via identifiying the client by its MAC address. In that case you have of course to turn off dhcp at the cliened and assign manually a static IP to it, if you want to use that.


There's a lot of routers like that (95% of the routers I've seen.) ;) I've seen very few that came with that ability out-of-the-box.
Back to top
View user's profile Send private message
MaximeG
l33t
l33t


Joined: 15 Apr 2008
Posts: 722
Location: Belgium

PostPosted: Sat Mar 28, 2009 6:02 pm    Post subject: Reply with quote

Hi,

As far as I'm concerned, this feature is called "MAC address preference". Which means that if your router receive a request from MAC address 1, it will give back an IP and keep the preference MAC-IP in a file. This means that if you disconnect the client, and connect it a while later, it's very likely to receive the same IP.

Actually, it will always return the same IP address for the same MAC unless forced to do so (for instance if you exhaust your dhcp ip pool ) which is very unlikely if you're speaking of home network.
Such functionality is widely spread on nowadays routers, and never seen a dhcp capable routeur without MAC address preference. Ok, I've only used Linksys,D-Link and Philips routers so far, so I can't tell for other brands. ;) But it's honestly a very common feature.

Regards,
Maxime
_________________
Future is wide open.
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3057
Location: Redmond, WA

PostPosted: Tue Apr 07, 2009 4:24 pm    Post subject: Reply with quote

MaximeG wrote:
Hi,

As far as I'm concerned, this feature is called "MAC address preference". Which means that if your router receive a request from MAC address 1, it will give back an IP and keep the preference MAC-IP in a file. This means that if you disconnect the client, and connect it a while later, it's very likely to receive the same IP.
I don't think that's what he's talking about.

You're talking about a client connecting to a router, then the router keeping track of the IP it fed the client, then for some predetermined time, it keeps feeding that same IP address.

But he was talking about having the MAC->IP setting stored permanently. So it wouldn't be the case that you are "very likely to receive the same IP" but are guaranteed it (assuming the MAC wasn't changed). This option is different in that, it is both stored permanently and will also be stored even if the router was rebooted.
_________________
My political stance/bias
slycordinator != slycoordinator
Back to top
View user's profile Send private message
Tony0945
Guru
Guru


Joined: 25 Jul 2006
Posts: 530

PostPosted: Sat May 30, 2009 2:51 am    Post subject: D-Link DI-524 does this Reply with quote

D-Link DI-524 does this. In fact, you can tell the router to not connect to a MAC address that is not in the table, useful for security reasons. The 524 is no longer made but was a cheap router. I can't believe that D-Link's successor routers don't have the static IP feature.

It's still advantageous to set up static ip on your gentoo box and enter the addresses in your /etc/hosts.

I don't want to start a flame war, but I first bought a Linksys router and it wouldn't connect. I brought it back to Best Buy who gave me the D-link (same price) in exchange because they were out of stock on the Linksys.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum