Dip+SLiRP+CSLIP

Autor: Zenon Fortuna, zenon@netcom.com
v1.1, 29 Października 1995
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v1.0, 3 Września 1997


[Od tłumacza]Tłumaczenie to jest zrobione z wersji 1.1, którą znalazłem na serwerze u autora, a której nie wiedzieć czemu nie ma nigdzie na oficjalnych serwerach.[koniec] Dlaczego powstał ten dokument? Jest on przeznaczony dla tych, którzy nie chcą czytać całego NET-3-HOWTO z wszystkimi jego szczegółami, ani nie chcą czytać dokumentacji do Dip-a/SLiRP-a, ale chcieliby zainstalować SLIP-owe połączenie do Internetu, używając do tego celu konta z dostępną powłoką (shell-em). Wymieniona wcześniej dokumentacja powinna być rozważana jako bardziej wyczerpująca (i to w obu tego słowa znaczeniach). Opisane przykłady zostały przetestowane na pakietach dip337n-uri i slirp-0.95h. Testy zostały przeprowadzone na stabilnej wersji jądra (tm) Linux-a - 1.2.13, oprogramowanie zostało zainstalowane pod dystrybucją Slackware 2.2.0. Dokument ten został napisany w standardzie ISO-8859-2. Oryginał tego dokumentu znajduje się pod adresem ftp.netcom.com w katalogu /pub/ze/zenon/linux/DipSlirpCSLIP/.

1. Historia zmian.

29 Października '95 Wersja: 1.1 Dodałem informację dla systemów tylko z urządzeniem loopback. 15 Października Wersja: 1.0
Pierwotna wersja tego dokumentu.

2. Krótki opis.

I stanie się cud: będziemy mieli połączenie TCP/IP między Linux-em a zasobami Internet-u.

3. Kroki podczas konfiguracji.

3.1 Instalacja SLiRP-a.

3.2 Testowanie SLiRP-a.

Zaloguj się na swoje konto u dostawcy i napisz bin/slirp (albo ./slirp, w zależności od lokalizacji)

Powinieneś zobaczyć listę wiadomości z taką linią na końcu:

                [talking CSLIP, MTU 1500, MRU 1500, 38400 baud]

Aby wyjść ze slirp-a wpisz powoli (z ponad sekundowymi przerwami) pięć zer.

3.3 Konfiguracja twojego Linux-a.

W skrócie to co musisz zrobić, to przygotować jądro, żeby mogło pracować z siecią i CSLIP-em. Potem powinieneś skonfigurować sieć. Napisz make config w katalogu /usr/src/linux i odpowiedz "y" na następujące pytania:

                Networking support (CONFIG_NET) [y]
                TCP/IP networking (CONFIG_INET) [y]
                Assume subnets are local (CONFIG_INET_SNARL) [y]
                Network device support? (CONFIG_NETDEVICES) [y]
                Dummy net driver support (CONFIG_DUMMY) [y]
                SLIP (serial line) support (CONFIG_SLIP) [y]
                CSLIP compressed headers (CONFIG_SLIP_COMPRESSED) [y]
                PPP (point-to-point) support (CONFIG_PPP) [y]

Ja używam karty Ethernet-owej 3c509, więc moje dodatkowe opcje to:

                3COM cards (CONFIG_NET_VENDOR_3COM) [y]
                3c509/3c579 support (CONFIG_EL3) [y]

Przy instalacji poprzez NFS możesz też dodać:

                NFS filesystem support (CONFIG_NFS_FS) [y]

Teraz, jak już poprawnie skonfigurowałeś jądro, skompiluj je wydając polecenia: make dep && make clean && make zImage. Po kompilacji przenieś plik /usr/src/linux/arch/i386/boot/zImage do katalogu, w którym zwykle znajduje się jądro i uruchom lilo.

Aby skonfigurować sieć, najpierw zdecyduj jaki będzie twój adres IP. Jeśli brakuje ci specjalnych adresów, to weź 192.168.1.100, który to jest dozwolony dla użytku lokalnego przez RFC1597.
Dla systemów tylko z urządzeniem loopback będzie to adres 127.0.0.1.
Jeśli chcesz dokładnych i poprawnych informacji, to powinieneś raczej przeczytać NET-3-HOWTO ( dostępne także po polsku), ale możesz spróbować zrobić coś takiego:

