Jeder Rechner besitzt mindestens zwei Routen. Eine ist für das Loopback-Interface bestimmt, die andere Route gilt für die Netzwerkschnitttelle. Dabei können statische und dynamische Routen verwendet werden. Für dynamische Routen werden noch Routing-Daemonen benötigt. Geläufige Routing-Daemonen sind gated und routed. Auf das dynamische Routing, was nicht gerade frei von Tücken ist, will ich hier nicht weiter eingehen. Für den Anfang reicht das statische Routen.
Der Befehl route wird zum Verändern der IP-Routing-Tabelle des Kernels verwendet. In den meisten Fällen wird es dazu verwendet statische Routen zu Rechnern und Netzwerken anzuzeigen oder festzulegen.
route [OPTIONEN] route add [-net|-host] ZIEL [OPTIONEN] route del [-net|-host] ZIEL [OPTIONEN]
Im einfachsten Fall zeigt der Befehl route die Routingtabelle an. So sieht die Routing-Tabelle für einen einfachen Netzwerkrechner aus.
enterprise:~ # route Kernel IP Routentabelle Ziel Router Genmask Flags Metric Ref Use Iface 10.0.1.0 * 255.255.255.0 U 0 0 0 eth0 default 10.0.1.11 0.0.0.0 UG 0 0 0 eth0
Die Routing-Tabelle für einen DSL-Router unterscheidet sich schon etwas von der des Netzwerkrechners.
ds9:~ # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 217.5.98.62 * 255.255.255.255 UH 0 0 0 ppp0 10.0.1.0 * 255.255.255.0 U 0 0 0 eth0 default 217.5.98.62 0.0.0.0 UG 0 0 0 ppp0
Schauen wir uns doch mal die Bedeutung der 8 Spalten von links nach rechts an.
*
).
Eine Übersicht über die Optionen von route bietet die folgende Tabelle.
Optionen | |
-A ADRESSFAMILIE | Benutzt die angegeben ADRESSFAMILIE, z. B. inet oder inet6 |
-e | Ausgabeformt von netstat für Routentabellen |
-ee | Ausgabe aller Routenparameter aus der Routentabelle |
-F | Zeigt die FIB Routentabelle des Kernels an |
-C | Zeigt den Routencache des Kernels an |
-n | Zeigt numerische Adressen an, es erfolgt keine Namensauflösung |
-net | Das Ziel ist ein Netzwerk |
-host | Das Ziel ist ein Rechner |
-V | -version | Version |
-v | Ausführliche Ausgabe |
add | Setzt eine neue Route |
del | Löscht eine Route |
netmask NM | Die Netzwerkmaske der Route |
gw ROUTER | Das zum erreichen des Ziels benutzte Gateway. |
metric M | Setzt das Metric-Feld der Routentabelle auf M |
mss M | Setzt den MSS-Wert (Maximum Segment Size) für TCP-Verbindungen fest (Angabe in Bytes) |
reject | Installiert eine Blockaderoute, die einen Abbruch der Suche nach einer Route bewirkt. |
dev Schnittstelle | Verbindet die Route mit der angegebenen Schnittstelle. |
Benutzte Routen werden für eine gewisse Zeit im Routencache des Kernels gespeichert. Diesen Cache können Sie sich mit dem Schalter -C anzeigen lassen.
linux37:~ # route -C Kernel IP Routencache Ziel Ziel Genmask Flags Metric Ref Ben Iface linux37.amov.de www-proxy.HH1.s 217.89.70.62 0 0 96 eth0 linux37.amov.de resolv-H.DTAG.D 217.89.70.62 0 0 1 eth0 linux37.amov.de 217.6.176.11 217.89.70.62 0 0 1 eth0 217.89.70.34 217.89.70.63 217.89.70.63 ibl 0 0 4 lo linux37.amov.de search.ebay.de 217.89.70.62 0 0 0 eth0 217.6.176.11 linux37.amov.de linux37.amov.de l 0 0 15 lo 217.6.176.24 linux37.amov.de linux37.amov.de l 0 0 7 lo linux37.amov.de banners.ebay.co 217.89.70.62 0 0 0 eth0 linux37.amov.de 217.89.70.255 217.89.70.62 0 0 23 eth0 www-proxy.HH1.s linux37.amov.de linux37.amov.de l 0 0 96 lo resolv-H.DTAG.D linux37.amov.de linux37.amov.de l 0 0 1 lo ...
Eine Route zu einem Netzwerk können Sie mit dem folgenden Befehl setzen. Die Angabe der Option -net ist dabei optional, da davon ausgegangen wird, daß ein Route sich auf ein Netz bezieht.
route add -net 10.0.0.0
Handelt es sich bei dem Netz um ein Subnetz, dann muß auch die Subnetzmaske mit angegeben werden.
route add -net 10.0.1.0 netmask 255.255.255.0
Ist das Netzwerk nur über einen Router zu erreichen, muß dieser auch mit angegeben werden.
route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.1.254
Besitzt der Rechner mehrere Schnittstellen, so muß bei den Routen auch mit angegeben werden, welche Schnittstelle benutzt werden soll.
route add -net 10.0.1.0 netmask 255.255.255.0 dev eth0 route add -net 10.0.2.0 netmask 255.255.255.0 dev eth1
Es ist auch möglich eine Route nur zu einem Rechner zu legen.
route add -host 217.89.70.193 dev eth2
Das Löschen der Routen ist meistens einfacher.
route del -host 217.89.70.193
Bei Überschneidungen kann es vorkommen, daß eventuell auch noch Subnetzmaske oder Interface angegeben werden muß.
Sie sollten immer daran denken, daß Netzwerkeinstellungen über die Befehle ifconfig und route nur temporär sind. Um die Einstellungen dauerhaft zu machen, müssen die Befehle in den Startskripten aufgeführt werden.