hide random home http://eos.kub.nl:2080/infolab/people/rutger/deel9.html (Einblicke ins Internet, 10/1995)

De KUB.* FAQ

DEEL IX: SLIP en PPP

Je bent gebruiker nummer: van deze pagina.

Index

= Gewijzigd sinds vorige release
= Nieuw sinds vorige release

Terug naar 
		inhoudsopgave


Deel 9: SLIP en PPP

9.0 Wat is het telefoonnummer van de poortselector van de KUB?

Dat is 013 630225.
Ik herhaal: dat is 013 630225.


9.1 Wat is SLIP?

SLIP
Serial Line Internet Protocol. Dit is een protocol waarmee het Internet Protocol (IP) via een modem (serial line) wordt ondersteund.

Sinds enige tijd is het mogelijk om een SLIP of een PPP verbinding met de KUB te maken. Het probleem is alleen dat alleen locale netwerkvoorzieningen binnen de KUB gebruikt kunnen worden. FTP-en, Telnetten naar netwerken buiten de KUB werkt niet (waarschijnlijk vanwege veiligheidsoverwegingen en omdat de KUB geen concurrent wil/kan/mag zijn van andere (commerciele) Internet service providers).


9.2 Wat is PPP?

PPP
PointoPoint Protocol. Net als SLIP is PPP een protocol waarmee het Internet Protocol (IP) via een modem wordt ondersteund.

Ook voor PPP verbindingen met de KUB geldt dat toegang tot netwerken buiten de KUB is afgeschermd.


9.3 Hoe kan ik een slip/PPP verbinding opzetten?

Deze vraag is nog onder constructie.

De software van FTP inc, zoals hierna beschreven, is vanaf maandag 20 feb. via de balie van het CIC verkrijgbaar a F 1.50 administratiekosten.

De onderstaande scripts en informatie zijn afkomstig van M.A.G.vanderWalle@kub.nl (Martin van der Walle)

Hier volgen enige aanwijzingen om een SLIP of PPP verbinding met het KUBnet op te bouwen. Wij hebben twee clients geprobeerd, beide voor op de pc, nl. de stack van FTP inc. (de standaard software op de KUB) en de stack van P. Tattam, Trumpet. Beide clients zijn WINSOCK compliant, ofwel er kunnen WINSOCK applikaties overheen gedraait worden. Van FTP inc. werken PPP en SLIP goed, van Trumpet werkt alleen SLIP goed. De PPP implementatie vertoont wat haperingen en lijkt vooral niet met nameservers om te kunnen gaan. Dat laatste is een serieuze tekortkoming. De gebruikte versie is Trumpet 2.0 B.

Hoewel hieronder aanwijzingen volgen voor SLIP, werkt SLIP tot nu toe NIET voor genoemde clients en waarschijnlijk ook niet voor andere clients. Het wachten is op een nieuwe terminalserver die hardware flow-control ondersteund. Zodra die wordt ingezet laten we dat weten.


9.3.0 Algemene netwerk informatie voor SLIP/PPP op de KUB

Deze vraag is nog onder constructie.

