Amiga + Internet > 2 Amigi

Ho ho.. widzë, ûe FA zbliûa sië powoli do Internetu... W HTML-u pisany i tak dalej :-). Nieúle. Postanowiîem wiëc dorzuciê swoje trzy grosze i wyjawiê sekrety wspóîpracy Amigi z Internetem, jako ûe od dawna moja Ami ôwietnie sobie radzi w sieci.

Na poczâtek muszë troszkë zbluzgaê Smasha - piszâc swój artykuî do FA'18 (Cyber World) we wstëpie zaznaczyî, ûe do wspóîpracy z Internetem nadaje sië tylko Unix (ogólnie *IX). Smashu! Nie widziaîeô Internetu na mojej Ami??? Zapomniaîeô juû, jak to nocami waliîeô w klawiaturë mojej tysiâcdwusetki (co zresztâ jej na dobre nie wyszîo:-)? No, ale koniec ûartów... Poniûej spróbujë opisaê, jak moûna îadnie podîâczyê Amigë do Netu korzystajâc z pakietu AmiTCP. Zapewniam, ûe za pomocâ systemu Amigi moûna zrobiê wszystko (no, moûe prawie wszystko) co moûna zrobiê z poziomu *IX'a.

Zakîadam, ûe mam juû poîâczenie z jakimkolwiek serwerem Unixowym i ûe mogë go wykorzystywaê jako terminal. Mogë na tym poprzestaê - w koïcu mam na Unixie wszystko, co potrzebujë do pracy z sieciâ... Jednak instalujâc AmiTCP zyskujemy nowe moûliwoôci, nie tracâc starych (wszak jest telnet do AmiTCP) - prosty przykîad: wykorzystujâc tylko terminal, aby ôciâgnâê ftp-em najnowsze gify o znanej kaûdemu tematyce musimy je najpierw ôciâgnâê na swoje konto (a quota szaleje), aby potem przeciâgnâê je do siebie za pomocâ polecenia sb czy sz. Przecieû to jest strata czasu! A tak moûna uruchomiê ftp-a juû na swojej Amidze i ciâgnâê gify ile dusza zapragnie! W dodatku mamy do wyboru róûne rodzaje ftp-ów - okienkowe, shellowe, z MUI i wiele innych... Ale widzë, ûe sië rozpisuje o wyûszoôci Boûego Narodzenia nad 22 Lipca (dawniej E. Wedel). Do rzeczy:

Jak zaîoûyê sobie konto, odpaliê terminal wie kaûdy - a jak nie wie, moûe sië dowiedzieê z przesîawnego numeru MA (zapomniaîem który, ale ma na okîadce wielkimi literami INTERNET i rayowany kabelek - skrëtka - z wtyczkâ). Zakîadam, ûe dany delikwent, usiîujâcy postawiê u siebie AmiTCP posiada modem (lub kabelek RS-a do najbliûszego serwera :-) i konto na serwerze Unixowym. Aby odpaliê AmiTCP, naleûy mieê moûliwoôê wykorzystania jakiegokolwiek protokoîu TCP/IP - np. SLIP-a, który jest po prostu protokoîem przesyîajâcym paczki TCP/IP przez zîâcze szeregowe. Ci, którzy pîacâ za Internet, tzn. którzy sâ podîâczeni do do pîatnych, komercyjnych serwerów, dostanâ od swojego administratora numerek IP (czyli swój adres w sieci) i moûliwoôê skorzystania ze SLIP-a. Tacy szczëôciarze mogâ spokojnie odpuôciê sobie czytanie nastëpnego akapitu, traktowaê on bëdzie bowiem o tym, jak oszukaê AmiTCP, aby myôlaîo, ûe z drugiej strony kabla mamy SLIP-a.

Po pierwsze naleûy zainstalowaê sobie na koncie jakiô emulator SLIP-a - znam dwa: MLink (aminet: net/tcp) i slirp (moûna poszukaê archiem: telnet archie.doc.ic.ac.uk, login: archie, find slirp). Skupië sië na tym drugim, poniewaû uûywam go od dîuûszego czasu i uwaûam, ûe ma wiëksze moûliwoôci od MLinka. A wiëc pierwej naleûy ôciâgnâê slirpa, rozpakowaê go (gzip -d slirp-ILEÔTAM.tar.gz, jeôli nie ma gzipa na twoim serwerze, to naleûy jeszcze ôciâgnâê i skompilowaê gzipa :-), "roztarowaê" go (tar -xvf slirp-ILEÔTAM.tar na wiëkszoôci systemów), przejôê do podkatalogu sources i skonfigurowaê makefile'a... No panic! Wystarczy odpaliê skrypt./configure, który zrobi to wszystko za nas:-) Potem wydajemy komendë make i w zaleûnoôci od komputera, na którym pracuje Unix, udaê sië na papierosa (dobry system) lub zgoîa na piwo (sîaby system)... Zakîadajâc drugâ opcjë, naleûy dalszâ instalacjë odîoûyê na nastëpny dzieï :-) W porzâdku: slirp skompilowany, trzeba go teraz odpaliê np. slirp -b 19200, poczytaê co slirp wypisze... jeûeli pojawi sië napis: slirp ready i terminal przestanie reagowaê, oznacza to, ûe po drugiej stronie kabelka mamy juû SLIP-a! Teraz trzeba wyjôê z terminala i zainstalowaê AmiTCP.

