Linux.xinetd: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 27: Zeile 27:
im Verzeichnis /etc/xinet.d die neue Datei "soap" anlegen.  
im Verzeichnis /etc/xinet.d die neue Datei "soap" anlegen.  


  joe /etc/xinet.d/soap
  joe /etc/xinetd.d/soap


  service soap
  service soap
Zeile 44: Zeile 44:
== xinetd neu starten ==
== xinetd neu starten ==


nach Änderungen der Dateien in /etc/xinet.d muss der Dienst über die Änderungen informiert werden.
* nach Änderungen der Dateien in /etc/xinet.d muss der Dienst über die Änderungen informiert werden.


  # die PID des aktuellen xinetd ermitteln
  # die PID des aktuellen xinetd ermitteln
Zeile 53: Zeile 53:
  kill -HUP <PID>
  kill -HUP <PID>


unter Umständen gibt es mehrere PIDs (weis auch nicht warum). Besser ist es in diesem Fall den xinetd neu zu starten.
* unter Umständen gibt es mehrere PIDs (weis auch nicht warum). Besser ist es in diesem Fall den xinetd neu zu starten.


  rcxinetd restart
  rcxinetd restart

Aktuelle Version vom 14. März 2006, 17:27 Uhr

"xinetd als Redirector verwenden (in diesem Falle für SOAP auf einem fremden Server)"

  • Problematik

Ein Fremdsystem stellt Web-Services in Form von SOAP Diensten zur Verfügung Aus Sicherheitsgründen wird die Befragung der SOAP - Routinen nur für einzelne fest eingestellte Client-IP Adressen freigschaltet. Ich selbst habe jedoch wechselnde IP Adressen, und kann somit keine IP Adresse an den SOAP Betreiber durchgeben.

  • Lösungs-Strategie

Ein eigener dritter Server, der mir zur Verfügung steht, wird als SOAP-Gateway oder SOAP-Router oder SOAP-Redirector (wie man will) eingesetzt. Dessen IP wird vom SOAP Dienstleister freigeschaltet. Dieser Redirector kann auf einem gewissen vereinbarten Port angesteuert werden, leitet aber jeden Traffic an den eigentlichen SOAP Anbieter weiter.

Dienst, Eingangsseitig auf einen Port mappen

  • WICHTIG: Damit die Umleitung funktioniert muss erst mal der Dienst dem System bekannt gemacht werden. Dieser muss genauso wie der spätere xinetd service genannt werden.
  • TIPP: Spare Dir den Aufwand, und gebe im Service type = UNLISTED ein, dann sucht das System den Dienst nicht in der /etc/services.
  • In unserem Fall wollen wir den Aufwand mal machen!

SOAP als "dienst" erst mal bekannt machen

 joe /etc/services

diese Zeile an passender Stelle hinzu:

 soap 8081/tcp  # my soap redirect

einzelne redirect Dienste hinzunehmen

im Verzeichnis /etc/xinet.d die neue Datei "soap" anlegen.

joe /etc/xinetd.d/soap
service soap
{ 
 socket_type = stream
 wait = no
 flags = REUSE
 protocol = tcp
 type = UNLISTED               # nur wenn "soap" in der /etc/services ungenannt ist
 port = 8081                   # das ist der öffentliche Port
 user = root      
 redirect = 80.139.34.230 80   # "Ziel-IP" "Ziel-Port"
 disable = no
}

xinetd neu starten

  • nach Änderungen der Dateien in /etc/xinet.d muss der Dienst über die Änderungen informiert werden.
# die PID des aktuellen xinetd ermitteln
# die angegebene PID dann gut merken
pgrep xinetd

# Nun die PID in den folgende Befehl einsetzten
kill -HUP <PID>
  • unter Umständen gibt es mehrere PIDs (weis auch nicht warum). Besser ist es in diesem Fall den xinetd neu zu starten.
rcxinetd restart