You are on page 1of 5

1.3.

Changing IP Addresses and Routes


This section introduces changing the IP address on an interface, changing the de
fault gateway, and adding and removing a static route. With the knowledge of ifc
onfig and route output it's a small step to learn how to change IP configuration
with these same tools.
1.3.1. Changing the IP on a machine
For a practical example, let's say that the branch office server, morgan, needs
to visit the main office for some hardware maintenance. Since the services on th
e machine are not in use, it's a convenient time to fetch some software updates,
after configuring the machine to join the LAN.
Once the machine is booted and connected to the Ethernet, it's ready for IP reco
nfiguration. In order to join an IP network, the following information is requir
ed. Refer to the network map and appendix to gather the required information bel
ow.
*
An unused IP address (Use 192.168.99.14.)
*
netmask (What's your guess?)
*
IP address of the default gateway (What's your guess?)
*
network address [5] (What's your guess?)
*
The IP address of a name resolver. (Use the IP of the default gateway here
[6]. )
Example 1.5. ifconfig and route output before the change
[root@morgan]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:53
inet addr:192.168.98.82 Bcast:192.168.98.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:9 Base address:0x5000
[root@morgan]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.98.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.98.254 0.0.0.0 UG 0 0 0 eth0

The process of readdressing for the new network involves three steps. It is clea
r in Example 1.5, ifconfig and route output before the change , that morgan is conf
igured for a different network than the main office desktop network. First, the
active interface must be brought down, then a new address must be configured on
the interface and brought up, and finally a new default route must be added. If
the networking configuration is correct and the process is successful, the machi
ne should be able to connect to local and non-local destinations.
Example 1.6. Bringing down a network interface with ifconfig
[root@morgan]# ifconfig eth0 down

This is a fast way to stop networking on a single-homed machine such as a server


or workstation. On multi-homed hosts, other interfaces on the machine would be
unaffected by this command. This method of bringing down an interface has some s
erious side effects, which should be understood. Here is a summary of the side e
ffects of bringing down an interface.
Side effects of bringing down an interface with ifconfig
*
all IP addresses on the specified interface are deactivated and removed
*
any connections established to or from IPs on the specified interface are
broken [7]
*
all routes to any destinations through the specified interface are removed
from the routing tables
*
the link layer device is deactivated
The next step, bringing up the interface, requires the new networking configurat
ion information. It's a good habit to check the interface after configuration to
verify settings.
Example 1.7. Bringing up an Ethernet interface with ifconfig
[root@morgan]# ifconfig eth0 192.168.99.14 netmask 255.255.255.0 up
[root@morgan]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:53
inet addr:192.168.99.14 Bcast:192.168.99.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:9 Base address:0x5000

The second call to ifconfig allows verification of the IP addressing information


. The currently configured IP address on eth0 is 192.168.99.14. Bringing up an i
nterface also has a small set of side effects.
Side effects of bringing up an interface
*
the link layer device is activated
*
the requested IP address is assigned to the specified interface
*
all local, network, and broadcast routes implied by the IP configuration a
re added to the routing tables
Use ping to verify the reachability of other locally connected hosts or skip dir
ectly to setting the default gateway.
1.3.2. Setting the Default Route
It should come as no surprise to a close reader (hint), that the default route w
as removed at the execution of ifconfig eth0 down. The crucial final step is con
figuring the default route.
Example 1.8. Adding a default route with route
[root@morgan]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
[root@morgan]# route add default gw 192.168.99.254
[root@morgan]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.99.254 0.0.0.0 UG 0 0 0 eth0

The routing table on morgan should look exactly like the initial routing table o
n tristan. Compare the routing tables in Example 1.1, Sample ifconfig output and E
xample 1.8, Adding a default route with route .
These changes to the routing table on morgan will stay in effect until they are
manually changed, the network is restarted, or the machine reboots. With knowled
ge of the addressing scheme of a network, and the use of ifconfig and route it's
simple to readdress a machine on just about any Ethernet you can attach to. The
benefits of familiarity with these commands extend to non-Ethernet IP networks
as well, because these commands operate on the IP layer, independent of the link
layer.
1.3.3. Adding and removing a static route
Now that morgan has joined the LAN at the main office and can reach the Internet
, a static route to the branch office would be convenient for accessing resource
s on that network.
A static route is any route entered into a routing table which specifies at leas
t a destination address and a gateway or device. Static routes are special instr
uctions regarding the path a packet should take to reach a destination and are u
sually used to specify reachability of a destination through a router other than
the default gateway.
As we saw above, in Section 1.2.3, Static Routes to Networks , a static route provi
des a specific route to a known destination. There are several pieces of informa
tion we need to know in order to be able to add a static route.
*
the address of the destination (192.168.98.0)
*
the netmask of the destination (255.255.255.0)
o
EITHER the IP address of the router through which the destination (1
92.168.99.1) is reachable
o
OR the name of the link layer device to which the destination is dir
ectly connected
Example 1.9. Adding a static route with route
[root@morgan]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.99.254 0.0.0.0 UG 0 0 0 eth0
[root@morgan]# route add -net 192.168.98.0 netmask 255.255.255.0 gw 192.168.99.1
[root@morgan]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.98.0 192.168.99.1 255.255.255.0 UG 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.99.254 0.0.0.0 UG 0 0 0 eth0

Example 1.9, Adding a static route with route shows how to add a static route to t
he 192.168.98.0/24 network. In order to test the reachability of the remote netw
ork, ping any machine on the 192.168.98.0/24 network. Routers are usually a good
choice, since they rarely have packet filters and are usually alive.
Because a more specific route is always chosen over a less specific route, it is
even possible to support host routes. These are routes for destinations which a
re single IP addresses. This can be accomplished with a manually added static ro
ute as below.
Example 1.10. Removing a static network route and adding a static host route
[root@morgan]# route del -net 192.168.98.0 netmask 255.255.255.0 gw 192.168.99.1
[root@morgan]# route add -net 192.168.98.42 netmask 255.255.255.255 gw 192.168.9
9.1
[root@morgan]# route add -host 192.168.98.42 gw 192.168.99.1
SIOCADDRT: File exists
[root@morgan]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.98.42 192.168.99.1 255.255.255.255 UGH 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.99.254 0.0.0.0 UG 0 0 0 eth0

This should serve as an illustration that there is no difference to the kernel i


n selecting a route between a host route and a network route with a host netmask
. If this is a surprise or is at all confusing, review the use of netmasks in IP
networking. Some collected links on general IP networking are available in Sect
ion I.1.3, General IP Networking Resources .
[5] The network address can be calculated from the IP address and netmask. Refer
to Section H.1, ipcalc and other IP addressing calculators . Especially handy is t
he variable length subnet mask RFC, RFC 1878.
[6] Many networks are configured with the name resolution services on a publicly
connected host. See Section 12.6, DNS Troubleshooting .
[7] It is possible for a linux box which meets the following three criteria to m
aintain connections and provide services without having the service IP configure
d on an interface. It must be functioning as a router, be configured to support
non-local binding and be in the route path of the client machine. This is an unc
ommon need, frequently accomplished by the use of transparent proxying software.

You might also like