Sie befinden sich hier: eisfair / Pack-Eis
News News News

Content

Dateianzeige für routing (2.8.0)

usr/share/doc/routing/routing.txt
Das Routing Paket Einleitung Im Routing-Paket werden Einstellungen zum Masquerading, Portfilter und Portforwarding vorgenommen. Konfiguration Routing START_ROUTING Gueltige Werte: yes, no Hier wird das Paket ein und ausgeschaltet. MASQ_NETWORK Hier sind die Netzwerke anzugeben, die nach aussen hin maskiert werden sollen. Verwendet man nicht-offizielle IP-Adressen, wie z.B. 192.168.x.x, und soll der Server als Zugang ins Internet verwendet werden, muessen diese hier unbedingt angegeben werden. Die Form ist: NETZWERKNUMMER/ANZAHL-DER-GESETZTEN-BITS-IN-NETMASK also z.B. fuer Netze der Form 192.168.x.0: MASQ_NETWORK='192.168.6.0/24' Hier sind also die ersten 24 Bits in der Netzwerkmaske gesetzt. Sollen mehrere Netze maskiert werden, sind diese durch Leerzeichen zu trennen. Soll kein Netz maskiert werden, muss der Variablen-Inhalt leer sein. Die Verwendung von IP-Masquerading hat zwar den Vorteil, dass mehrere Rechner im LAN ueber eine einzige offizielle IP-Adresse geroutet werden kann, es gibt aber auch Nachteile, die man in Kauf nehmen muss. Ein grosses Problem ist zum Beispiel, dass kein Rechner von aussen von sich aus eine Verbindung zu einem Rechner aufnehmen kann. Das ist zwar aus Sicherheitsgruenden eigentlich durchaus erwuenscht, aber bestimmte Protokolle funktionieren nicht mehr, weil sie einen Verbindungsaufbau von aussen einfach erfordern. Ein klassisches Beispiel ist ftp. Neben dem Kommunikationskanal, auf dem Befehle und Antworten ausgetauscht werden, wird ein weiterer Kanal (in Form eines IP-Ports) verwendet, um die eigentlichen Nutzdaten zu versenden. fli4l verwendet dafuer bestimmte Masquerading-Module, um solche zusaetzlichen Ports, die verwendet werden, ad hoc dann freizuschalten und an den internen Rechner weiterzuleiten, wenn sie benoetigt werden. Dabei "horcht" das Masquerading-Modul in den Datenstrom, um zu erkennen, wann ein zusaetzlicher Port benoetigt wird. Typische Anwendungen fuer Masquerading-Module sind Chat-Protokolle und Spiele im Internet. Bisher wurde fuer fli4l das ftp-Masquerading-Modul immer automatisch geladen. Mittlerweile sind weitere Module verfuegbar. Diese lassen sich auch mit zusaetzlichen Optionen aufrufen. Dies ist zum Beispiel dann noetig, wenn ein FTP-Server auf einem anderen Port als 21 angesprochen werden soll. Hier eine Uebersicht aller Module mit ihren Parametern, die vorgegebenen Werte sind die Standardwerte: ftp File Transfer Protocol irc Internet Relay Chat Bemerkungen mIRC ist standardmaessig falsch konfiguriert, sodass er nicht mit diesem Modul zusammenarbeitet. Um mIRC richtig einzustellen, geht man folgendermassen vor (Verbindung zum IRC-Server erst trennen): Im "Options" -Dialog: Auswahlliste: "Connect" , dann "Local Info" , hier beide Eingabefelder loeschen (falls etwas drin steht), dann "Lookup Method:" auf "Normal" stellen. Alle Parameter, die eine Liste von Ports annehmen, koennen hoechstens 12 Ports uebergeben bekommen. Natuerlich kann man nicht fuer jedes Protokoll, welches zusaetzliche Ports verwendet, ein separates Masquerading-Modul programmieren. Aus diesem Grund gibt es neben den oben aufgefuehrten Modulen auch noch eine andere Moeglichkeit, neue Ports an einen internen Rechner weiterzuleiten. Siehe dafuer auch die Beschreibung zum Port-Forwarding. MASQ_MODULE_N gibt die Anzahl der zu ladenden Masquerading-Module an. Die Standardeinstellung fuer MASQ_MODULE_N ist '1'. Damit wird nur das erste Modul, naemlich ftp, geladen. Moechte man weitere Module laden, ist MASQ_MODULE_N entsprechend zu erhoehen. Die Reihenfolge in der beigefuegten Datei config/base.txt ist nur ein Beispiel. Sie kann also beliebig geaendert werden, z.B. MASQ_MODULE_N='2' MASQ_MODULE_1='ftp' MASQ_MODULE_2='irc' MASQ_MODULE_x gibt das x'te zu ladende Masquerading-Modul an. MASQ_MODULE_x_OPTION legt Optionen fuer das jeweilige Modul fest. Kann leer bleiben. MASQ_FTP_PORT_N Hier koennen die Standard-Ports fuer FTP auf alternative Portnummern gesetzt werden. ROUTE_NETWORK Pakete, die zu von Hosts in diesen Subnetzen aufgebauten Verbindungen gehoeren, werden vom Router weitergeleitet (geforwarded). Zusaetzlich werden Pakete, die in diese Netze hineingehen, nicht maskiert. Dieses kann z.B. fuer eine Verbindung zur Firma sinnvoll sein, wo Mitarbeiter dieser Firma von dort Zugang in das eigene Netz haben sollen. Das Format ist dasselbe wie bei MASQ_NETWORK, also z.B. ROUTE_NETWORK='192.168.1.0/24' Auch koennen hier wieder mehrere Netze angegeben werden. ROUTE_NETWORK kann in der Regel einfach leer bleiben. FORWARD_HOST_WHITE Hiermit kann eingestellt werden, ob die folgende Liste von Hosts eine Liste aller erlaubten ('yes') oder aller verbotenen Hosts ist ('no'), welche auf das Internet zugreifen duerfen. FORWARD_HOST_N / FORWARD_HOST_x Normalerweise soll allen Rechnern im LAN der Internet-Zugang erlaubt sein. Dann ist FORWARD_HOST_WHITE='no' einzustellen und FORWARD_HOST_N='0' zu setzen. Anderenfalls setzt man FORWARD_HOST_N auf die Anzahl der verbotenen/erlaubten Rechner und traegt diese in FORWARD_HOST_x ein. FORWARD_DENY_PORT_N / FORWARD_DENY_PORT_x Hier koennen Ports angegeben werden, die generell nicht in das Internet geroutet werden sollen. Sinnvoll sind hier zum Beispiel die SMB-Ports 137-139, die von Windows fuer Netzwerkfreigaben verwendet werden. Deshalb ist standardmaessig eingestellt: FORWARD_DENY_PORT_N='1' FORWARD_DENY_PORT_1='137:139 REJECT' INPUT_ACCEPT_PORT_N / INPUT_ACCEPT_PORT_x Standardmaessig sind alle Ports nach aussen zu, eine Verbindung zum Router ist nicht moeglich. Ports, auf denen ein Dienst nach aussen angeboten wird, muessen hier angegeben werden. Ein Eintrag besteht dabei aus einem einzelnem Port bzw. einem ganzen Port-Bereich (zwei Ports durch Doppelpunkt getrennt) und einer optionalen Protokollangabe (TCP oder UDP). Wird kein Protokoll angegeben, werden auf dem Port beide Protokolle akzeptiert. Am Beispiel der ssh, die ihren Dienst auf Port 22 ueber das TCP-Protokoll anbietet, wuerde das wie folgt aussehen: INPUT_ACCEPT_PORT_N='1' # no. of ports to accept from outside INPUT_ACCEPT_PORT_1='22 TCP' # e.g. allow connection to ssh service Port-Forwarding Fuer einige Internet-Protokolle ist es noetig, einen Verbindungsaufbau eines Rechners von aussen in das interne Netz umzuleiten. Ist das Netz nach aussen hin maskiert (IP-Masquerading), also nur eine offizielle IP- Adresse fuer das gesamte LAN vorhanden, kann man bestimmte Ports oder Protokolle, die von aussen erreichbar sein sollen, auf einen bestimmten internen Rechner umleiten. Dieses nennt man Port-Forwarding (bzw. allgemeiner Destination Network Address Translation, kurz DNAT). Die Problematik des Port-Forwarding wurde bei der Beschreibung von MASQ_MODULE_N bereits angesprochen (s.o.). Oft muessen bei Spielen, Chat oder Internet-Telefonie solche Ports freigeschaltet werden. Koennen dies die Masquerading-Module selber nicht loesen, kann man selbst Port-Weiterleitungen einrichten. PORTFW_N Hiermit wird die Anzahl der Port-Weiterleitungen angegeben. Diese werden in PORTFW_x_SOURCE, PORTFW_x_SOURCE und PORTFW_x_PROTOCOL definiert. PORTFW_x_SOURCE Pakete sind an ein bestimmtes Ziel gerichtet (normalerweise eine IP- Adresse und ein Port) und gehoeren zu einem bestimmten Protokoll. Dieses Ziel ist in einem maskierten Netz der Router, das eigentliche Ziel liegt aber im maskierten Netz, die Pakete muessen also dorthin weitergereicht werden. PORTFW_x_SOURCE gibt an, an welches Ziel Pakete gerichtet sein muessen, um weitergeleitet zu werden. Kommt ein solches Paket am Router an, wird es an das eigentliche Ziel weitergeleitet. Folgende Formate sind hier moeglich: PORTFW_x_SOURCE='' Leitet alle Pakete weiter, die bei aktiver Internetverbindung auf dem Port ankommen an einen anderen Rechner weiter. PORTFW_x_SOURCE='-' Leitet alle Pakete, die auf den Ports im Bereich zwischen und ankommen, an einen anderen Rechner weiter. PORTFW_x_SOURCE=':' Leitet alle Pakete, die auf der IP des Routers auf Port ankommen, an einen anderen Rechner weiter. PORTFW_x_TARGET Dieser Parameter gibt das Ziel eines Port-Forwardings an. Dies ist in der Regel ein anderer Computer im internen Netzwerk. Folgende Formate sind hier moeglich: PORTFW_x_TARGET='' Leitet alle Pakete, die fuer diese Regel ankommen, an den Rechner mit der IP weiter. PORTFW_x_TARGET=':' Leitet alle Pakete, die fuer diese Regel ankommen, an den Rechner mit der IP an den Port weiter. Diese Regel ist fuer Portbereiche (-) unzulaessig! PORTFW_x_PROTOCOL Dieser Parameter gibt das Protokoll an, fuer das diese Regel zutrifft. Zugelassen sind hier 'tcp', 'udp', 'gre' und die Angabe der Protokollnummer (siehe [1]Liste der Protokoll-Nummern der IANA). PACKETFILTER_LOG Hier kann eingestellt werden, ob abgelehnte Zugriffe von aussen ueber die Syslog-Schnittstelle protokolliert werden sollen. Hier eine kurze Erklaerung der wichtigsten Elemente einer Protokollzeile: IN=ppp0 OUT= MAC= SRC=217.238.54.176 DST=217.235.38.43 LEN=48 TOS=0x00 PREC=0x00 TTL=124 ID=30343 DF PROTO=TCP SPT=3087 DPT=4662 WINDOW=16384 RES=0x00 SYN URGP=0 IN Device, auf dem das Paket hereinkam SRC Quelladresse des Paketes (Source) DST Zieladresse des Paketes (Destination) LEN Laenge des Pakets in Bytes (Length) TOS Type Of Service TTL Time To Live, Anzahl der Hops, bis das Paket geloescht wird PROTO=TCP TCP Paket SPT Quellport (Source Port) DPT Zielport (Destination Port) ID IP-ID, wird mit jedem Paket vom Sender um eins erhoeht Standardeinstellung: PACKETFILTER_LOG='no' __________________________________________________________________ Holger Bruenjes 2017-01-01 References 1. http://www.iana.org/assignments/protocol-numbers