rinetd
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Ausbaufähige Anleitung
Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.
Anmerkung: Mit der Veröffentlichung von Ubuntu 22.10 kann der Artikel um UDP, IPv6 und NAT64 erweitert werden, hier auch link-local mit interface testen: fe80:1234::%eth0.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
rinetd ist ein zustandsloser IPv4-Umleiter für TCP-Verbindungen, nicht zu verwechseln mit dem Internet-Superserver rlinetd. In Zukunft wird auch UDP und IPv6 unterstützt. Er übersetzt die Adressen nicht direkt, sondern es wird eine TCP-Verbindung vom Anfrager zum rinetd-Server aufgebaut. Anschließend wird vom rinetd zum Ziel eine weitere TCP-Verbindung aufgebaut. Der Inhalt der TCP-Verbindung (z.B. Telnet oder HTTP) wird dann vom Anfrager zum Ziel über den rinet transportiert. Das Ziel bekommt weder Portnummer noch IP-Adresse vom Anfrager mit, da sowohl Quell- und Ziel-IP als auch Quell- und Zielport von rinetd übersetzt werden.
Installation¶
Folgendes Paket muss installiert werden:
rinetd (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install rinetd
Oder mit apturl installieren, Link: apt://rinetd
Konfiguration¶
Die Datei /etc/rinetd.conf muss mit root-Rechten geändert werden. In diesem Beispiel wird alles, was an 10.0.0.234:23 gerichtet ist, an 10.0.0.254:23 umgeleitet. Die Quelladresse ist die IP des rinetd-Servers, der Quell-Port ist zufällig. In der zweiten Zeile wird alles, was an 10.0.0.234:222 gerichtet ist, an 10.1.0.254:22 umgeleitet. In der dritten Zeile wird ein Hostnamen statt einer IP-Adresse verwendet.
10.0.0.234 23 10.0.0.254 23 10.0.0.234 222 10.1.0.254 22 10.0.0.234 80 example.org 80
ACLs¶
Der Zugriff kann durch ACLs eingeschränkt werden, einerseits global, andererseits für bestimmte Regeln. Globale Regeln kommen vor der ersten Weiterleitungs-Regel. Spezifische direkt unter eine Regel und gelten dann nur für diese. Sobald eine globale deny-Regeln zutrifft, wird die Verbindung sofort geschlossen. Sind globale allow-Regeln festgelegt und die IP trifft nicht zu, wird die Verbindung ebenso geschlossen.
#global allow 10.0.0.* #10.0.0.0/24 gloabl erlaubt 10.0.0.234 23 10.0.0.254 23 deny 10.0.0.77 #Zugriff für 10.0.0.77 für obere Regel verboten 10.0.0.234 222 10.0.0.254 22 #Hier wäre Zugriff für 10.0.0.77 möglich
Links¶