ip route show/list/add/...

Hi,

das Command "ip" scheint ja einiges drauf zu haben. Nur habe ich festgestellt, dass es das unter Ubuntu z.B. gibt, unter Debian 4.0 nicht. Warum ist das so? Ist "ip" nur ein Zusammengesetze aus mehreren anderen Tools?

Jetzt ist es ja so, dass die Einträge, die man durch "ip route show" sieht automatisch erzeugt werden, das es sich um direkt angeschlossene Netzwerke handelt (so hab ich das jedenfalls gelesen). Die Frage die sich mir aufdrängt ist: "Was bringt es mir mit ip route add Routen hinzufügen zu können, wenn die sowieso automatisch erzeugt werden!?!?! Und was bring es mir diese Einträge zu haben, wenn im Kernel routing gar nicht angeschalten ist? (echo 1 > /proc/.../ip_forward)

Hoffentlich könnt ihr Licht ins Dunkel bringen.


cu
serow
 
warum sollen die denn automatisch erzeugt werden? wenn du dich ohne dhcp in ein netz klemmst, dann hast du vorher doch ein "route add default gw 1.2.3.4" aufgerufen, das kannst du mit "ip" genauso machen.

und zu etch zeiten war "ip" entweder noch nicht populär, oder noch garnicht entwickelt. kanns dir nicht sagen.
 
Original von Serow
Hi,

das Command "ip" scheint ja einiges drauf zu haben. Nur habe ich festgestellt, dass es das unter Ubuntu z.B. gibt, unter Debian 4.0 nicht. Warum ist das so? Ist "ip" nur ein Zusammengesetze aus mehreren anderen Tools?
'ip' ist Teil des Pakets iproute2.

Original von Serow
Die Frage die sich mir aufdrängt ist: "Was bringt es mir mit ip route add Routen hinzufügen zu können, wenn die sowieso automatisch erzeugt werden!?!?!
Es gibt auch Rechner mit mehreren Netzwerk-Devices in verschiedene Subnetze und Router bei denen mehrere Provider/Peers angebunden sind. Insofern ist es da teilweise notwendig statische Routen zu definieren um z.B. zu definieren welches Subnetz welche Routen für Zugriffe in andere Netze nutzen soll/kann.

Original von Serow
Und was bring es mir diese Einträge zu haben, wenn im Kernel routing gar nicht angeschalten ist? (echo 1 > /proc/.../ip_forward)
Nichts. Ohne Forwarding kein Routing. Im Normalfall existiert aber auch diese proc-Datei nicht, wenn es im Kernel nicht aktiviert ist.
 
Hmm,

ich hab diesem System hier nach der Installation in zweites Interface gegeben

Code:
hancock:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
localnet        *               255.255.255.0   U     0      0        0 eth0
default         reliant.gate.un 0.0.0.0         UG    0      0        0 eth0
hancock:~#
Und es hat die Route für 192.168.1.0 automatisch gesetzt. Gateway ist klar, das muss man manuell setzen.

@bitmuncher: Das Packet iproute2 gibbet nicht. bzw nicht nach default debian 4.0 installation:
Code:
deb http://ftp2.de.debian.org/debian/ etch main
deb-src http://ftp2.de.debian.org/debian/ etch main

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
Brauch ichs denn überhaupt?

Im Normalfall existiert aber auch diese proc-Datei nicht, wenn es im Kernel nicht aktiviert ist.
Also kann ich mir das echo 1 > ... sparen? Entweder forwarding ist schon an oder es geht nicht? Hab nämlich irgendwo gelesen (verdammt ich les zu viel), dass man das erst einschalten muss ...


Sind diese Routing Einträge denn zu garnichts gut wenn forwarding nicht aktiviert ist? Ich könnte mir vorstellen, dass er das braucht um Packete als lokalen Prozessen richtig zu versenden. Da bräuchte ich allerdings eine Bestätigung von euch.

cu
serow
 
Original von Serow
Das Packet iproute2 gibbet nicht. bzw nicht nach default debian 4.0 installation:

Code:
apt-cache showpkg iproute
Package: iproute
Versions:
20061002-3(/var/lib/apt/lists/ftp.bitmuncher.de_debian_dists_stable_main_binary-i386_Packages)

