![]() |
![]() |
![]() |
||||||||||
![]() |
||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() 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:
1. Zainstalować coreutils-m68k-bin.lha wykonując kolejno czynności:
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.
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. ![]() 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 ![]() 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ć. |