BOING! :) ... Pekdar! :)
...
...
Nowości! Amiga - Recenzje i opisy programów, sprzętu, gier i inne... Astronomia to świetne hobby! Engine3D - Quake, Doom II, Descent I, II, FreeSpaces, Heretic... itd. Informatyka - 1011000101001 Krótkofalarstwo - Jak mnie wciągło...=:) Gościli... Linux Debian m68k - Opis instalacji, moje boje itp. =:) Linki do ciekawych stron Macintosh - Udawany Jabol, opisy gier i programów Packet Radio - Amatroska sieć Krótkofalarska


Wspierane systemy:  Amiga OS3.xData i czas utworzenia: 2013-02-16  16:39:05
tytuł: Genesis, LAN i klient DHCP

napis


ikonaGenesis jako systemowy stos TCP/IP w Amiga OS3.9 spełnia moje oczekiwania. Jest szybki, szybszy od Miami i świetnie to widać w zestawieniu obu stosów podczas użytkowania ich w sieci LAN, szczególnie gdy kopiujemy większe pliki po FTP. Wartością dodaną jest fakt że standardowo Genesis już jest w systemie. Mało tego od jakiegoś czasu AmiTCP v3 jest darmowe! więc można śmiało zastosować ten pakiet stosu TCP/IP w systemach 3.x. Warto wspomnieć że MiamiDx już nie jest dostępne i nie można kupić klucza do tego programu, to powoduje że Genesis czy AmiTCP v3.x tym bardziej wydaje się być właściwym wyborem oprogramowania, do obsługi sieci na Amidze.

Genesis (według mnie) ma tylko jedną zasadniczą wadę, gdy zastosujemy go w sieciach LAN. Pakiet standardowo nie ma klienta protokołu DHCP w obsłudze sieci LAN. Można ustawić całą konfigurację IP statycznie o ile wiemy jaka ma być. W sytuacji gdy podłączamy Amigę do sieci LAN, gdzie obsługą konfiguracji IP sieci zajmuje się protokół DHCP osadzony na jakimś serwerze / routerze, wtedy mamy problem. Można zapytać admina (jeżeli jest dostępny) o konfigurację IP tajże sieci, z reguły admin jest niedostępny. Można zapytać kogoś obok siedzącego (np. na SACP) jaką ma konfigurację IP i próbować wpasować się losując wolny adres IP. Pół biedy jak trafimy w wolny adres, ale jak trafimy w IP siedzącego obok.... wtedy sąsiada pięść trafia w nasze oko.... co nie znaczy że ja taki przypadek miałem.

Brak klienta DHCP w Genesis osobiście irytowało mnie to do tego stopnia, że potraktowałem temat bardzo ambiwalentnie. Przeczesałem zasoby aminetu, zebrałem wszystko co jest dostępne i spełnia funkcję klienta DHCP, przy tym wspiera Genesis lub AmiTCP v3+ i przetestowałem dostępne rozwiązania.

Niestety żadne nie było w pełni funkcjonalne i wygodne w użyciu na tyle, aby bez problemu móc go używać. Zawsze któryś program miał jakieś "ale" i powodował zawieszenie systemu, lub nie działał w ogóle. Po wielu próbach i testach tylko jedno rozwiązanie z aminetu okazało się warte uwagi mimo swoich niedoskonałości. Nie zawsze chciało działać i często powodowało zawieszenie systemu. Po przeanalizowaniu problemów i wykonaniu kolejnych testów okazało się, że jest możliwość ustabilizowania pracy klienta DHCP po kilku drobnych przeróbkach zawartego w nim skryptu shell.

Całą obsługę klienta DHCP musiałem wykonywać z poziomu AmigaDOS-u, konfigurując interfejs, routing, itd. Na krótką metę, w kółko można klepać wiele komend, aby móc uruchomić klienta DHCP bez zawieszania systemu. Jednak po dłuższym czasie zaczyna to solidnie irytować.

Wtedy zrodził się w mojej głowie pomysł, aby oprogramować klienta DHCP tak, by Genesis lub AmiTCP samodzielnie obsługiwało wykonywanie szeregu czynności potrzebnych do realizowania potrzebnych funkcjonalności protokołu DHCP za pomocą owego klienta DHCP.

Tak powstało kilka skryptów AREXX-a i innych, które realizują dokładnie moje "klepane" potrzeby w konsoli AmigaDOS-u do znudzenia. Teraz wszystko robi się samo :) - plik w aktualnej wersji do pobrania tu.