Na poczâtek trzeba zdobyê AmiTCP: moûna ôciâgnâê z Aminetu wersjë demo (4.0) i zakupiê (juû to widzë) u autorów wersjë 4.1. Wymagania pakietu: system 2.04+, przyda sië co najmniej 2M RAM i twardziel. Poniûej nie warto instalowaê, szczególnie bez twardziela (nie wiem, czy to moûliwe). No, nie jest úle: LightWave to to nie jest :-) Pakiet skîada sië z dwóch dyskietek i nie jest elegancko opakowany, za co minus dla autorów. Instalacja przebiega bezboleônie Commodorowskim (RIP) installerem - nie ma sensu jej tu opisywaê i traciê cenne miejsce w FA :-) Po zainstalowaniu pakiet trzeba skonfigurowaê - odpalamy wiëc skrypt Config_AmiTCP i do dzieîa (zajëîo mi to caîe wakacje). Podam wiëc parë uwag, a i tak dalszâ konfiguracjë przeprowadzimy rëcznie: bez pomocy skryptu do installera (bo tylko tak umiem). Tak wiëc: default gateway to jest adres (numerek IP) serwera, do którego sië podîâczamy; przy pytaniu o rodzaj konfiguracji naleûy podaê TIA configuration; adres domain name serwera moûna uzyskaê przepytujâc administratora lub kogoô zorientowanego w lokalnych sprawach sieci. Tak czy inaczej ôrednio rozgarniëty amigowiec powinien przejôê przez owâ konfiguracjë. Resetujemy komputer (bo installer zmienia user-startup) i przyglâdamy sië skryptowi startnet z katalogu AmiTCP:bin. Waûne sâ pierwsze linie,

które u mnie wyglâdajâ tak:

; to jest mój adres IP: wyglâda on tak, gdyû uûywam emulatora - posiadacze
; prawdziwego SLIP'a wpisujâ swój prawdziwy adres
.def IP    10.0.2.15
; peîny adres sieciowy podîâcznej amigi: druga nazwa to alias
.def HN    "gdc.riviera.pw.edu.pl  gdc"
; tu nic, bo jesteômy podîâczeni bezpiôrednio do gateway'a
.def DEST  
; netmask, moûna sië dowiedzieê od administratora, ale nie trzeba
.def MASK 
; adres internetowy (numerycznie) serwera, do którego jesteômy podpiëci
.def GW    148.81.83.81
; kilka nastëpnych bez komentarza
; Default login name
.def USER  root
; User's file creation mask
.def UMASK 022
; "SRV" if servers are used, _nothing_ otherwise
.def SRV   
; "BOOTP" if bootstrap protocol is used, _nothing_ otherwise
.def BOOTP 
; Interface name
.def IFACE slip0
; Sana-II device configuration file, _nothing_ otherwise
.def S2CF  slip0.config
; konfiguracja devica: 
; "serial.device <unit> <rate> 0.0.0.0 MTU=<mtu> OPTIONS"
; jeôli nie wiesz o co chodzi, to zostaw tak jak jest :-)
.def S2OPT "serial.device 0 19200 0.0.0.0 MTU=1006 7WIRE EOFMODE"

Okej, jeûeli wszystko jest w porzâdku, odpalamy startnet z shella i jeûeli nie dostaniemy komunikatu: AmiTCP couldn't be started, to mamy wszystko z gîowy, w przeciwnym wypadku bawimy sië caîe wakacje (prawda Smash?) albo mailujemy do Grycha po helpa :-)

Co moûna z tym zrobiê? Ano, prawie wszystko... Poniûej opiszë kilka programów, które pracujâ z AmiTCP (wiëkszoôê z nich moûna ôciâgnâê ftp-em z mojej Amigi: ftp 148.81.83.81 1996 - port zmieni sië w przyszîym roku - login: ftp, cd net/, oczywiôcie o ile moja Ami pracuje i jest aktualnie w sieci, bo to zmienia sië z godziny na godzinë).

