Ohne Network Address Translation innerhalb der vielen LANs wären die IPv4-Adressen im Internet längst erschöpft. Das Rein-raus-Spiel der NAT-Verbindungen freilich will irgendwie gecheckt sein.
|
Inhalt |
|---|
|
74 | Spamschutz-Tricks Zwei neue Techniken, um Spam bereits vor der Zustellung 80 | LPI-Zertifizierung – Teil 19 Als echter Klassiker beansprucht Apache einen eigenen 84 | Asterisk-Workshop, Teil 2 Zur Grundausstattung aus dem ersten Teil kommen nun 90 | Mainframe auf dem PC Der Emulator mit dem starken Namen Hercules macht den PC zur |
LANs bilden topologisch gesehen die Klumpfüße des Internets, denn viele öffentliche Hosts sind Gateways, hinter denen weitere Rechner mit privaten IPs werkeln. Network Address Translation sorgt dafür, dass die IP-mäßig abservierten Rechner trotzdem das Internet erreichen. Eine neue Übersichtlichkeit zieht mit NAT in mein Leben jedoch nicht ein. Deshalb freue ich mich, Netstat-NAT [1] in meiner Werkzeugkiste zu haben. Der Programmautor bietet mir das Tool als Tar.gz, PRM und Deb an.
Das kleine, in C verfasste Programm zeigt den Status von NAT-Verbindungen an. Dazu zapft es die von IPtables in »/proc/net/ip_conntrack*« eingespiegelten Verbindungsdaten an. Auf einer viel befahrenen Auffahrt zur Datenautobahn gerät Netstat-NATs Ausgabe allerdings schnell unübersichtlich. Mit einer Reihe von Optionen kann ich aber sein Mitteilungsbedürfnis dezimieren. So gestattet Netstat-NAT eine grobe Unterteilung anhand des Protokolltyps. UDP-Verbindungen zum Beispiel blende ich gern mit
netstat-nat -p tcp
aus und bekomme nur noch TCP angezeigt. Außerdem darf ich mit den Parametern »-S« und »-D« entscheiden, ob ich nur Source- oder Destination-NAT-Verbindungen sehe. Ein Source-NAT (SNAT) setzt interne Adressen, oft aus einem so genannten RFC-1918-Bereich wie 192.168.0.0/16, auf gültige öffentliche IP-Adressen um. Alle DSL-Router für zu Hause und kleine Firmen beispielsweise arbeiten mit Source-NAT. DNAT funktioniert genau umgekehrt.
Im Aufbau begriffen
Wenn mich interessiert, ob ein bestimmter Rechner im maskierten Netz gerade Verbindungen durch das NAT-Gateway aufbaut, benutze ich:
netstat-nat -s Name
Für »Name« eignen sich ein auflösbarer Hostname oder eine IP-Adresse. In die andere Richtung geht das auch: Rechner, die Ziel meiner NAT- Verbindungen sind, sehe ich mit dem Parameter »-d Name«. Aber was ist mit Verbindungen, die das NAT-Gateway nicht passieren, sondern dort enden, also zum Beispiele meine SSH-Verbindung dorthin? Die sehe ich wie in Abbildung 1 nach:
netstat-nat -L -n

Abbildung 1: Mit »-L« zeigt Netstat-NAT jene Verbindungen, die das NAT-Gateway nicht passieren, sondern dort jäh enden. Dank »-n« löst das Tool Host- und Portnamen nicht auf.
Der Parameter »-n« unterdrückt das Auflösen der Host- und Portnamen. Wünschenswert, aber aktuell nicht implementiert, wären getrennte Auflöse-Parameter für Host und Port. Hilfreich bei längeren Ausgaben ist es, »|cat -b« an das Kommando anzuhängen, damit bekommt jede Zeile eine Zeilennummer verpasst. So vermag ich besser einzuschätzen, wie viele Seiten gerade ungelesen vorbeigescrollt sind. (jk)
|
Infos |
|---|
|
[1] Netstat-NAT: [http://tweegy.demon.nl/projects/netstat-nat/] |