Jak to działa....?
Połączenie - Gdy uruchomisz interfejs "dcp" (konfiguracja Genesis) ten uruchomi parę skryptów, które podczas działania wyświetlają komunikaty z informacją co się dzieje. Skrypt online.rexx przygotuje interfejs sieciowy, routing i inne potrzebne funkcje aby następnie uruchomić klienta DHCP. Gdy wykona wymienione czynności z powodzeniem to zakończy pracę i uruchomi się kolejny skrypt online_status.rexx, który sprawdzi czy klient DHCP pobrał konfigurację IP. Jeżeli wszystko wykona się poprawnie, na koniec działania drugiego skryptu w oknie requestera zobaczysz podsumowanie Twojej nowej konfiguracji IP. Te informacje mogą być przydatne jeżeli chcesz poznać nadany Amidze adres IP, bramę itp. przez serwer DHCP.

Rozłączenie - gdy klikniesz rozłącz, zostanie uruchomiony skrypt offline.rexx, który zakończy pracę klienta dhcp i uprzątnie zbędne dane po jego działalności. Jeżeli wystąpi jakikolwiek błąd lub problem, zostaniesz o tym poinformowany. Wystarczy uważnie czytać komunikaty w oknie CLI oraz oknach request, będą tam wskazówki co działa źle i jakie podjąć działania aby rozwiązać problem.

Wymagania do działania:
Aby wszystko zadziałało trzeba mieć zainstalowane następujące oprogramowanie: Instalacja - za pomocą dołączonego instalatora (polecam wersję NewInstaller) lub ręczna, którą należy przeprowadzić w następujący sposób:

1. Zainstalować coreutils-m68k-bin.lha wykonując kolejno czynności:
  • Utwórz katalog SYS:GeekGadget (makedir SYS:GeekGadget)
  • Rozpakuj archiwum coreutils-m68k-bin.lha do RAM: lub w inne tymczasowe miejsce np.: T:
  • Z katalogu coreutils-bin/core-bin-/ skopiuj kolejno wszystkie katalogi wraz zawartością do SYS:GeekGadget/
2. Zainstalować ixemul-63.1-m68k.lha wykonując następujące czynności:
  • Rozpakuj archiwum ixemul-63.1-m68k.lha do RAM: lub w inne tymczasowe miejsce np.: T:
  • Z katalogu ixemul_63.1_m68k/ skopiuj katalog etc wraz zawartością do SYS:GeekGadget/, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
  • Z katalogu ixemul_63.1_m68k/ skopiuj katalog lib wraz zawartością do SYS:GeekGadget/, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
  • Z katalogu ixemul_63.1_m68k/ skopiuj katalog man wraz zawartością do SYS:GeekGadget/, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
  • Z katalogu ixemul_63.1_m68k/Sys/l/ skopiuj plik ixpipe-handler do SYS:L, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
  • Z katalogu ixemul_63.1_m68k/Sys/libs/ skopiuj wszystkie biblioteki do SYS:Libs, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
  • Z katalogu ixemul_63.1_m68k/Sys/prefs/ skopiuj wszystkie pliki do SYS:Prefs, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
3. Zainstalować grep.lha, wykonując następujące czynności:
  • Rozpakuj archiwum grep.lha do RAM: lub w inne tymczasowe miejsce np.: T:
  • Skopiuj plik grep do SYS:C/, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
4. Zainstalować ATT-awk-1_0.lha, wykonując następujące czynności:
  • Rozpakuj archiwum ATT-awk-1_0.lha do RAM: lub w inne tymczasowe miejsce np.: T:
  • Z katalogu ATT-awk-1_0.lha/AT&T-awk/ skopiuj plik awk do SYS:C/, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
5. Zainstalować sh-utils-2.0.lha, wykonując następujące czynności:
  • Rozpakuj archiwum sh-utils-2.0.lha do RAM: lub w inne tymczasowe miejsce np.: T:
  • Z katalogu sh-utils-2.0/bin/ skopiuj pliki do SYS:GeekGadget/bin/, jeżeli pojawi się komunikat że zostaną nadpisane jakieś pliki, potwierdź.
5.1 Zainstalować powłokę Shell wykonując następującą czynność:
  • Z katalogu bin/ (archiwum klienta dhcp) skopiuj plik "sh" do SYS:GeekGadget/bin/.
6. Sprawdź czy w katalogu SYS:C/ znajdują się systemowe polecenia Wait i Status.
7. Czas poprawnie skonfigurować Geek Gadget a szczególnie zwrócić uwagę na poprawnie wykonane przypisy w s:user-startup takie jak np:

