Problemen met PPP handshake in een SSH/PPP VPN

Pagina: 1
Acties:

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Hoihoi...

Mijn allereerste post hier op GoT... Een vriend van me zit ook hier en hij was vaak vol lof... Dacht eens een hengeltje uit te werpen met mijn probleem :)

Ik ben de afgelopen dagen bezig geweest met het opzetten van een SSH/PPP VPN tussen twee Slackware boxen en het grootste deel heb ik nu aan de praat gekregen met wat getweak en wat gehack.

Het laatste probleem wat me in de weg staat is het feit dat de twee desbetreffende PPP daemons hun handshake niet goed uit kunnen voeren in de VPN tunnel device. Het geheel zou ongeveer zo moeten werken:
1) Systeem A opent een SSH sessie naar systeem B met het account FOOBAR. FOOBAR kan inloggen met zijn key-pair en hoeft geen wachtwoord in te voeren. FOOBAR's shell is /usr/sbin/pppd (die setuid is).
2) De output van de SSH sessie word op systeem A geredirect naar de VPN tunnel device, gebruikmakend van de tool "pty-redir". Dit tunnel device is bij mij doorgaans /dev/ptyp0, maar dat kan per systeem natuurlijk verschillen.
3) Systeem A start nu lokaal ook een PPP daemon, die met behulp van parameters word gekoppeld aan de tunnel device, bijv: /usr/sbin/pppd /dev/ptyp0 <ip A>:<ip B> (waar "ip A" en "ip B" de IP adressen van de respectievelijke boxen zijn).
4) De PPP daemons van systemen A en B horen nu hun handshake uit te voeren in de VPN tunnel device op systeem A en horen op die manier een PPP connectie op te zetten.
5) En presto! We hebben een PPP connectie die door een ge-encrypte SSH tunnel loopt -> VPN :)

Aniway... Mijn probleem ligt bij stappen 3 en 4: de handshake.
Wanneer de lokale PPP daemon op systeem A word gestard krijg ik de volgende foutmelding in /var/log/syslog: "pppd[12508]: Failed to open /dev/ptyp0: Input/Output error"

Tja... Volgens de VPN HOWTO zou deze error worden veroorzaakt door een mismatch in versies van beide PPP daemons. Dit is in mijn geval echter niet zo! Ze gebruiken beiden de zelfde versies van PPP, van de kernel, enz.)

DE VRAAG:
Weet iemand misschien wat nog meer de oorzaak van dit probleem kan zijn? Ik heb naar dit probleem geGoogled, maar kon niets nuttigs vinden. Ook op andere fora en MLs vond ik niets :(

MIJN SETUP:
+ Twee generieke PCs (een Dell desktop en een B-merk supertower) met verscheidene 3Com en Intel interfaces. Alle NICs werken zoals ze horen
+ Slackware Linux 8.0
+ Kernel 2.4.17
+ PPP 2.4.1
+ OpenSSH 3.0.2p1

DE COMMANDO'S:
/bin/pty-redir /usr/bin/ssh -t -l FOOBAR systemA > /tmp/vpn-device 2>/tmp/vpn-device &
sleep 5
/usr/bin/sudo /usr/sbin/pppd `cat /tmp/vpn-device|awk '{print $2}'` systemA:systemB

Ik hoop dat er iemand is die me zou kunnen helpen :)

Cheers!

Liege, liege, liegebeest!


  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Bump

Weet niet of het bovenstaande hier is toegestaan...
Zo niet, laat het me ff weten... Dankje :)

Liege, liege, liegebeest!


  • Jordi
  • Registratie: Januari 2000
  • Niet online

Jordi

#1#1

dat mag hoor, als er maar een redelijke tijd tussen zit, liever nog ietsje meer dan nu ;)

Het zal wel niet, maar het zou maar wel.


  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
ACK, number One! :)

Liege, liege, liegebeest!


  • Renegade
  • Registratie: December 2000
  • Laatst online: 14-10-2020
Kan het misschien komen doordat de client de ssh sessie niet op tijd start?

Probeer eens zelf naar de ssh sessie te connecten.

Als root:

. /etc/sysconfig/network-scripts/ifcfg-vpn0
/usr/bin/ssh -q -t -e none -o `Batchmode yes` -c blowfish
-l ${VPN_USER} -i ${IDENTITY_FILE} ${VPN_HOST}

Dat zou de connectie moeten simuleren die door de scripts wordt gestart. Kijk eens hoe lang het duurt voor je een connectie hebt. Als je inlogd zou je een heleboel ppp zooi moeten zien. Als het goed is timed pppd vanzelf out na +- 30 sec. Krijg je die rotzooi niet te zien, dan moet je op de op de machine waar je op inlogd eens moeten kijken of pppd wel compleet gestart is.

hth :)

edit:

Trouwens cailin, ik hier? ;)

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
@BasRaayman op twitter


  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Hey Bas :)

Leuk je hier te zien...
Ik heb inderdaad ook al geprobeerd om alle stappen apart uit te voeren...

Het SSH-en vanaf de client richting de server en het aldaar opstarten van de PPP daemon slaagt volledig. In /var/log/syslog zie ik alle correcte meldingen en ik krijg inderdaad ook het PPP gebrabbel op mijn scherm te zien.

Ook het lokaal opstarten van PPPd op de client zelf werkt goed... Ook hier krijg ik het gebruikelijke gebrabbel...

Nou zie ik zelf twee mogelijkheden:
1) Pty-redir werkt niet correct en zorgt er dus niet voor dat de output van de SSH sessie in de tunnel device terecht komt, of
2) Er is alsnog een probleem met de PPP daemons die op de client en de server zijn geinstalleerd... Toegegeven, er is de afgelopen tijd wat gerommeld met verschillende versies, maar ze horen nu toch de zelfde versie te draaien...

Ik ga vandaag weer eens verder met het probleem :)

Liege, liege, liegebeest!


  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Yatta! Wai, wai!

Het probleem is opgelost, dankzij een prachtige suggestie van Matthew Wilson (de schrijver van de Linux VPN Howto)!

Het probleem lag aan het feit dat pty-redir op mijn installatie de output redirect naar een /dev/ptyp_ device (waar "_" een nummer is)... En daar kan pppd blijkbaar niet zo goed mee omgaan...

Mijn install:
Slackware 8
Kerner 2.4.17
OpenSSH 3.0.2p1
pty-redir-0.1
PPP 2.4.1

Oplossing:
Gebruik in plaats van pty-redir, de tool pts-redir die op Freshmeat.net is te downloaden... Je kunt ook googlen naar "pts-redir-0.1.tar.gz". Deze tool maakt geen gebruik van /dev/ptyp_, maar van het /dev/pts/_ filesysteem :)

En het werkt als een engeltje!

Ik zal zorgen dat ik op mijn website ook ff een paginaatje maak over dit probleem, aangezien er nog niets hierover te vinden was met Google...

Cheers en alsnog bedankt voor de suggesties!


Thomas

EDIT: verkeerde SSH versie genoteerd... foutje

Liege, liege, liegebeest!

Pagina: 1