Telnet i terminal:

Mamy do dyspozycji shellowy telnet, który jest dokîadnâ kopiâ programów Unixowych oraz napsaterm, który w okienku emuluje terminal vt100 - dziëki temu moûna zdalnie odpaliê np. IRCa pod Unixem.

FTP:

Tu mamy duûe pole manewru: dostëpny jest shellowy ftp (identyczny jak ftp-y Unixowe), ncftp - ulepszona wersja ftp, AmiFTP, MuiFTP, GuiFTP - wersje okienkowe, notabene bardzo przyjemne: majâ moûliwoôê np. zapamiëtywania hostów, rozpoznawania plików itp.

Mail:

Tu sprawa wyglâda gorzej, jeûeli nie odbieramy poczty bezpoôrednio na Amidze (bo wtedy musiaîaby byê non stop wîâczona do sieci) - naleûy skorzystaê z POP clienta i odbieraê pocztë na jakimô serwerze Unixowym, który ma zainstalowanego POP daemona. Z takich programików znam dwa: AirMail (miîy i wygodny... tylko strasznie sië wiesza) oraz NetMail (nie wiesza sië, ale jest strasznie powolny, bo napisany w Arexxie!).

IRC:

Standardem jest na razie Grapevine - wygodny, okienkowy (do dziesiëciu okienek na raz), pozwalajâcy na korzystanie z prostych skryptów w Arexxie; poza tym jaka to przyjemnoôê wykopaê kogoô z kanaîy za pomocâ ikonki z narysowanym butem:-) W trakcie produkcji sâ jeszcze dwa inne: mirc i AmIrc, ale to na razie wersje beta i nie sâ najlepsze. Grapewine pozwala oprócz tego na korzystanie z dcc-a w sposób naprawdë bardzo wygodny. Gîówna wada w porównaniu z wersjâ Unixowâ: nie ma tak rozbudowanych skryptów i na razie nie ma moûliwoôci napisania takowych. BTW noszë sië z zamiarem napisania bota na amigë :-)

Mosaic:

Jest przeglâdarka w wersjach 1.0 i 2.0(beta). Niestety, nie umoûliwia interpretacji nowszych wersji HTML-a. Innymi sîowy: wyglâda to znacznie gorzej niû netscape :-( Jest takûe lynx (przeglâdarka tekstowa).

Gopher:

Jest. Mam. Nie zdâûyîem jeszcze rozpakowaê (od póî roku :-)

NFS:

Jest to piëkna rzecz! Majâc NFS-a moûna stworzyê sobie urzâdzenie na Amidze, które bëdzie systemem (raczej czëôciâ systemu) plików na serwerze wyposaûonym w NFS-serwera. Np. moûna stworzyê urzâdzenie AMINET:, które bëdzie aminetem na wuarchiwe.wustl.edu i przegrywaê sobie pliki z aminetu Directory Opusem :-)

Inne:

Maîa rzecz, a cieszy: synclock - programik synchronizujâcy pracë zegara w Amidze z dowolnym serwerem Unixowym, przydatny szczególnie dla tych, którzy nie majâ podtrzymywanego bateryjnie zegara; archie, prawie okienkowy; masa rozkazów Unixa: ping, finger, traceroute, talk itp.; adt do przeglâdania aminetu w wersji "normalnej" i pod MUI i wiele innych.

Dla programistów (ale nie dla koderów):

Z AmiTCP dostarczone sâ headery i liby niezbëdne dla kaûdego, kto chciaîby napisaê jakikolwiek program wykorzystujâcy sieê. Uûywanie ich nie bëdzie trudne dla osobnika, który programowaî juû kiedyô sockety i temu podobne ustrojstwa pod Unixem. Zarëczam, ûe jest to idealnie podobne - programy unixowe naprawdë wymagajâ niewielu zmian, aby przekompilowaê je na Amidze (to teû zaleûy które). Do dyspozycji mamy nawet RPC i to tak podobne do SunRPC, ûe nawet przykîady sâ po prostu IDENTYCZNE, jak te Sunowskie.

