Xrelayd startet nicht

riff

Neuer User
Mitglied seit
2 Apr 2007
Beiträge
24
Punkte für Reaktionen
0
Punkte
1
Ich hab Xrelayd als Tunnel für das Freetz-WebIF von Extern ins Boot genommen.

Key+Cert generiert und eingefügt, als Service
Code:
0.0.0.0:4433 127.0.0.1:81 Freetz-Webinterface
eingefügt und auch ein Portpapping gesetzt. (Quelle: 4433, Adresse: 0.0.0.0. Port: 4433, TCP)

Beim Start des Dienstes quittiert mir dieser mit:

Code:
Segmentation fault
Starting xrelayd services:
Starting xrelayd (0.0.0.0:4433>127.0.0.1:81 Freetz-Webinterface) ... failed.

Auch ohne dieses Service startet der Dienst nicht, dann aber ohne Fehlermeldung.

Woran könnte es liegen?
 
für das Freetz-WebIF von Extern
... es war spät und mein Geist nicht mehr der klarste.

Realisiert werden soll einfach ein Tunnel um via HTTPS auf das WebIF zuzugreifen, wenn ich außer Haus bin. Extern ist gleichzusetzen mit "von Außerhalb des lokalen Netzwerks".
 
Keiner eine Idee welche Lib Xrelayd nicht findet oder nicht lesen darf?
Code:
Segmentation fault
Ich vermute eine SSL-lib auf die der Service keinen Zugriff hat.
 
Du hast ein neues Freetz-Image mit xrelayd gebaut und geflashed? Welche Box? Welche Freetz-Version?
Eventuell hilft "strace" auf der Box, das genauer einzugrenzen (strace -f xrelayd).
 
Box ist eine 7390, Firmware 84.05.52, Freetz 2.0 Build 11027

strace habe ich im aktuellen Mod nicht drinnen. Ich bau es ein und poste das Ergebnis.
 
Hab nochmal draufgeschaut. Der Segfault kommt bei dir ja scheinbar schon vor dem Starten (vor der Zeile "Starting xrelayd services").
Um das zu finden mach doch mal ein "sh -x /etc/init.d/rc.xrelayd start", dabei sollte man sehen, was eigentlich den Segfault liefert.

Habe gerade per Freetz 2.0 Build 11027 ein xrelayd gebaut, und zumindest von Hand startet das auf der 7390:
Code:
root@fritz:/var/tmp# LD_PRELOAD=./libpolarssl.so ./xrelayd -f -K 1024 -p host.key -U "CN=localhost" -p host.key -A host.cert 
[notice] Sep 23 20:19:23 xrelayd[6820] xrelayd.c:908 Terminated with status 0
root@fritz:/var/tmp#
root@fritz:/var/tmp# LD_PRELOAD=./libpolarssl.so ./xrelayd -f  -p host.key -A host.cert -d 0.0.0.0:4433 -r 127.0.0.1:81
[notice] Sep 23 20:21:31 xrelayd[7011] xrelayd.c:855 Listening for ssl connections on server port 4433
[notice] Sep 23 20:21:57 xrelayd[7048] xrelayd.c:474 Connected ssl client 192.168.178.12 to plain server 127.0.0.1:81
[notice] Sep 23 20:21:57 xrelayd[7050] xrelayd.c:474 Connected ssl client 192.168.178.12 to plain server 127.0.0.1:81
[...]
 
Zuletzt bearbeitet:
Code:
+ DAEMON=xrelayd
+ DAEMON_LONG_NAME=xrelayd services
+ DAEMON_CHECK=xrelayd
+ . /etc/init.d/modlibrc
+ export PATH=/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin
+ export LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib
+ : xrelayd services
+ : xrelayd
+ : xrelayd_ENABLED
+ : /mod/etc/xrelayd.conf
+ : xrelayd
+ : /var/run/xrelayd.pid
+ [ -n xrelayd ]
+ modlib_loadconfig
+ local CONF_FILE=/mod/etc/conf/xrelayd.cfg
+ [ ! -r /mod/etc/conf/xrelayd.cfg ]
+ . /mod/etc/conf/xrelayd.cfg
+ export XRELAYD_ENABLED=no
+ export XRELAYD_CERTCHAIN=/tmp/flash/xrelayd/certs.pem
+ export XRELAYD_KEY=/tmp/flash/xrelayd/key.pem
+ export XRELAYD_VERBOSE=4
+ modlib_start
+ local DAEMON_ENABLED=
+ [  == no ]
+ [  == inetd -a ! -x /etc/init.d/rc.inetd ]
+ modlib_check_running
+ [ -n  ]
+ [ -x /etc/init.d/rc.inetd ]
+ echo xrelayd_ENABLED
+ tr [:lower:]- [:upper:]_
+ eval echo $XRELAYD_ENABLED
+ echo no
+ [ no == inetd ]
+ [ -n xrelayd ]
+ pidof xrelayd
+ return 3
+ start
+ echo Starting xrelayd services:
Starting xrelayd services:
+ [ ! -r /tmp/flash/xrelayd/xrelayd_svcs ]
+ cat /tmp/flash/xrelayd/xrelayd_svcs
+ grep -v ^#
+ read -r remote local comment
+ [ -n 0.0.0.0:4433 -a -n 127.0.0.1:48000 ]
+ echo -n Starting xrelayd (0.0.0.0:4433>127.0.0.1:48000 Freetz-Webinterface) ... 
Starting xrelayd (0.0.0.0:4433>127.0.0.1:48000 Freetz-Webinterface) ... + xrelayd -D4 -d 0.0.0.0:4433 -r 127.0.0.1:48000 -p /tmp/flash/xrelayd/key.pem -A /tmp/flash/xrelayd/certs.pem
Segmentation fault
+ [ 139 -eq 0 ]
+ echo failed.
failed.
+ read -r remote local comment
+ return 0
+ exit 0

Da passt doch was mit den Zertifikaten nicht. Ich hab die in der Freetz-VM mit
Code:
openssl genrsa 1024 > host.key
openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert
erstellt und deren Inhalte im Webinterface eingefügt. Da ich Xrelayd ohne Zertifikatsgenerator installiert hab, hab ich die Generierung auf der Box, wie in der Packetbeschreibung, weggelassen.
 
Geht denn ein Aufruf der Hilfe "xrelayd -h"?
 
Code:
root@fritz:/var/mod/root# xrelayd -h
usage: [-c] [-v] [-d localip:port] [-r remoteip:port]

    -A      Server certificate file (may change to CA file in future) 
    -p      private key and certificate chain PEM file name
    -c      client mode. remote is ssl, local plain
    -v      validate certificate
    -d      listen locally on this [host:]port
    -r      connect to remote machine on [host:]port
    -P      pidfile
    -f      foreground mode
    -D      syslog level (0...7)

Geht
 
Hatte gestern kurz das gleiche getestet (Key und Cert wie oben geschrieben extern erzeugt, dabei CN auf "localhost" gesetzt), und dann klappte es auch.
Vielleicht prüfst du den Inhalt der Dateien nochmal oder machst das nochmal?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.