Teraz zrestartuj system.

3.4 Testowanie twojego Linux-a.

Przede wszystkim obserwuj komunikaty pojawiające się podczas startu, albo zajrzyj do pliku /usr/adm/messages jeśli działa u ciebie proces syslogd(8).

Powinieneś zobaczyć mniej więcej takie komunikaty:

                 IP Protocols: ICMP, UDP, TCP
                 PPP: version ...
                 TCP compression ...
                 PPP line discipline registered.
                 SLIP: version ...
                 CSLIP: code copyright ...

Jeśli posiadasz też interfejs Ethernet, to powinien on także zostać poprawnie rozpoznany:

                 eth0: 3c509 at 0x280 ...

Twoja sieć powinna być już aktywna i możesz trochę potestować kilkoma poleceniami:

Dobra, twój Linux jest gotowy do współpracy z CSLIP-em.

3.5 Instalacja DIP-a.

Skrypt dip-a jest zwykle długi i skomplikowany. W katalogu samples znajduje się kilka przykładów (może to być np. /usr/doc/dip/samples)
W każdym razie ja podam tutaj swój skrypt jako przykład:

#### slirp.dip file ####
#
# slirp.dip     Dialup IP script for use with SLiRP and netcom
#

main:
  # Ustaw maskę sieci na sl0
  netmask 255.255.255.0

  # Ustaw odpowiedni port szeregowy i jego prędkość.
  # Możliwe, że musisz zmienić ttyS2 na inną wartość dla twojego modemu.
  # Ja mam także uruchomione "mgetty" na tym porcie dlatego używam
  # "ttyS2" a nie "cua2"
  port ttyS2
  speed 38400

  # Zresetuj modem i linię terminalową.
  # Tutaj występują u niektórych problemy.
  reset

  # Przygotuj się do dzwonienia.
  # Zauważ, że twój modem może mieć inny łańcuch inicjacyjny.
  # Mój to WordBlazer
  send AT S0=0 S11=70 S50=254 S58=2 Q0 V1 E1 X4\r
  wait OK 2
  if $errlvl != 0 goto modem_trouble

redial:
  # Wybierz numer.
  # U ciebie będzie raczej inny numer.
  send ATDT 274 2900\r
  wait CONNECT 50
  if $errlvl != 0 goto dial_trouble

  # Połączyliśmy się. Zaloguj ten fakt do systemu.
login:
  sleep 2
  send \n
  wait ogin: 20
  if $errlvl != 0 goto login_trouble
  print got the login prompt, OK
  # zamień poniższe "zenon" na twój identyfikator u dostawcy
  sleep 2
  send \n
# Nie wiem dlaczego musiałem dodać jeszcze "\n" przed wysłaniem mojego
# identyfikatora, ale inaczej nie działało
  sleep 2
  send zenon\n
  print sent 'zenon', waiting for 'password' ...

  wait ord: 30
  if $errlvl != 0 goto password_trouble
  # poniższe "blablabla" zamień na swoje hasło.
  send blablabla\r

  # Teraz jesteśmy już zalogowani - przypuszczalnie.
loggedin:
  # Zamień poniższe na TWÓJ prompt (mój to zenon@netcomNN n% )
  wait zenon 15
  if $errlvl != 0 goto prompt_error

  # SLiRP ustawia 10.0.2.2 jako adres odległego komputera.
  get $remote 10.0.2.2

  # Upewnij się, że "slirp" jest na ścieżce i że jest wykonywalny.
  # W tym przykładzie zakładam, że slirp został zainstalowany w katalogu
  # $HOME/bin
  send exec bin/slirp\n

  # Ustaw parametry CSLIP-a
  get $mtu 1500
  # Upewnij się, że polecenie "route add -net default $remote" jest wykonane
  # W pakiecie dip-3.3.7n wystarczy wpisać "default"
  default

  # Powiedz "Cześć" i odpalaj.
done:
  print CONNECTED local: $locip ---> remote: $rmtip
  mode CSLIP
  goto exit

prompt_error:
  print TIME-OUT waiting for SLIPlogin to fire up...
  goto error

login_trouble:
  print Trouble waiting for the Login: prompt...
  goto error

password_trouble:
  print Trouble waiting for the Password: prompt...
  goto error

modem_trouble:
  print Trouble occurred with the modem...
  goto error