Na koniec jeszcze najciekawsze: pod AmiTCP moûna postawiê daemony! Dla tych co nie wiedzâ: daemon jest to program, który zezwala np. na ftp-owanie sië na naszâ maszynë. Moûna wiëc postawiê sobie site'a na swojej Ami, oczywiôcie tylko z legalnym oprogramowaniem, udostëpniê szerokiej rzeszy publicznoôci wytwory swojej chorej wyobraúni... UWAGA: korzystanie z jakichkolwiek daemonów (szczególnie telnetd) stwarza niebezpieczeïstwo wîamu na Twojâ amigë! Najlepiej skorzystaê z usîug multiusera, jest to stosunkowo bezpieczne i nie slyszaîem, ûeby ktoô wîamaî sië zdalnie na taki system (nawet crack nie pomoûe, bo multiuser inaczej zapisuje hasîa :-). Z ftp-daemonów najlepszy jest Wu-ftpd, który ma ogromne moûliwoôci konfiguracji (RTFM) i nawet bez multiusera gwarantuje spore bezpieczeïstwo - instalacja i konfiguracja jest bardzo dobrze opisana w instrukcji i nie bëdë sië nad nimi rozwodziî. Jeûeli chodzi o telnet-daemony... to jest juû niebezpieczna zabawka: system Amigi nie jest niestety zabezpieczony w ûadnym stopniu przed grzebaniem po dowolnych miejscach w pamiëci, nie ma wywîaszczania procesów, wiesza sië czësto, tak wiëc raczej nie ma sensu odpalaê zewnëtrznie shella... ale ja osobiôcie nie wytrzymaîem i musiaîem to zrobiê: jest to naprawdë wspaniaîe uczucie, kiedy sië pracuje z gRZYBA na uczelni zdalnie na mojej Amidze :-) BTW: wpuôciîem znanego w pewnych krëgach RomeoADa w ten sposób na mój komputer i zaraz zaczëîy mi sië wyôwietlaê róûne ciekawe obrazki :-) Ale do rzeczy: telnet daemona instalujemy wg. instrukcji, tzn. w katalogu AmiTCP:serv/ i do pliku AmiTCP:db/inetd.conf dopisujemy:

 telnet stream tcp nowait root amitcp:serv/telnetd

Nastëpnie tworzymy plik AmiTCP:db/shells, np.:

 NewShell
 NewCli
 Cli
 Shell

A potem AmiTCP:db/remote-startup, np:

 NoReq
 cd $home
 prompt
 alias exit endshell

Jeszcze potem modyfikujemy passwd, np.:

 root|x|0|0|Grych Wielki|dh2:users/Root|nologin
 smash|x|100|1|Smash|dh2:users/smash|nologin
 grych|BLABLA|102|1|Grych|Data:Users/grych|*NewShell * from 
                                   Amitcp:db/remote-startup
 ftp|x|2|0|Anonymous FTP user|site:|nologin

I do tego systemu ma dostëp tylko user o nazwie grych. Ale rozpisaîem sië o telnet-daemonie (thx 2 _Jedi_ 4 help), ale jak zrobiê, aby moûna byîo dostaê sië z zewnâtrz do mojego systemu, podczas gdy ja nie mam adresu IP (bo mam emulowanego SLIP-a)? Korzystajâc ze slirpa jest to bardzo proste: wykorzystuje sië redirectowanie (przekierowywanie) portów na danym systemie. Zaîóûmy, ûe jestem podîâczony do serwera o nazwie crude.riviera.pw.edu.pl i chcë, ûeby inni mogli korzystaê z mojej przebogatej kolekcji rysunków Monstera. Wybieram sobie jakiô port (liczba wiëksza niû 1500 mniej wiëcej) i edytujë (na UNIXIE!) plik .slirprc tak, aby zawieraî linijkë:

 redirect 1996 21

albo podobnie (zapomniaîem) - wszystko jest îadnie wytîumaczone w instrukcji. Wtedy wszystkie paczki przychodzâce na crude.riviera.pw.edu.pl na port 1996 bëdâ odsyîane na mojâ Amigë na port 21 czyli port FTP-a! Wystarczy, ûe bëdë miaî wîâczonego ftp-daemona, aby móc dostaê sië do mojej Amigi ftp-em poprzez polecenie ftp crude.riviera.pw.edu.pl 1996. Tak samo sprawa ma sië z telnetem - naleûy zredirectowaê dowolnie wybrany port crude'a na mój port 23 i juû.

Grych / GDC & #AmigaPL
tgryszk@alfa.ire.pw.edu.pl

PS. Zdajë sobie sprawë, ûe ten tekst tylko poruszyî wierzchoîek góry lodowej... Ale na poczâtek wystarczy. Mam nadziejë, ûe bëdzie mniej problemów z AmiTCP.

PPS. Thx dla wszystkich, którzy pomogli mi w rozpracowaniu AmiTCP, w szczególnoôci _Jedi_ (za help w telnet-daemonie) i MassacRE (on wymyôliî redirectowanie) i dla wszystkich znajomych z #amigapl, szczególnie dla uczestników Virtual Party I:-))).