Dip+SLiRP+CSLIP
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.
Zakładam, że twój serwer ma możliwość dodzwonienia się do
serwera dostawcy Internet-u, gdzie posiadasz konto z powłoką
(shell-em). Na tym serwerze zainstalujemy narzędzie slirp.
Będziemy chcieli przygotować narzędzie dip na Linux-ie,
razem ze specjalnym skryptem do połączenia się z serwerem dostawcy
oraz do wystartowania slirp-a na tymże serwerze.
Uruchomiony dip skonfiguruje parametry linii szeregowej i
poinformuje Linux-a o przyznanym numerze IP, którą to informacje
dostanie od slirp-a na serwerze dostawcy.
W wyniku tych operacji pakiety TCP/IP wysyłane poprzez linię
szeregową/modem będą obsługiwane przez serwer dostawcy tak jakby
były wysłane przez nasz serwer.
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.
zdobądź plik dystrybucyjny ze SLiRP-em,
np. slirp-0.95h.tar.gz, i skompiluj program slirp na
serwerze dostawcy (na komputerze, do którego będziesz
dzwonił). Plik docs/README.compiling zawarty w dystrybucji
SLiRP-a wyjaśnia wszystkie szczegóły dotyczące
kompilacji.
Możesz też wziąć już skompilowaną wersję z
ibc.wustl.edu, którą podaje FAQ z Alt.dcom.slip-emulators
zawarte w dokumentacji.
przenieś program slirp do jakiegoś lepszego katalogu,
np. ./bin/slirp czy ./slirp (w twoim katalogu
domowym).
stwórz w swoim katalogu domowym plik .slirprc
żeby był prosty, to użyjemy tylko kilku poleceń:
#### .slirprc file ####
add ptyexec /usr/bin/tcsh -l:10.0.2.1:23
compress
baudrate 38400
#### end
Polecenie compress zapewnia nas, że zostanie użyty protokół
CSLIP. Polecenie add ptyexec zostało użyte zamiast polecenia
shell (listę poleceń znajdziesz w pliku docs/CONFIG),
ponieważ lepiej jest użyć tcsh -l (w pliku .login), a
polecenie shell nie przyjmuje opcji (tak sądzę). Powinieneś
użyć dokładnej ścieżki do tcsh na serwerze dostawcy (albo użyj
jakiejś innej powłoki (shell-a) jeśli wolisz).
Polecenie baudrate powinno zostać użyte z wartością
odpowiednią dla twojego połączenia modemowego.
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:
Nadaj swojemu systemowi nazwę sieciową,
np. moj-host.linux.org, gdzie wszystkie trzy człony mogą być
dowolne. Umieść powyższy łańcuch (bez znaków ") w pliku
/etc/HOSTNAME.
Zmodyfikuj twój plik /etc/hosts, dodając:
192.168.1.100 moj-host.linux.org moj-host
127.0.01 localhost
(albo 127.0.0.1 moj-host.linux.org moj-host
127.0.0.1 localhost)
Łańcuch "moj-host.linux.org" powinien być identyczny z tym wybranym
w pierwszym kroku.
Jeśli masz sieć Ethernet, to dodaj do pliku
/etc/networks linię:
moja-siec 192.168.1.0
(albo loopback 127.0.0.1)
Zmodyfikuj swój plik rc.inet1 z katalogu /etc/rc.d
(zachowaj gdzieś oryginalną wersję) i wpisz do niego:
IPADDR=moj-host
NETWORK=moja-siec
NETMASK="255.255.255.0"
BROADCAST="192.168.1.255"
(albo NETMASK="255.0.0.0"
BROADCAST="127.255.255.255")
Potem jeśli masz w komputerze kartę Ethernet-ową, to odkomentuj
poniższe linie:
/sbin/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
/sbin/route add -net ${NETWORK} netmask ${NETMASK}
W innym razie, jeśli masz tylko loopback, to upewnij się, że są tam:
/sbin/ifconfig lo localhost
/sbin/route add -net loopback
Umieść swoją nazwę domeny linux.org (porównaj z krokiem
pierwszym) w pliku /etc/resolv.conf w taki sposób:
domain linux.org
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:
Uruchom /sbin/ifconfig bez parametrów.
Powinieneś zobaczyć aktywny interfejs lo (loopback) wraz z
przypisanymi mu adresami.
Jeśli masz także sieć Ethernet, to zobaczysz dodatkowo informacje na
temat interfejsu eth0 i powinieneś zobaczyć znany ci już adres
inet addr: 192.168.1.100, itp.
Uruchom /sbin/route bez argumentów.
Powinieneś zobaczyć linię dotyczącą loopback i ewentualnie
następną dotyczącą sieci "moja-sieć".
Dobra, twój Linux jest gotowy do współpracy z CSLIP-em.
3.5 Instalacja DIP-a.
możliwe, że na twoim Linux-ie jest już zainstalowany ten
program. Byłoby dobrze mieć wersję 3.3.7n (jest tam
uaktualniona dokumentacja).
jeśli tak nie jest, zdobądź ten program,
np. dip337n-uri.tar.gz i skompiluj program dip na swoim
lokalnym komputerze. Robi się to poprzez wydanie polecenia
make w katalogu dip-3.3.7n.
przenieś program dip do jakiegoś odpowiedniejszego
katalogu, który jest w twojej zmiennej $PATH,
np. /usr/local/bin/ albo $HOME/bin/dip.
w jakimś odpowiednim katalogu, np. w $HOME, stwórz skrypt
dip-a - slirp.dip
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:
numer portu (ja używam ttyS2)
szybkość portu (ja używam 38400)
łańcuch inicjacyjny modemu (ja mam WordBlazer)
numer telefonu do twojego dostawcy (mam nadzieję, że twój jest
inny)
twój identyfikator u dostawcy
twój prompt (aby potwierdzić zalogowanie się)
lokalizacja "slirp-a" (mój jest w $HOME/bin)
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.
Uruchom swoje połączenie dip+slirp pisząc dip slirp.dip
Po udanym połączeniu się i po komunikacie CONNECTED... masz
już działające połaczenie do Internet-u poprzez swojego dostawcę.
Najpierw spróbuj się połączyć z serwerem dostawcy poprzez telnet:
telnet 10.0.2.1
Dzięki konfiguracji z pliku .slirprc, połączenie to powinno
wywołać tcsh -l i powinieneś otrzymać login prompt.
Pisząc ps możesz zobaczyć coś takiego:
6019 s0 S 0:13 slirp
6075 sb IW 0:00 -/usr/bin/tcsh (tcsh)
16721 t6 R 0:00 ps
Możesz zakończyć to połączenie telnet-owe, albo z innego
wirtualnego terminala czy okienka w X-ach spróbować połączyć się
przez ftp: ftp 148.81.123.100.
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.plOficjalną 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:
zmiana NET-2-HOWTO na NET-3-HOWTO
zmiana poleceń kompilacji jądra z "make dep make zImage" na
"make dep && make clean && make zImage"
info o polskim tłumaczeniu NET-3-HOWTO
zmiana wywołań ifconfig i route na /sbin/ifconfig i /sbin/route
zmiana adresu IP z sunsite.unc.edu na sunsite.icm.edu.pl (po co łączyć
się z USA skoro można z Polską?)
Wyszukiwarka
Podobne podstrony:
dip slirp cslip pl 5dip slirp cslip pl 1Dip SLiRP CSLIP pl (3)Dip SLiRP CSLIP pldip slirp cslip pl 2dip slirp cslip pl 4dip slirp cslip pl 3TI 99 08 19 B M pl(1)bootdisk howto pl 8BORODO STRESZCZENIE antastic plnotatek pl sily wewnetrzne i odksztalcenia w stanie granicznymWSM 10 52 pl(1)amd102 io pl09PPP HOWTO pl 6 (2)bridge firewall pl 3NIS HOWTO pl 1 (2)więcej podobnych podstron