Voor de inkiespool is een apart klasse C netwerk aangevraagd. Het nummer is 192.87.170.nn.
De poorten voor SLIP en PPP zijn:

  • 192.87.170.11
  • 192.87.170.12
  • 192.87.170.13
  • 192.87.170.14
  • 192.87.170.15
  • 192.87.170.16
  • Terminalserver IP adres = 192.87.170.2
    Gateway/Router KUBnet   = 192.87.170.1
    

    De aanbevolen MTU waarde voor SLIP is 1006, voor PPP 1500.
    P. Tattam beveelt andere waardes aan. Het DRC heeft goede ervaringen met:

    MTU  = 512
    MSS  = 472
    RWIN = 1888
    

    Bij het gebruik van Trumpet kan de default MTU waarde van de terminal server aangepast worden via commando's en eventueel. via een script.

    Bij gebruik van SLIP, moet je eerst het IP nummer opvragen van de terminalserverpoort waarop je terechtgekomen bent, dat in de tcp/ip stack zetten, die opstarten en je verbinding omzetten naar een SLIP verbinding. In Trumpet kan dat via een script.

    De volgende terminalserver kommando's zijn relevant:

  • SHOW PORT SLIP....................Deze geeft het IP adres.
  • SET PORT SLIP MTU 512.............Zet MTU waarde op 512 (voor Trumpet).
  • CONNECT SLIP......................Zet verbinding om naar een SLIP verbinding.
  • LIST PORT PPP IPCP................Toon IP adres voor PPP.
  • SET PORT PPP LCP MRU 512..........(Let op MRU!!!) Voor Trumpet.
  • CONNECT PPP.......................Zet verbinding om naar PPP
  • Bij het gebruik van PPP wordt het IP adres dynamisch aan de client toegekend.

    PPP zou meteen moeten werken door de meegeleverde batch-file PPP.BAT. De msdos tcp/ip applicaties ping, ftp en tn zijn meegeleverd.

    Voor winsock-applicaties moet de WINSOCK.DLL in de windows directory gekopieerd worden en in system.ini moet in de section [386Enh] de volgende regel worden toegevoegd:

    device=vpctcp.386


    9.3.1 PPP installatie voor de FTP inc. stack

    Deze vraag is nog onder constructie.

    De volgende executables worden opgestart:

  • ppp16550........soort packetdriver
  • pppdrv.............PPP kernel

    Daarna kan er een script worden uitgevoerd via het kommando:

    comscrpt [entry-naam] dialup

    In de file PCTCP.INI maak je dan een sectie met genoemde entry-naam. In die sectie staan verwijzingen naar de script files. Met de optie dialup wordt aangegeven welke scriptfile moet worden uitgevoerd (er is ook een hangup).

    voorbeeld:
    Een stukje uit pctcp.ini; de entry-naam is hier dial90mppp (zelf te kiezen)

    [pctcp comscrpt dial90mppp]
    dialup=c:\pctcp\dtst90mp.scr     ; dtst90mp.scr is de scriptfile
    hangup=c:\pctcp\htst90mp.scr
    serial=0                         ; verwijst naar een andere sectie
    swint=0x60
    accm=0x000A0000
    addr-ctrl-field-comp=on
    local-ip-address=0.0.0.0         ; wordt tijdens PPP setup bepaald
    mru=1500
    prot-field-comp=on
    remote-ip-address=0.0.0.0        ; wordt tijdens PPP setup ingevuld
    

    dan de script file zelf (dtst90mp.scr):

    atdt 630225\r
    pause 30
    send \r 
    pause 1
    send connect ppp \r
    pause 1
    poll physical open
    send \r
    changemode packet
    signal lcp open
    pause 1
    poll lcp open
    poll ipcp open
    

    Andere, voor PPP relevante, stukken uit pctcp.ini zijn nog:

    [pctcp general]
    domain = kub.nl
    etc-dir=c:\pctcp
    host-name =                             ; niet invullen
    time-zone=MET
    time-zone-offset = -60
    use-old-init-scheme=no
    
    [pctcp kernel]
    interface=ifcust 0
    ip-ttl=64
    kernel-int=0x61
    large-packets=5
    loadhigh=yes
    low-window=0 
    mtu-discovery=yes
    small-packets=5
    small-packet-size=160
    tcp-connections=4
    udp-connections=4
    use-emm=no
    window=0                                ; op 0 zetten
    
    [pctcp ifcust 0]
    broadcast-address=
    ip-address = 0.0.0.0
    router =192.87.170.1
    subnet-mask = 255.255.255.0
    vj-compression = yes
    vj-compression-auto = yes
    vj-max-slot = 16
    vj-slot-id = 1
    
    [pctcp addresses]
    domain-name-server =137.56.0.27
    domain-name-server =137.56.0.40
    
    [pctcp serial 0]                        ; werd naar verwezen uit comscrpt
    baud=38400
    hardware-flow-control=on
    io-addr=0x03f8
    irq=4
    port=1
    


    9.3.2 SLIP installatie voor de FTP inc. stack

    Deze vraag is nog onder constructie.

    De script taal van FTP is niet in staat om een verbinding te maken, het toegewezen IP adres uit te lezen en dat in de kernel te verwerken. Daarom wordt het opstarten een soort drietrapsraket, dat overigens wel goed werkt. Als eerste wordt Kermit opgestart (of een andere terminalemulator) om de verbinding te maken en het IP adres op te vragen. Vervolgens start je een edit om dat IP adres in pctcp.ini te zetten en daarna wordt de FTP TCP/IP stack opgestart.

    Voorbeeld:

    kermit
    cd\pctcp
    call edit pctcp.ini
    slp16550
    slpdrv -t 8
    comscrpt dial90mslp dialup
    
    In Kermit wordt gebeld (atdt 013 630225) en na een paar ENTER's verschijnt de LOCAL> prompt van de terminalserver.

    Dan: SHOW PORT SLIP en je ziet het toegewezen IP adres. Zorg er wel voor dat baud, flow-control e.d. in Kermit hetzelfde is als in de definities in de pctcp.ini file.

    Edit pctcp.ini de sectie [pctcp ifcust 0]

    [pctcp ifcust 0]
    broadcast-address=0.0.0.0
    ip-address =                            ; vul IP adres in
    router =192.87.170.1
    subnet-mask = 255.255.255.0
    vj-compression = yes
    vj-compression-auto = yes
    vj-max-slot = 16
    vj-slot-id = 1
    

    Het uitvoeren van het script gaat zoals beschreven bij PPP. De betreffende sectie in pctcp.ini:

    [pctcp comscrpt dial90mslp]
    dialup=c:\pctcp\dtst90ms.scr
    hangup=c:\pctcp\htst90ms.scr
    serial=0
    swint=0x60
    

    De scriptfile dtst90ms.scr bevat nog:

    send \r
    pause 1
    send \r
    pause 1
    send connect slip \r
    pause 1
    changemode packet
    pause 1
    

    De overige relevante secties in pctcp.ini zijn hetzelfde als bij PPP

    UITLOGGEN:

    Het meest handige is het verbreken van de modemverbinding. Dat kan weer het beste door het kommando:

    COMSCRPT DIAL90MPPP (of DIAL90MSLP)

    Dan wordt er geen script uitgevoerd en kun je zelf 'tegen het modem praten'.
    Tik dan +++ [Enter] en op de OK prompt ath0 [Enter].
    Met CTRL-],C wordt COMSCRIPT weer verlaten.


    9.3.3 PPP en SLIP installatie voor de Trumpet stack

    Deze vraag is nog onder constructie.

    Trumpet werkt op basis van DLL's en werkt dus alleen onder Windows. Start je pc gewoon op en zorg ervoor dat de WINSOCK.DLL van Trumpet in de Windows directory staat.

    De trumpwsk.ini ziet er als volgt uit:

    [Trumpet Winsock]
    ip=0.0.0.0
    netmask=255.255.255.0
    gateway=192.87.170.1
    dns=137.56.0.40
    time=
    domain=kub.nl
    vector=00
    mtu=512
    rwin=848
    mss=472
    slip-enabled=1
    slip-port=1
    slip-baudrate=38400
    slip-handshake=1
    slip-compressed=1
    rtomax=60
    ip-buffers=32
    dial-option=1
    online-check=2
    inactivity-timeout=5
    slip-timeout=0
    slip-redial=0
    dial-parity=0
    font=Courier,9
    registration-name=""
    registration-password=""
    use-socks=0
    socks-host=0.0.0.0
    socks-port=1080
    socks-id=
    socks-local1=0.0.0.0 0.0.0.0
    socks-local2=0.0.0.0 0.0.0.0
    socks-local3=0.0.0.0 0.0.0.0
    socks-local4=0.0.0.0 0.0.0.0
    ppp-enabled=1
    ppp-usepap=0
    ppp-username=""
    ppp-password=""
    win-posn=1 6 637 414 46 408 -4 -4 1
    trace-options=170
    
    [default vars]
    $number=013630225
    

    Na het opstarten van Trumpet kan de login.cmd worden uitgevoerd. Deze is geschikt voor zowel SLIP als PPP. Bij PPP wordt het IP adres dynamisch ingevuld, bij SLIP wordt het opgevraagd, uitgelezen en in de stack verwerkt.

    #trace on
    #
    # set up some strings for dialling up
    #
    if ![load $number]
      if [query $number "Enter your dial up phone number"]
        save $number
      end
    end
    $prompt =      ">"
    $slipcmd =     "connect slip"
    $setmtu =      "set port slip mtu 512"
    $setmru =      "set port ppp lcp mru 512"
    $askslp =      "show port slip"
    $pppcmd =      "connect ppp"
    $addrtarg =    "Host Address:"
    
    %attempts = 10
    #
    #----------------------------------------------------------
    # initialize modem
    #
    output "atz1"\13
    if ! [input 10 OK\n]
      display "Modem is not responding"\n
      abort
    end
    #
    # send phone number
    #
    %n = 0
    repeat
      if %n = %attempts
        display "Too many dial attempts"\n
        abort
      end
      output "atdt"$number\13
      %ok = [input 60 CONNECT]
      %n = %n + 1
    until %ok
    input 10 \n
    #
    #  wait till it's safe to send because some modem's hang up
    #  if you transmit during the connection phase
    #
    wait 10 dcd
    #
    # now prod the terminal server
    #
    output \13
    #
    input 30 $prompt
    if %ppp
      #
      # jump into ppp mode
      #
      output $setmru\13
      output $pppcmd\13
      #
      display "PPP mode selected."\n
      #
    else
      #
      # jump into slip mode
      #
      output $askslp\13
      input 10 $addrtarg
      address 30
      output \13
      output $setmtu\13
      output $slipcmd\13
      #
      display \n
      display Connected.  Your IP address is \i.\n
    end
    #
    # now we are finished.
    #
    

    Uitloggen gaat via het het uitlog script, BYE.CMD

    sleep 3
    output +++
    input 5 OK\n
    output ath0\r
    input 5 OK\n
    


    9.3.4 PPP installatie voor Linux

    Deze vraag is nog onder constructie.

    De Linux Network Administators' Guide (NAG) heeft in principe alle noodzakelijke informatie om je van eigen Linux systeem een volwaardig netwerk te maken: ook aanwijzingen voor PPP en SLIP kun je daar in terugvinden.

    Probeer ook:

  • De PPP-FAQ
  • Nog meer PPP informatie

    Hieronder vind je een lijst van software die ik gebruikt heb op mijn Linux systeem:

    Zorg ervoor dat de IP_FORWARDING compile-optie voor de kernel is aangezet en dat je PPP support in de kernel hebt gecompileerd.
    Verder ziet de /etc/host.conf er ongeveer als volgt uit (let op: moet bind bevatten):

    order hosts, bind
    multi on
    

    De /etc/resolv.conf is zoiets als:

    domain kub.nl
    nameserver 137.56.0.40
    nameserver 137.56.0.27
    

    De /etc/ppp/options:

    -detach
    modem
    crtscts
    mru 1500
    mtu 1500
    defaultroute                      
    netmask 255.255.255.0
    asyncmap 200a0000
    


    Terug naar index Terug naar 
inhoudsopgave

    rutger@kub.nl

    +----------------------------------------------------------+
    | It is cold in the scriptorium, my fingers hurt. I leave  |
    | these writings, I don't know for who, I don't know why:  |
    | Stat rosa pristina nomine, nomina nuda tenemus.          |                                  |
    +----------------------------------------------------------+