Reverse Depends:
  zeroconf,iproute
  xen-utils-3.0.3-1,iproute
  wpasupplicant,iproute
  wondershaper,iproute
  vzctl,iproute
  vpnc,iproute
  vlan,iproute
  util-vserver,iproute
  ucarp,iproute
  tspc,iproute
  tcng,iproute
  strongswan,iproute
  shorewall-lite,iproute
  shorewall,iproute
  shaper,iproute
  quagga,iproute
  pipsecd,iproute
  openswan,iproute
  network-manager,iproute
  netscript-2.4,iproute 20001007
  mobilemesh,iproute
  ltsp-server,iproute
  keepalived,iproute
  ipkungfu,iproute
  ifupdown-scripts-zg2,iproute
  ifupdown,iproute
  heartbeat-2,iproute
  heartbeat,iproute
  fwbuilder-linux,iproute
  firehol,iproute
  fiaif,iproute
  education-common,iproute
  dnet-common,iproute
  carpaltunnel,iproute
  avahi-autoipd,iproute
  apticron,iproute
Dependencies:
20061002-3 - libatm1 (0 (null)) libc6 (2 2.3.6-6) libdb4.3 (2 4.3.28-1) iproute-doc (0 (null)) arpd (0 (null))
Provides:
20061002-3 - arpd
Reverse Provides:

Wie man sieht ist es Teil des Main-Repositories.

Original von Serow
Brauch ichs denn überhaupt?
Sofern du nur "Default-Routing" über eine Default-Route brauchst, benötigst du es nicht.


Original von Serow
Also kann ich mir das echo 1 > ... sparen? Entweder forwarding ist schon an oder es geht nicht? Hab nämlich irgendwo gelesen (verdammt ich les zu viel), dass man das erst einschalten muss ...
Das stimmt so nicht ganz. Auch wenn es im Kernel aktiviert ist, kann es mittels proc-Datei deaktiviert werden (und ist es per Default auch). Das Forwarding von Paketen muss daher bei den meisten Distros explizit aktiviert werden, indem man eine '1' in die ip_forward schreibt.

Original von Serow
Sind diese Routing Einträge denn zu garnichts gut wenn forwarding nicht aktiviert ist? Ich könnte mir vorstellen, dass er das braucht um Packete als lokalen Prozessen richtig zu versenden. Da bräuchte ich allerdings eine Bestätigung von euch.
Natürlich sind sie zu etwas gut. Sie sorgen dafür dass Netzwerkpakete deines Rechners den richtigen Gateway benutzen. Beim Forwarding zählt ja nur das Routing von einem Netzwerk-Device zum anderen, aber auch die Pakete deines Rechners müssen natürlich zu einem Gateway gesendet werden und dieser wird über die Routing-Tabelle bestimmt.
 
Original von t3rr0r.bYt3
Das Forwarding von Paketen muss daher bei den meisten Distros explizit aktiviert werden, indem man eine '1' in die ip_forward schreibt.
Was genau bis zum nächen Reboot hält, wenn man in /proc rumfummelt?

Sicherlich, aber da man ja auch zumeist iptables-Regeln für das Masquerading benötigt usw. kann man das ja in einem Init-Skript erledigen. Siehe z.B. http://www.hackerwiki.org/index.php/Einrichtung_eines_Routers_mit_Linux
 
Hi,

schönes Howto bitmuncher!
Wir sehen also, dass es garnicht schwierig ist einen Linux-Router einzurichten und jeder Rechner, dessen Netzwerk entsprechend eingerichtet ist, kann mit diesem kleinen Howto binnen weniger Minuten zum Router gemacht werden, der eine recht sichere Firewall zur Verfügung stellt.
Stimmt - ist echt nicht schwer - wenn man nicht verstehen will was da passiert :D Kannst du ein Tutorial empfehlen das mir iptables erklärt?

Danke soweit schonmal - hat mir echt geholfen!

cu
serow
 
Super danke. Werd ich mir reinziehn!

Klar ist das Script gut dokumentiert. Nur dieses Chain Konzept etc erklären sie auch nicht wirklich ;)
 
Zurück
Oben