dial_trouble:
  print Trouble occurred while dialing...
error:
  print CONNECT FAILED to $remote
  quit

exit:
  exit
#### end

KOMENTARZ: W powyższym przykładzie niektóre pozycje wymagają podania danych specyficznych dla ciebie:

3.6 Testowanie DIP-a.

Polecenie dip -v slirp.dip spowoduje uruchomienie dip-a w trybie verbose - czyli na ekranie będą pojawiać się informacje co się w danym momencie dzieje.

Komunikaty pojawiające się na ekranie mogą zasugerować jakieś zmiany do skryptu slirp.dip.

Jeśli wszystko poszło dobrze, to powinieneś zobaczyć taki komunikat na końcu:

                CONNECTED local: 192.168.1.100 ---> remote: 10.0.2.2
         (albo  CONNECTED local: 127.0.0.1 ---> remote: 10.0.2.2)

a dip "zmienia" się teraz w proces-demon, zwracając ci dostęp do prompt-a.

Przy okazji: teraz aby zakończyć działanie dip-a, wpisz po prostu dip -k a działanie dip-a zostanie zakończone i połączenie modemowe zamknięte.

4. Normalne działanie.

Po udanym (?) połączeniu anonimowym, możesz odkryć, że jesteś... na sunsite.icm.edu.pl - polskiej kopii archiwum Linux-a.

Jeśli zaszedłeś już tak daleko, to możesz zacząć podziwiać możliwości połączenia dip+slirp: jesteś na SIECI.

Rozłącz się z "sunsitem" tak szybko jak możesz, powracając do systemu "moj-host".

Teraz pojawia się pytanie:

Czy możemy po prostu napisać: ftp sunsite.icm.edu.pl?

Nie przed uaktywnieniem DNS-u (Domain Name Server).

W tym momencie możesz chcieć się rozłączyć. Wpisz w swoim lokalnym prompcie dip -k.

4.1 Dodawanie DNS-u.

Najprzypuszczalniej twój dostawca Internet-u ma serwis DNS (w przeciwnym razie nie byłbyś w stanie używać połączeń Internet-owych w normalny sposób). Połącz się raz jeszcze z serwerem dostawcy przy pomocy dip slirp.dip i telnet 10.0.2.1. Zajrzyj do pliku /etc/resolv.conf.

Powinieneś zobaczyć tam kilka takich linijek:

                nameserver  <adres-IP>

gdzie <adres-IP> będzie miał konkretną wartość.

Skopiuj przynajmniej jedną z tych linijek do swojego pliku /etc/resol.conf.

Teraz powróć do swojego lokalnego komputera (bez zamykania połączenia) i sprawdź czy serwis DNS działa. Wpisz: dnsquery sunsite.icm.edu.pl.

Jeśli na ekranie pojawi się numer IP powyższego adresu, to oznacza, że twój DNS działa.

Teraz możesz używać takich narzędzi jak lynx, mosaic czy netscape bezpośrednio ze swojego Linux-a.

5. Komentarze.

Ten uproszczony dokument został napisany raczej jako streszczenie podstawowej instalacji dip+slirp, aniżeli podręcznik.
Zamysłem było pomóc potencjalnym użytkownikom CSLIP-a przy starcie. Tekst ten jest wysyłany jako mini-HOWTO, dlatego, jeśli zobaczysz w nim jakieś oczywiste błędy, daj mi znać, proszę.
Wszystkie wersję są dostępne u mnie w katalogu na ftp:

ftp.netcom.com.

Chcę podziękować autorom narzędzi dip i slirp za cudowne programy. Jestem pod wrażeniem i bardzo wdzięczny.

Zenon Fortuna ( zenon@netcom.com)

5.1 Od tłumacza.

Tłumaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:

B.Maruszewski@jtz.org.pl

Oficjalną stroną tłumaczeń HOWTO jest http://www.jtz.org.pl/

Aktualne wersje przetłumaczonych dokumentów znajdują się na tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem ftp.jtz.org.pl w katalogu /HOWTO/.

Przetłumaczone przeze mnie dokumenty znajdują się także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.

Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz się na nią zapisać, to wyślij list o treści subscribe jtz Imię Nazwisko na adres majordomo@ippt.gov.pl

Zmiany w tym dokumencie wprowadzone przez tłumacza to: