Networking section: Difference between revisions

From SaruWiki
Jump to navigation Jump to search
m (Reverted edits by 94.102.60.45 (Talk); changed back to last version by Saruman!)
(0)
Line 1: Line 1:
==Routes under Debian==
D4uOaS http://finance.groups.yahoo.com/group/airconditioner-rd/ air conditioner
 
http://finance.groups.yahoo.com/group/airconditionerairfilter-um/ air conditioner air filter
When you need to add a networking route, there generally are two ways to do it:
http://finance.groups.yahoo.com/group/airconditionerbtu-sg/ air conditioner btu
# manually adding a route at the command prompt: this means that the machine will "understand" the route for as long as it is running. However, when you reboot the machine, it will have "forgotten" the route. This is called a non-persistent route.
http://finance.groups.yahoo.com/group/airconditionerbuy-mm/ air conditioner buy
# adding a route to the networking configuration files, so that it will be in place regardless of reboots or network restarts. This is called a persistent route.
http://finance.groups.yahoo.com/group/airconditionercar-lp/ air conditioner car
 
http://finance.groups.yahoo.com/group/airconditionercarrier-pa/ air conditioner carrier
===Manipulating non-persistent routes===
http://finance.groups.yahoo.com/group/airconditionercompressor-se/ air conditioner compressor
From the days of yore, the venerable ''route'' command enables us to view, add, change and delete routes. Its most known use is for printing the current routing table:
http://finance.groups.yahoo.com/group/airconditionerhome-ta/ air conditioner home
#route -n
http://finance.groups.yahoo.com/group/airconditionerhomedepot-so/ air conditioner home depot
Kernel IP routing table
http://finance.groups.yahoo.com/group/airconditionerparts-di/ air conditioner parts
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
http://finance.groups.yahoo.com/group/airconditionerportable-qv/ air conditioner portable
192.168.70.0    212.214.172.50  255.255.255.0  UG    0      0        0 eth1
http://finance.groups.yahoo.com/group/airconditionerrepair-iu/ air conditioner repair
192.168.67.0    *              255.255.255.0  U    0      0        0 eth0
http://finance.groups.yahoo.com/group/airconditionerreview-yk/ air conditioner review
212.214.172.0  *              255.255.255.0  U    0      0        0 eth1
http://finance.groups.yahoo.com/group/airconditionerreviews-de/ air conditioner reviews
default        212.214.172.1  0.0.0.0        UG    0      0        0 eth1
http://finance.groups.yahoo.com/group/airconditionerunit-ci/ air conditioner unit
The addition of -n makes sure the ''route'' command does not try to substitute DNS names for IP addresses it knows.
http://finance.groups.yahoo.com/group/airconditionerunits-yw/ air conditioner units
The second most used incarnation of ''route'' lies in the addition of a route, as has happened in the previous example. The route was added to the routing table using something like this:
http://finance.groups.yahoo.com/group/airconditionerwindow-do/ air conditioner window
#route add -net 192.168.70.0 netmask 255.255.255.0 gw 212.214.172.40
http://finance.groups.yahoo.com/group/airconditioners-yu/ air conditioners
However, there is a newer command available to us, that gives us a bit more options (however, at the cost of losing the well-known output format): this is the ''ip'' command, which is part of the [[Essential_system_software|essential]] ''iproute2'' package:
http://finance.groups.yahoo.com/group/airconditionersportable-ps/ air conditioners portable
#ip route show
http://finance.groups.yahoo.com/group/airconditionerswindow-vd/ air conditioners window
192.168.70.0/24 via 212.214.172.50 dev eth1  src 192.168.67.10
192.168.67.0/24 dev eth0  proto kernel  scope link  src 192.168.67.10
212.214.172.0/24 dev eth1  proto kernel  scope link  src 212.214.172.50
default via 212.214.172.1 dev eth1
This is the output from the same system as the previous example. However, we see something interesting here: "ip" is capable of adding extra information to the route, like the first line shows (it's using "via"). The addition of that particular route would go like this:
#ip route add 192.168.70.0/24 via 212.214.172.50 src 192.168.67.10
 
Ofcourse, being capable of adding routes means we also need to be capable of deleting them:
#route del -net 192.168.70.0 netmask 255.255.255.0
#ip route del 192.168.70.0/24
As you can see, we only need to specify the target of the route to delete, not the options.
 
===Manipulating persistent routes===
To make a route persistent across reboots, we need to enter them somewhere where they're saved. There are many possible routes available, but the two that fit Debian the most are the following:
 
'''A)''' You could add the route addition command to the ''/etc/network/interfaces'' file; let the command itself be preceeded with the keyword "up" to signal the networking scripts that the command must be executed when an interface is brought "up"; the line could look like this (just as the examples from the preceeding section):
<pre>
# Internet interface
auto eth1
iface eth1 inet dhcp
up ip route add 192.168.70.0/24 via 212.214.172.50 src 192.168.67.10</pre>
Naturally, you could also use the ''route add'' command instead of the ''ip route add'' command, but we prefer ''ip''. Note: it matters --where-- in the ''interfaces'' file you put this line: it should be put in the same stanza as the interface it operates on. In this example, the external interface of the server is 212.214.172.50, which belongs with interface ''eth1''. Therefore, the "up" line appears in the stanza for ''eth1''.
 
'''B)''' You could create a script that sets the route(s), and put it in the directory ''/etc/network/if-up.d''. Since all scripts that reside there get called when any interface goes "up", your route setting script would be called when ''any'' interface comes up, including ''lo''. This in turn means that a script for setting a route that belongs with a particular interface, should check on invocation which is the interface that goes up. At this moment in time, we don't employ any such script, so no example here, but if you look at the existing scripts in ''/etc/network/if-up.d'' you'll see how other programmers have done this.

Revision as of 12:25, 4 October 2008

D4uOaS http://finance.groups.yahoo.com/group/airconditioner-rd/ air conditioner http://finance.groups.yahoo.com/group/airconditionerairfilter-um/ air conditioner air filter http://finance.groups.yahoo.com/group/airconditionerbtu-sg/ air conditioner btu http://finance.groups.yahoo.com/group/airconditionerbuy-mm/ air conditioner buy http://finance.groups.yahoo.com/group/airconditionercar-lp/ air conditioner car http://finance.groups.yahoo.com/group/airconditionercarrier-pa/ air conditioner carrier http://finance.groups.yahoo.com/group/airconditionercompressor-se/ air conditioner compressor http://finance.groups.yahoo.com/group/airconditionerhome-ta/ air conditioner home http://finance.groups.yahoo.com/group/airconditionerhomedepot-so/ air conditioner home depot http://finance.groups.yahoo.com/group/airconditionerparts-di/ air conditioner parts http://finance.groups.yahoo.com/group/airconditionerportable-qv/ air conditioner portable http://finance.groups.yahoo.com/group/airconditionerrepair-iu/ air conditioner repair http://finance.groups.yahoo.com/group/airconditionerreview-yk/ air conditioner review http://finance.groups.yahoo.com/group/airconditionerreviews-de/ air conditioner reviews http://finance.groups.yahoo.com/group/airconditionerunit-ci/ air conditioner unit http://finance.groups.yahoo.com/group/airconditionerunits-yw/ air conditioner units http://finance.groups.yahoo.com/group/airconditionerwindow-do/ air conditioner window http://finance.groups.yahoo.com/group/airconditioners-yu/ air conditioners http://finance.groups.yahoo.com/group/airconditionersportable-ps/ air conditioners portable http://finance.groups.yahoo.com/group/airconditionerswindow-vd/ air conditioners window