Opennet Firmware
Routing

Abfrage von Routing-Informationen und Einrichtung des Policy-Routings. Mehr ...

Funktionen

 is_ipv4 (target)
 Prüfe ob der übergebene Text eine IPv4-Adresse ist. Mehr ...
 
 is_ipv6 (target)
 Prüfe ob der übergebene Text eine IPv6-Adresse ist. Mehr ...
 
 filter_routable_addresses ()
 Filtere aus einer Menge von Ziel-IPs diejenigen heraus, für die eine passende Routing-Regel existiert. Mehr ...
 
 get_target_route_interface (target)
 Ermittle das Netzwerkinterface, über den der Verkehr zu einem Ziel laufen würde. Mehr ...
 
 add_network_policy_rule_by_destination (network, more)
 erzeuge Policy-Rules entsprechend der IP-Bereiche eines Netzwerks Mehr ...
 
 add_zone_policy_rules_by_iif (family, zone, route)
 Erzeuge Policy-Rules fuer Quell-Interfaces. Mehr ...
 
 initialize_olsrd_policy_routing ()
 Policy-Routing-Initialisierung nach dem System-Boot und nach Interface-Hotplug-Ereignissen. Mehr ...
 
 get_routing_table_id (table_name)
 Ermittle die Nummer der namentlich gegebenen Routing-Tabelle. Mehr ...
 
 add_routing_table (table_name)
 Erstelle einen neuen Routing-Tabellen-Eintrag. Mehr ...
 
 get_hop_count_and_etx (host)
 Liefere den Hop-Count und den ETX-Wert für einen Zielhost zurück. Mehr ...
 
 get_traceroute (host)
 Liefere einen traceroute zu einem Host zurueck. Mehr ...
 
 get_olsr_route_count_by_device ()
 Liefere die Anzahl von olsr-Routen, die auf ein bestimmtes Netzwerk-Interface verweisen. Mehr ...
 
 get_olsr_route_count_by_neighbour ()
 Liefere die Anzahl von olsr-Routen, die auf einen bestimmten Routing-Nachbarn verweisen. Mehr ...
 
 get_olsr_neighbours ()
 Ermittle die direkten olsr-Nachbarn und liefere ihre IPs und interessante Kennzahlen zurück. details Ergebnisformat: NEIGHBOUR_IP LINK_QUALITY NEIGHBOUR_LINK_QUALITY ETX ROUTE_COUNT. Mehr ...
 

Ausführliche Beschreibung

Abfrage von Routing-Informationen und Einrichtung des Policy-Routings.

Dokumentation der Funktionen

◆ add_network_policy_rule_by_destination()

add_network_policy_rule_by_destination ( network  ,
more   
)

erzeuge Policy-Rules entsprechend der IP-Bereiche eines Netzwerks

Parameter
networklogisches Netzwerkinterface
moreweitere Parameter: Policy-Rule-Spezifikation

Definiert in Zeile 30 der Datei routing.sh.

◆ add_routing_table()

add_routing_table ( table_name  )

Erstelle einen neuen Routing-Tabellen-Eintrag.

Parameter
table_nameder Name der zu erstellenden Routing-Tabelle

Die Routing-Tabellen-Nummer wird automatisch ermittelt. Sollte die Tabelle bereits existieren, dann wird ihre Nummer zurückgeliefert.

Rückgabe
die neue Routing-Tabellen-Nummer wird zurückgeliefert

Definiert in Zeile 55 der Datei routing.sh.

◆ add_zone_policy_rules_by_iif()

add_zone_policy_rules_by_iif ( family  ,
zone  ,
route   
)

Erzeuge Policy-Rules fuer Quell-Interfaces.

Parameter
family"inet" oder "inet6"
zonePakete aus allen Interfaces dieser Zone kommend sollen betroffen sein
routeSpezifikation einer Route (siehe 'ip route add ...')

Definiert in Zeile 36 der Datei routing.sh.

◆ filter_routable_addresses()

filter_routable_addresses ( )

Filtere aus einer Menge von Ziel-IPs diejenigen heraus, für die eine passende Routing-Regel existiert.

Lies IP-Addressen zeilenweise via stdin ein und gib alle Adressen aus, die (laut "ip route get") erreichbar sind. Dies bedeutet nicht, dass wir mit den Adressen kommunizieren koennen - es geht lediglich um lokale Routing-Regeln.

