[[Vorlage(Getestet, jammy, kinetic)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Programme_starten: Starten von Programmen] [:Terminal: Ein Terminal öffnen] [:mit Root-Rechten arbeiten:] }}} [[Inhaltsverzeichnis()]] rinetd ist ein zustandsloser -Umleiter für TCP- und UDP-Verbindungen, nicht zu verwechseln mit dem Internet-Superserver [:rlinetd:]. 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: {{{#!vorlage Paketinstallation rinetd, universe }}} = 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. IPv6 funktioniert ab Ubuntu 22.10 ebenfalls, auch eine Umleitung von IPv4 nach IPv6 oder umgekehrt ist problemlos möglich. Die Nutzung von link-local mit Angabe einer Schnittstelle (fe80:abcd::123%etho) ist aktuell nicht möglich. UDP kann ebenfalls ab Ubuntu 22.10 verwendet werden. {{{ #IP vom rinetd Port Ziel-IP Ziel-Port 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 2001:db8::3 100 fd00:abcd::1 23 127.0.0.1 100 fd00:abcd::1 23 2001:db8::56 23 10.0.0.254 23 10.0.0.238 53/udp 9.9.9.9 53/udp #/udp muss bei beiden Ports angegeben werden, sonst findet eine Umleitung UDP <--> TCP statt. }}} == 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 global 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 2001:db8::345 100 fd00:abcd::1 23 deny 2001:470:* }}} = Links = * [https://www.lenzg.net/rinetd/rinetd.html Beschreibung von Lenz Grimme] {en} * [github:samhocevar/rinetd/releases:] Repository * [man:rinetd:Manpage] #tag: Netzwerk, Internet, System