;BEGIN GeekGadget
assign gg: SYS:GeekGadget
assign bin: SYS:GeekGadget/bin
assign etc: SYS:GeekGadget/etc
assign tmp: SYS:GeekGadget/tmp
assign var: SYS:GeekGadget/var
path bin: add
set TERM amiga
;END GeekGadget

8. Skopiować dhcp/bin/dhclient... (odpowiedni dla Twojego procesora) do bin: i zmienić nazwę na dhclient.
9. Skopiować oba pliki z dhcp/etc/... do bin:etc/...
10. Założyć katalogi SYS:GeekGadget/tmp (makedir SYS:GeekGadget/tmp), SYS:GeekGadget/var (makedir SYS:GeekGadget/var) i SYS:GeekGadget/var/run (makedir SYS:GeekGadget/var/run).
11. Założyć katalog AmiTCP:rexx i skopiować do niego wszystkie pliki z rexx/...
12. Sprawdź czy komendy: sh, rm, cp, echo znajdują się w bin: , jeżeli którejś nie ma, trzeba doinstalować.
13. Wykonaj kopię zapasową całego Genesis/AmiTCP.

14. W GenesisPrefs stwórz nowy interfejs o nazwie dcp. Ustaw statyczny adres IP na: 10.10.10.10 a pozostałe (docelowy:, Bramka:, Maska sieci: ) pozostaw stan dynamiczny/domyślny.
Preferencje Genesis - nowy interfejs
15. W zakładce SANA-II wybierz stosowny sterownik dla twojej karty sieciowej.
Preferencje Genesis - sterownik karty sieciowej
16. Na zkładce Usługi wyłącz wszystkie funkcje, jeżeli jest coś włączone.
Genesis Prefs - Usługi
17. Na zakładce Zdarzenia, ustaw Połączenie dalej kliknij w Dodaj, ustaw Typ na Skrypt Arexx-a i w polu wpisz: AmiTCP:rexx/online.rexx , ponownie kliknij w Dodaj i powtórz kroki ale zamiast online.rexx wpisz online_status.rexx
Genesis Prefs - Zdarzenia
18. Na zakładce Zdarzenia, ustaw rozłączenie aktywne i ponownie kliknij w Dodaj, typ: Skrypt Arexx'a a w polu wpisz: AmiTCP:rexx/offline.rexx , Powtórz dokładnie wszystko tak samo ale dla funkcji rozłączenie pasywne z listy wyboru. Zakończ klikając w OK i dalej zapisz konfigurację nowego interfejsu.
Genesis Prefs - zakładka Zdarzenia
19. Koniec instalacji.

Jeżeli wszystkie punkty wykonałeś poprawnie a przede wszystkim, poprawnie zainstalowałeś wszystkie wymagane archiwa i wykonałeś przypisy, możesz uruchomić połączenie. Kliknij w przycisk Połącz Genesis i zobacz czy na końcu całej procedury połączenia pojawi się okno z podsumowaniem konfiguracji IP. Konfiguracja IP



Jeżeli widzisz adres IP inny niż 0.0.0.0 tzn. że działa.



Najprościej jest upewnić się, czy aby napewno połączenie działa wykonując np.: ping wp.pl
ping wp.pl
Jeżeli cokolwiek poszło źle, sprawdź jeszcze raz instalację poszczególnych programów jak i całą konfigurację Genesis. Ostatecznie, jeżeli już wszystko sprawdziłeś dwa razy i jesteś pewien że wszystko wykonałeś dobrze, a mimo to nadal nie działa, to ostatecznie wygeneruj log za pomocą programu SnoopDOS i podeślij do mnie, w wolnej chwili może będę w stanie pomóc.


Na koniec
Stawiam pierwsze kroki w AREXX-ie i zdaję sobie sprawę z tego, że napewno można było lepiej zaprogramować potrzebną funkcjonalność pomijając większość zależnych programów. GeekGadgets oraz ixemul są konieczne, tego wymaga sam klient DHCP i tego nie ominę. Jest to pierwsze małe oprogramowanie jakie napisałem i mogę udostępnić. Mam nadzieję, że okaże się przydatne nie tylko mnie.

Odpowiedzialność
Nie biorę żadnej odpowiedzialności za działanie niniejszego oprogramowania i ewentualne szkody jakie może wyrządzić.

Powrót


Autor: Pekdar


Kontakt