Your Ad Here

Saturday, September 12, 2009

Guide: How to get a Static IP?

If you have trouble downloading from http://ul.to, Rapidshare or the likes of free downloads, you need this.

I have received much feedback about how you can't download files. So, this makes it easier for you to download from many other sites.

but I am not your techie. :)

What is an IP address?

An IP address is like a telephone number that any computer can use to find any other computer in a network. All networked computers have IP addresses. Most have a static ip, that is, they don't change (for instance, at the time of writing, Google is 64.233.183.147, and typinghttp://64.233.183.147/ into your browser will take you straight to Google. That is Google's "public IP", aka. "external IP" (one of them), behind their NAT are probably thousands of separate machines, each with different "private" IP's (probably static, or more likely a mix of dynamic and static IP's), 192.168.1.1, 192.168.1.2, etc., we don't see those. But some IP's do change..

Home computers, by default, are set to get their private IP address dynamically from your gateway device (router), via dhcp, In other words, the router supplies a private IP address for your computer to use, temporarily (your router is probably doing NAT, too, and needs your computer to have an IP address, so it knows where to send your data packets). However, dhcp is not an ideal setup; if there is any interruption in the computer's network connexion to the router (you reboot your PC, for instance), a completely new IP address may be assigned1.

For general (beginner's) use, dhcp is just fine, because it's easier; generally works "out of the box", requiring no configuration at all. But if you want to do more; run servers, p2p applications, interesting communication devices, etc, you'll be creating port forwarding/NAT rules on your router, to direct incoming traffic to a particular computer (the one running the server), and if you want those rules to be effective past your next reboot, you will need to get a static IP on your computer, so that the incoming data packets can still find you. Imagine the fun your friends and family would have contacting you if your telephone number changed every day!

okay, let's do it!

Okay, so you understand why you need to get a static IP, (apart from the obvious "cuz I want to forward my ports!") it's time to move on to the how part.

"Private" IP addresses usually begin with 192.168** and must be on the same "subnet" that the router is on, in other words,192.168.1.something, and NOT 192.168.4.something. Only the last number will be different from the address of your router which by default (at least for Voyager routers), lives at 192.168.1.1. 192.168.0.1 is also common.

** There are other private ranges, too, but most people don't need to know about those, 192.168.1.something is what most folk use, and though thousands of millions of machines in the world have 192.168.1.something as their private IP address, they don't interfere with each other because they are behind NATs and other gateways; from the outside, we only see the public IP address, aka. "external IP".

HOWEVER, if your router uses 192.168.0.something, or 10.0.0.something, or something else from the private IP ranges..

10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255


..then don't hesitate to use THAT instead of the 192.168.1.something addresses I use in my examples, that's what most routers use, but not all. Do check.

The best way to know what subnet your router uses, and thereby which IP to use, is to look and see what IP it has currently assigned to your computer. In Windows, it's in the Support tab of the connexion's Status dialog. A netstat command will get you the same information (and more) on most platforms, perhaps netstat -n. Your router's web interface will likely have all this information, too.


If your router has USB, it has probably already grabbed 192.168.1.2 for the USB connexion, so that leaves you with any number between192.168.1.3 and 192.168.1.255 to use for your private computers to use as static IP's, one unique number per machine.

Remember to disable dhcp in your router before you start assigning static IP's.

No need for DHCP with static a IP (click this image to open your OWN dhcp settings window)

Alternatively, create a new dhcp range somewhere away from your regular static IP's, handy for guests and what-not, perhaps 192.168.1.50 -192.168.1.99

Fortunately, assigning a static IP is very easy to achieve, and the same principle applies to every computing platform, the only real difference being where to apply the settings. I'll start with the trickiest..

Windows®..

The dialog you are looking for is here..

Control Panel >> Network Connections >> Local Area Connection >> Properties >> TCP/IP >> Properties

*phew*

In other words, open the control panel, open Network Connections, right-click the "Local Area Connection" (unless you've renamed it to something else) and chose "Properties", then (in the "general" tab) select "Internet Protocol(TCP/IP)" and click the "Properties" button. Check the "Use the Following IP address" checkbox and enter your desired IP address. If you use 192.168.1.3 as your IP address, the dialog will look something like this..


Windows network connection

..which is a clever screencap, showing you just how to get there. When you're done, okay everything to close all the dialogs. It's smart to use192.168.1.3 as your address, especially if you plan to use any of the ready-made script kicking around here.

I you are plugging your computers into a network switch (Good Idea!), it's also smart to plug each machine into its corresponding CAT-5 socket, router (192.168.1.1) into the first, 192.168.1.3 into the third, and so on, so you can see which is which at-a-glance.

Mac OS X..

What you need is in the "Network" dialog of the System Preferences, and will look something like this..

Mac network connection
Simply click the drop-down menu for "Show", and choose "Built-in Ethernet" to get that screen, enter all the details as above. Click "Apply Now", and you're done!

Did you notice that on the Mac, you enter the Router's address into a space labelled as "Router", whereas, on Windows, you enter it into a space labelled "Default Gateway"? But then, the space for DNS servers is clearer in the Windows box. Seems we all still have a lot to learn from each other.

Linux..

This probably isn't necessary, most Linux users know how to alter this stuff, but I suspect one or two may not. Usually you need to edit some plain text file (as root). On some Linux systems, the settings will be in /etc/rc.d/rc.inet1 (or whatever interface you are using), or possibly/etc/network/interfaces. I guess it might look something like this..

linux network connection
Usually, your distro will have a utility for setting up your network, and one of the first things it will ask you, after you tell it you want "manual" and not "automatic" configuration, is what IP address to assign to the machine. It's usually called something like "Network Configuration", or "inet configurator" or whatever. you'll find it! In a shell you can probably do "netconfig", "netcfg", "Ifconfig", "neat", or "netset" (depending on your distro). Same story for Unix, Solaris, BSD, etc..

That's it!

From now on, your machine will always be reachable at your chosen address. NAT rules will be permanent, and you can dabble in all sorts of interesting and esoteric communications devices, servers and p2p applications.

If you have a few computers on your private network (LAN), you might want to consider giving them all names to go with their permanent addresses, so you can reach them by typing "workshop" or something into a telnet session/web browser/whatever. You could telnet to your router by simply doing telnet router, for instance. If you develop web sites, this is near essential. See here for more details.

Have fun!

;o)
(or

notes..

  • If you were actually wondering how to get a static IP for your whole internet connexion; aka. external IP, aka. "WAN IP"; perhaps to run some live website or interesting server from your home or office, well, that's not something we mere mortals can do from our side of the router. You will need to talk to your ISP. Note: Not all ISP's offer this service, and those that do will usually charge a premium. However..



    Even those that think they do, or have been told they do. Perhaps you simply need to get yourself a dyndns.org or no-ip.com address, and a DUC.

  • Note: you can always get your current external IP address, a-la "what's my IP", except in plain text, right here. Very handy for automatic shell scripts, and more. Right now, it's 117.20.191.218.
references:
1. This is very similar to the way you get a new external IP whenever you dial-up to the internet (some folks still do that) or disconnect your ADSL for a few minutes2 (less scrupulous net citizens use this "feature" regularly!).

2. Although it's usual to get a new external IP when you reconnect your DSL, it's not guaranteed. With some ISP's it happens rarely, with others you need to disconnect for a few minutes or more, with some ISP's, you always get a fresh IP with each connect, nomatter how quickly you do it. One thing is certain, though; unless you are paying them for a static IP, your current external IP address will change!

3. Remember, your external IP, and your local computer's IP, are two totally separate things (well, in this context). Almost no one needs a static IP for theirexternal connexion, but almost everyone who wants to run peer-to-peer applications, ftp servers, and so on, will need a static IP for their local computer. The former is supplied by your ISP, the latter is down to you.

FAQ..

When troubleshooting network issues, I get my solutions by following one simple rule.. "Think like a packet of data". As simple as this sounds, imagining yourself as a packet of data, traveling from A to B is the fastest way to figure out where the trouble lies. That's it! Try it, you will not be disappointed with the results.

What's the difference between a public and private IP Adress?

We did this! Okay, in short, your GATEWAY has your Public IP address, and your desktop computer (and any other machines inside your home/organization) have private IP Addresses. Simply put; it's outside and inside. Anyone "out there" can see your public IP, but only machines inside your own network know each other's individual private IP addresses.

.. So, let's say a packet of data from "out there", is trying to reach your machine; it could be a legitimate connexion from a client, maybe an FTP client, or some game player, or script-kiddie, or whatever. It leaves their machine, and starts its journey, hop-to-hop, attempting to get to yours.

"Out There", is the internet. When you first connected to the internet, via your ISP's backbone, they assigned your connexion an IP address (or more than one, in some cases) from a large pool of IP Addresses they own. Any machine sending you a packet of data can reach you at this IP.

Some folk pay for a static IP, most folk get a dynamic IP; that is, whatever's currently available from the ISP's IP pool, but either way, whatever IP your ISP gives your connexion becomes your Public IP Address. Every time you access a web page, or FTP site, or game server, or announce yourself to a torrent tracker, or anything; that is the IP Address they see at the other end of the connexion, and that is the address they will send the packets back to. This is your Public IP Address.

Up until that packet reaches your gateway machine, it is in the public domain. Anything could happen to it. Once that packet hits your gateway machine, it enters the private domain and what happens next, is up to you..

If your gateway machine is a router, or better yet, a dedicated gateway appliance like IPCop, or Smoothwall is, then you have an array of possibilities. The packet may be on a port you don't know, or don't allow, and may be immediately dropped by your gateway's firewall.

Or it may be on a port your gateway machine recognizes, like the return data from a web page you requested, or your torrent port, or whatever, and the gateway device will have been programmed to forward that packet on to a Private IP Address, another machine inside your network, your desktop, or wherever. The gateway's firewall usually does most of this automatically, sorting out which machines asked for which data, but can also be programmed to forward specific traffic to specific machines, for example, when we create a port-forwarding rules for P2P clients on our desktops.

Your Private IP Address is known only to machines inside your own network. If you have lots of machines inside your network, they will each have different private addresses, and with a secure gateway, none of these addresses can ever be seen from the outside.

This is why if you broadcast your Private IP to a distant server, e.g. 192.168.1.3, requested data would never return, having been sent to a machine most likely sitting in the exact same building as the distant server, if such a machine even existed.

Troubleshooting..

A number of things can go wrong when trying to configure a static IP on your local machine.
The most common issues are..
  • A second network adapter on your computer already has that IP address assigned to it.
    Note: Firewire (aka. 'IEEE 1394') adapters usually get automatically setup as network adapters in Windows.

  • Another computer on your local network already has the IP you are attempting to assign.

  • You do not have sufficient security privileges to make such a change (i.e. not admin)

Check these things, and if you're still having difficulty setting up a static IP, feel free to leave a question below. It might be something other's could use an answer to.



0 comments:

Post a Comment

Advertisement

Your Ad Here