Rückgabe
zeilenweise Ausgabe der route-baren Ziel-IPs:w

Definiert in Zeile 19 der Datei routing.sh.

◆ get_hop_count_and_etx()

get_hop_count_and_etx ( host  )

Liefere den Hop-Count und den ETX-Wert für einen Zielhost zurück.

Parameter
hostdie Ziel-IP
Rückgabe
Der Hop-Count und der ETX-Wert wird mit einem Leerzeichen separiert ausgegeben. Falls keine Route bekannt ist, ist das Ergebnis ein leerer String.

Die Quelle dieser Information ist olsrd. Routen außerhalb von olsrd werden nicht beachtet.

Definiert in Zeile 61 der Datei routing.sh.

◆ get_olsr_neighbours()

get_olsr_neighbours ( )

Ermittle die direkten olsr-Nachbarn und liefere ihre IPs und interessante Kennzahlen zurück. details Ergebnisformat: NEIGHBOUR_IP LINK_QUALITY NEIGHBOUR_LINK_QUALITY ETX ROUTE_COUNT.

Definiert in Zeile 76 der Datei routing.sh.

◆ get_olsr_route_count_by_device()

get_olsr_route_count_by_device ( )

Liefere die Anzahl von olsr-Routen, die auf ein bestimmtes Netzwerk-Interface verweisen.

Definiert in Zeile 69 der Datei routing.sh.

◆ get_olsr_route_count_by_neighbour()

get_olsr_route_count_by_neighbour ( )

Liefere die Anzahl von olsr-Routen, die auf einen bestimmten Routing-Nachbarn verweisen.

Definiert in Zeile 72 der Datei routing.sh.

◆ get_routing_table_id()

get_routing_table_id ( table_name  )

Ermittle die Nummer der namentlich gegebenen Routing-Tabelle.

Parameter
table_nameName der gesuchten Routing-Tabelle
Rückgabe
Routing-Tabellen-ID oder nichts (falls die Tabelle nicht existiert)

Definiert in Zeile 48 der Datei routing.sh.

◆ get_target_route_interface()

get_target_route_interface ( target  )

Ermittle das Netzwerkinterface, über den der Verkehr zu einem Ziel laufen würde.

Parameter
targetHostname oder IP des Ziel-Hosts

Falls erforderlich, findet eine Namensauflösung statt.

Rückgabe
Name des physischen Netzwerk-Interface, über den der Verkehr zum Ziel-Host fließen würde

Definiert in Zeile 25 der Datei routing.sh.

◆ get_traceroute()

get_traceroute ( host  )

Liefere einen traceroute zu einem Host zurueck.

Parameter
hostder Ziel-IP
Rückgabe
Eine mit Komma getrennte Liste von IPs

Definiert in Zeile 66 der Datei routing.sh.

◆ initialize_olsrd_policy_routing()

initialize_olsrd_policy_routing ( )

Policy-Routing-Initialisierung nach dem System-Boot und nach Interface-Hotplug-Ereignissen.

Folgende Seiteneffekte treten ein:

  • alle Policy-Rules mit Bezug zu den Tabellen olsrd/olsrd-default/main werden gelöscht
  • die neuen Policy-Rules für die obigen Tabellen werden an anderer Stelle erzeugt Kurz gesagt: alle bisherigen Policy-Rules sind hinterher kaputt

Definiert in Zeile 43 der Datei routing.sh.

◆ is_ipv4()

is_ipv4 ( target  )

Prüfe ob der übergebene Text eine IPv4-Adresse ist.

Parameter
targeteine Zeichenkette (wahrscheinlich ein DNS-Name, eine IPv4- oder IPv6-Adresse)

Die IP-Adresse darf mit einem Netzwerkpraefix enden.

Definiert in Zeile 8 der Datei routing.sh.

◆ is_ipv6()

is_ipv6 ( target  )

Prüfe ob der übergebene Text eine IPv6-Adresse ist.

Parameter
targeteine Zeichenkette (wahrscheinlich ein DNS-Name, eine IPv4- oder IPv6-Adresse)

Achtung: der Test ist recht oberflächlich und kann falsche Positive liefern.

Definiert in Zeile 13 der Datei routing.sh.