Linux AX25-HOWTO, Radio Amatorskie. Terry Dawson, VK2KTJ, terry@perf.no.itg.telecom.com.au. v1.4, 2 Marca 1997. BBeenneeddiicctt PP.. BBaarrsszzcczz,, KKBB22QQZZVV ppoosseeiiddoonn@@zziipplliinnkk..nneett -- tt³³uummaacczzee nniiee nnaa ppoollsskkii,, ww11..44.. DDaattaa tt³³uummaacczzeenniiaa:: 2288 kkwwiieettnniiaa,, 11999977.. System Operacyjny Linux jest chyba jedynym na ¶wiecie systemem opera cyjnym, który szczyci siê standardow± i rodzim± obs³ug± protoko³u AX.25 dla packet radio u¿ywanego przez operatorów Radia Amatorskiego po ca³ym ¶wiecie. Dokument ten jest po¶wiêcony temu jak zainstalowaæ i skonfigurowaæ tê obslugê. ______________________________________________________________________ Table of Contents: 1. Wstêp 1.1. Zmiany w stosunku do poprzednich wersji 1.2. Inne dokumentacje na ten temat 2. Gdzie znale¼æ najnowsz± wersjê tego dokumentu 3. Protoko³y dla Packet Radio a Linux 3.1. Jak to wszystko dzia³a? 4. Sk³adniki oprogramowania AX.25/NetRom. 4.1. Gdzie znale¼æ j±dro, narzêdzia i zespó³ programów narzêdziowych? 4.1.1. ¬ród³a j±dra 4.1.2. Narzêdzia sieciowe 4.1.3. Programy narzêdziowe AX.25 5. Instalacja oprogramowania AX.25/NetRom. 5.1. Kompilacja j±dra. 5.1.1. Co jest nowego w j±drach 2.0.*+ModuleXX i 2.1.* ? 5.2. Narzêdzia do ustawiania sieci 5.2.1. Budowa standardowej wersji net-tools. 5.3. Pogramy narzêdziowe AX.25 6. Najpierw o znakach radioamatorkich , adresach, itp. 6.1. Czym s± owe T1, T2, T3 i inne rzeczy? 6.2. Parametry, które daj± siê konfigurowaæ w trakcie pracy. 7. Konfigurowanie portu AX.25. 7.1. Jak utworzyæ plik /etc/ax25/axports? 7.2. Jak utworzyæ interfejsy sieciowe AX.25? 7.2.1. Jak do³±czyæ urz±dzenie KISS? 7.2.1.1. Konfigurowanie urz±dzeñ TNC o dwóch portach. 7.2.2. Jak doczepiæ urz±dzenie Baycom 7.2.3. Jak ustawiæ parametry dostêpu do kana³u AX.25? 7.2.4. Jak doczepiæ urz±dzenie D¼wiêkoModem? 7.2.4.1. Konfigurowanie karty d¼wiêkowej. 7.2.4.2. Jak ustawiæ interfejs D¼wiêkoModemu? 7.2.4.3. Jak ustawiæ parametry dostêpu do kana³u AX.25? 7.2.4.4. Ustalenie poziomu audio i dostrojenie sterownika 7.2.4.5. Przygotowanie czê¶ci AX.25 j±dra do wykorzystania D¼wiêkoModemu. 7.2.5. Jak do³aczyæ urz±dzenie z kart± PI? 7.2.6. Jak doczepiæ urz±dzenie z kart± PacketTwin. 7.2.7. Jak doczepiæ generyczne urz±dzenie SCC? 7.2.7.1. Gdzie uzyskaæ i jak zbudowaæ pakiet do narzêdzi konfiguracyjnych? 7.2.7.2. Jak skonfigurowaæ sterownik do twojej karty? 7.2.7.2.1. Ustawienie parametrów sprzêtu. 7.2.7.3. Konfiguracja kana³u. 7.2.7.4. U¿ywanie sterownika. 7.2.7.5. Narzêdzia 'sccstat' oraz 'sccparam'. 7.2.8. Jak utworzyæ urz±dzenie BPQ z ethernetem? 7.2.9. Ustawienie wêz³a BPQ do wspó³pracy z obs³ug± AX.25 pod Linuxem. 7.3. Ustawienie parametrów operacyjnych dla interfejsu AX.25 7.4. Ustawieniu routingu AX.25. 8. Ustawianie interfejsu AX.25 do pracy w TCP/IP. 9. Ustawienie portu dla NetRom. 9.1. Edycja pliku /etc/ax25/nrports 9.2. Ustawienie pliku /etc/ax25/nrbroadcast 9.3. Jak utworzyæ interfejs sieciowy dla NetRom. 9.4. Odpalenie demona NetRom. 9.5. ustawienie routingu dla NetRom 10. Ustawienie interfejsu NetRom dla pracy w TCP/IP. 11. Ustawienie portu Rose 11.1. Ustawienie pliku /etc/ax25/rsports. 11.2. Jak doczepiæ sieciowy interfejs Rose? 11.3. Ustawienie routingu dla Rose. 12. £±czno¶ci AX.25/NetRom/Rose. 13. Ustawienie Linuxa do przyjmowania ³±czno¶ci. 13.1. Edycja pliku /etc/ax25/ax25d.conf. 13.2. Prosty przyk³ad pliku ax25d.conf file. 13.3. Uruchamianie demona ax25d. 14. Ustawienie wêz³a. 14.1. Utworzenie pliku /etc/ax25/node.conf. 14.2. Utworzenie pliku /etc/ax25/node.perms. 14.3. Ustawienie wêz³a, aby by³ uruchamiany z ax25d. 14.4. Ustawienie wêz³a, aby by³ uruchamiany z 'inetd'. 15. Ustawienie programu axspawn. 15.1. Utworzenie pliku /etc/ax25/axspawn.conf. 16. Ustawienie PMS. 16.1. Utworzenie pliku /etc/ax25/pms.motd. 16.2. Utworzenie pliku /etc/ax25/pms.info. 16.3. Kojarzenie znaków AX.25 z kontami u¿ytkowników 16.4. Dodanie PMS do pliku /etc/ax25/ax25d.conf. 16.5. Sprawdzenie PMS'a 17. Ustawienie programów user_call. 18. Kojarzenie znaków AX.25 z kontami u¿ytkowników Linuxa. 19. Jak po³±czyæ sieciowe oprogramowanie NOS z j±drem linuxa? 19.1. £±czenie NOS-a i Linuxa za pomoc± 'fajki'. 20. Zapisy w pliku /proc. 21. Przyk³adowe konfiguracje. 21.1. Ma³a sieæ z linuxem jako routerem dla lokalnej sieci radiowej 21.2. Konfiguracja przyk³adowa dla bramki z enkapsulacj± IPIP. 22. Programowanie warstwy sieciowej AX.25, NetRom i Rose. 22.1. Rodziny adresów. 23. Pliki nag³ówkowe. 23.1. Kwestia znaków i przyk³ady. 24. Dyskusja zwi±zana z Radiem Amatorskim i Linuxem. 25. Podziêkowania. 26. Prawa autorskie. 27. Od t³umacza. 27.1. Podziêkowania. ______________________________________________________________________ 11.. WWssttêêpp Dokument ten by³ pocz±tkowo za³±cznikiem do HAM-HOWTO ale urós³ za bardzo, aby mo¿na go by³o w ten sposób nadal pisaæ. Dokument ten opisuje w jaki sposób zainstalowaæ i skonfigurowaæ rodzim± obs³ugê protoko³ów AX25, NetRom oraz Rose na Linuxie. Podano tutaj kilka typowych konfiguracji, które mog± pos³u¿yæ jako model do dalszej pracy. Wersje protoko³ów radia amatorskiego pod Linuxem s± bardzo elastyczne. Dla ludzi, którzy nie s± zbytnio zapoznani z systemem operacyjnym Linux proces konfiguracji wydawaæ siê mo¿e uci±¿liwy i skomplikowany. Zajmie ci to trochê czasu zanim zrozumiesz w jaki sposób wszystko ze sob± pasuje. Konfiguracja jest bardzo trudna je¶li wpierw nie zapoznasz siê z Linuxem ogólnie. Nie oczekuj, ¿e uda ci siê przej¶æ z jakiego¶ ¶rodowiska do Linuxa bez zapoznania siê uprzednio z samym Linuxem. 11..11.. ZZmmiiaannyy ww ssttoossuunnkkuu ddoo ppoopprrzzeeddnniicchh wweerrssjjii DDooddaattkkii.. do³±czy³em informacje o ³atce dla modu³ów. Doda³em parê ogólnych informacji o strukturze j±dra. PPoopprraawwkkii.. Poprawi³em konfiguracje ax25d - podziêkowania dla John Tanner, VK2ZXQ. Poprzestawia³em mnóstwo rzeczy, powinno teraz byæ bardziej logicznie. DDoo zzrroobbiieenniiaa.. Poprawiæ sekcjê o SCC, obecna jest chyba z³a. Rozwin±æ sekcjê programowania. Dodaæ odno¶niki do dokumentacji ¼róde³ AX25 i NetRom. 11..22.. IInnnnee ddookkuummeennttaaccjjee nnaa tteenn tteemmaatt Jest wiele zwi±zanych z tym tematem dokumentów. Jest sporo dokumentów traktuj±cych o sprawach sieciowych pod Linuxem w sposób bardziej ogólny, które bardzo polecam poniewa¿ pomog± ci one w twoich wysi³kach i dadz± ci g³ebszy wgl±d w inne mo¿liwe konfiguracje. Oto one: HAM-HOWTO <http://sunsite.unc.edu/LDP/HOWTO/HAM-HOWTO.html> Ethernet-HOWTO <http://sunsite.unc.edu/LDP/HOWTO/Ethernet-HOWTO.html> NET-3-HOWTO <http://www.ippt.gov.pl/~ppogorze/JTZ/html/NET-3-HOWTO.pl.html> 22.. GGddzziiee zznnaallee¼¼ææ nnaajjnnoowwsszz±± wweerrssjjêê tteeggoo ddookkuummeennttuu Najlepszym miejscem do znalezienia ostatniej wersji tego dokumentu jest Archiwum Linux Documentation Project. Linux Documentation Project prowadzi Web Server i dokument niniejszy pojawia siê tam jako The AX25-HOWTO <http://sunsite.unc.edu/LDP/HOWTO/AX25-HOWTO.html>. Mo¿esz te¿ skontaktowaæ siê ze mn± ale zwykle przekazujê ostatnie wersje tego dokumentu koordynatorowi projektu LDP, wiêc je¶li go tam nie ma to s± du¿e szanse, ¿e jeszcze go nie skoñczy³em. 33.. PPrroottookkoo³³yy ddllaa PPaacckkeett RRaaddiioo aa LLiinnuuxx Protokó³ _A_X_._2_5 oferuje dwa tryby operacji: connected i connectionless. U¿ywany jest albo do po³±czeñ typu stacja-do-stacji albo jako medium dla innych protoko³ow takich jak TCP/IP lub NetRom. Podobny jest w swej strukturze do X.25 level 2 z pewnymi modyfikacjami, które czyni± go bardziej u¿ytecznym do pracy w ¶rodowisku radia amatorskiego. Protokó³ _N_e_t_R_o_m jest prób± pe³nego protoko³u sieciowego i w swej najni¿szej warstwie u¿ywa AX.25 jako protoko³u typu datalink. Dostarcza on sieciowej warstwy, która jest adaptowan± form± AX.25. Protokó³ NetRom cechuje siê dynamicznym routingiem, posiada te¿ funkcjê pseudonimów dla wêz³ów. Protokó³ _R_o_s_e zosta³ wynaleziony i po raz pierwszy zastosowany przez Tom'a Moulton, W2VY, i jest wariacj± protoko³u X.25 w warstwie packet. Pomy¶lany jest tak, ¿e AX.25 jest jego warstw± typu datalink. Sam równie¿ dostarcza warstwê sieciow±. Adresy Rose przyjmuj± formê 10 cyfrowych numerków. Pierwsze cztery cyfry stanowi± Data Network Identification Code (DNIC) i wziête zosta³y z za³±cznika B z zaleceñ CCITT X.121. Wiêcej informacji na temat protoko³u Rose mo¿na uzyskaæ z Serwera RATS. Pocz±tkowo, wczesne oprogramowanie AX.25 wspó³pracuj±ce z j±drem Linuxa wypracowa³ Alan Cox. Nastêpnie Jonathon Naylor przej±³ rozwijaj±cy siê projekt dodaj±c ob³ugê NetRomu i Rose; obecnie on w³a¶nie zajmuje siê opracowywaniem ¼róde³ AX.25 wspó³pracujego z j±drem Linuxa. DAMA zosta³o napisane przez Joerg Reuter. Obs³ugê karty d¼wiêkowej jako modemu oraz modem Baycom doda³ Thomas Sailor. Programy narzêdziowe AX.25 s± obecnie prowadzone przeze mnie. Linux obs³uguje TNC w trybie KISS (Terminal Node Controllers), kartê Ottawa PI, kartê Gracillis PacketTwin oraz inne oparte na scalaku SCC Z8530, modem Baycom zarówno seryjny jak i równoleg³y. Nowy, od Tomasza, sterownik D¼wiêkoModemu obs³uguje karty d¼wiêkowe SoundBlaser oraz te zbudowane w oparciu o Crystal chipset. Programy u¿ytkownika zawieraj± prosty PMS (Personal Message System), program latarnie, liniowy program 'call' do po³aczeñ, 'listen' przyk³adowy program do uchwycenia surowych ramek AX.25 na poziomie interfejsu, oraz programy do konfiguracji NetRomu. Za³±czono równie¿ program, ktory jest jakby serwerem AX.25 przechwytuj±cym i rozprowadzaj±cym wchodz±ce po³±czenia; jest te¿ demonik dla NetRomu, który wykonuje ca³± czarn± robotê dla obs³ugi protoko³u NetRom. 33..11.. JJaakk ttoo wwsszzyyssttkkoo ddzziiaa³³aa?? AX.25 pod Linuxem jest zupe³nie now± implementacj±. Choæ na pozór wygl±da podobnie do NOS, BPQ lub innych implementacji AX.25 to jednak nie przypomina ¿adnej z nich ani nie jest identyczn± z ¿adn± z nich. AX.25 pod Linuxem mo¿na skonfigurowaæ tak, ¿e bêdzie zachowywaæ siê niemal¿e tak jak inne implementacje AX.25 ale proces konfiguracyjny jest bardzo odmienny. Aby dopomóc ci w sposobie my¶lenia przy konfigurowaniu, sekcja ta stara siê wyja¶niæ niektóre strukturalne cechy AX.25 oraz umieszcza je w ogólnej strukturze Linuxa. UUpprroosszzcczzoonnyy sscchheemmaatt wwaarrssttww pprroottookkoo³³óóww ssiieecciioowwyycchh. ----------------------------------------------- | AF_AX25 | AF_NETROM | AF_INET | AF_ROSE | |=========|===========|=============|=========| | | | | | | | | TCP/IP | | | | ---------- | | | | NetRom | | Rose | | ------------------------------------- | AX.25 | ----------------------------------------------- Schemat ten ilustruje poprostu, ¿e NetRom, TCP/IP i Rose wszystkie razem rezyduj± na protokole AX.25 ale ¿e ka¿dy z nich traktowany jest osobno u poziomu programowania na interfejsie. Nazwy 'AF' to nazwy nadawane dla _A_d_d_r_e_s_s _F_a_m_i_l_y ka¿dego z tych protoko³ów podczas pisania dla nich programów. Wa¿ne tutaj jest to, ¿e konfiguracja urz±dzenia AX.25 kluczowo wp³ywa na to jak bêd± konfigurowane NetRom, Rose oraz TCP/IP. SScchheemmaatt mmoodduu³³óóww ww iimmpplleemmeennttaaccjjii ssiieecciioowweejj LLiinnuuxxaa ---------------------------------------------------------------------------- User | Programs | call node || Daemons | ax25d mheardd | | pms mheard || | inetd netromd ---------------------------------------------------------------------------- | Sockets | open(), close(), listen(), read(), write(), connect() | |------------------------------------------------------ | | AF_AX25 | AF_NETROM | AF_ROSE | AF_INET |------------------------------------------------------------------ Kernel | Protocols | AX.25 | NetRom | Rose | IP/TCP/UDP |------------------------------------------------------------------ | Devices | ax0,ax1 | nr0,nr1 | rose0,rose1 | eth0,ppp0 |------------------------------------------------------------------ | Drivers | Kiss PI2 PacketTwin SCC BPQ | slip ppp | | Soundmodem Baycom | ethernet ---------------------------------------------------------------------------- Hardware | PI2 Card, PacketTwin Card, SCC card, Serial port, Ethernet Card ---------------------------------------------------------------------------- Ten schemat jest troszeczkê bardziej ogólny od pierwszego. Stara siê on ukazaæ zale¿no¶æ pomiêdzy programami narzêdziowymi, j±drem oraz sprzêtem. Pokazuje te¿ zale¿no¶æ pomiêdzy interfejsem programowania gniazd dla aplikacji, w³a¶ciwymi modu³ami protoko³ów, interfejsami sieciowymi j±dra, oraz sterownikami urz±dzeñ. Ka¿dy element schematu polega na tym elemencie, który jest poni¿ej niego samego i konfigu racjê trzeba rozpoczynaæ od samego do³u w górê. Wiêc dla przyk³adu, je¶li chesz odpalaæ program _c_a_l_l to musisz równie¿ skonfigurowaæ sprzêt, nastêpnie upewniæ siê, ¿e j±dro posiada odpowiedni sterownik urz±dzenia, dalej musisz stworzyæ w³a¶ciwy interfejs sieciowy oraz, ¿e j±dro zawiera w³a¶ciwy protokó³, który oferuje odpowiedni dla programu _c_a_l_l interfejs programowania. W takiej hierarchii stara³em siê te¿ roz³ozyæ ten dokument. 44.. SSkk³³aaddnniikkii oopprrooggrraammoowwaanniiaa AAXX..2255//NNeettRRoomm.. Oprogramowanie AX.25 sk³ada siê z trzech czê¶ci: ¼rode³ j±dra, narzêdzi do konfiguracji sieci oraz programów narzêdziowych. Wersje j±dra Linuxa 2.0.xx zawieraj± w sobie pierwotnie sterowniki dla AX.25, NetRom, dla kart Z8530 SCC, PacketTwin i Gracillis. Zosta³y one znacz±co udoskonalone w j±drach 2.1.xx. Niestety, pozosta³a czê¶æ j±dra 2.1.* czyni je bardz± chwiejnymi i nie nadaj± sie w takim stanie do za³±czenia w stabilnych wersjach j±der. Aby zaradziæ temu problemowi, Jonathon Naylor przygotowa³ zespó³ ³atek, które oblugê protoko³ów radia amatorskiego w j±drach 2.0.xx wynosz± do poziomu standardu j±der 2.1.*. Jest to bardz± ³atwe w zaaplikowaniu i wprowadza wachlarz us³ug, które s± nieobecne w standardowych j±drach, np. ob³ugê Rose. 44..11.. GGddzziiee zznnaallee¼¼ææ jj±±ddrroo,, nnaarrzzêêddzziiaa ii zzeessppóó³³ pprrooggrraammóóww nnaarrzzêêddzziioowwyycchh?? 44..11..11.. ¬¬rróódd³³aa jj±±ddrraa ¬ród³a j±dra nale¿y szukaæ w jego zwyczajnym miejscu: Obecna kopia zespo³u ³atek wed³ug Jonathon'a znajduje siê na: 44..11..22.. NNaarrzzêêddzziiaa ssiieecciioowwee Ostatnia wersja _a_l_p_h_a standardowych narzêdzi sieciowych Linuxa obs³uguje AX.25 i NetRom i mo¿na j± znale¿æ tutaj: lub ftp://ftp.linux.org.uk/pub/linux/Networking/base/net- tools-1.32-alpha.tar.gz Ostani pakiet ipfwadm mo¿na znale¼æ tu: 44..11..33.. PPrrooggrraammyy nnaarrzzêêddzziioowwee AAXX..2255 Istniej± dwie odmienne ¿y³y programów narzêdziowych AX.25. Jedna przeznaczona jest do pracy z j±drami 2.0.* a druga albo do j±der 2.1.* lub do kombinacji: j±dro 2.0.28+³atka module10. Numer wersji pakietu ax25-utils wskazuje na najstarsz± wersjê j±dra, z któr± mog± pracowaæ. Wybierz sobie tak± wersjê pakietu ax25-utils, która bêdzie pracowaæ z j±drem twojego systemu. Programy narzêdziowe dla 2.1.22 i pó¼niejszych, oraz ax25-utils+module mo¿na znale¼æ na domowej stronie Jonathon'a Naylor: ftp://ftp.cs.nott.ac.uk/jsn/ax25-utils-2.1.22b.tar.gz lub na: ftp://sunsite.unc.edu/pub/Linux/apps/ham/ax25/ax25-utils-2.1.22b.tar.gz Starsze narzêdzia, zdolne do pracy z niepo³atanym j±drem 2.0.29 nazywaj± siê ax25-utils-2.0.12c.tar.gz w tym samym miejscu. 55.. IInnssttaallaaccjjaa oopprrooggrraammoowwaanniiaa AAXX..2255//NNeettRRoomm.. Aby w sposób udany zainstalowaæ obs³ugê AX.25/NetRom na systemie Linux nale¿y skonfigurowaæ i zainstalaowaæ w³a¶ciwe j±dro a nastêpnie programy narzêdziowe AX.25. 55..11.. KKoommppiillaaccjjaa jj±±ddrraa.. Je¶li jeste¶ ju¿ zaznajomiony z kompilowaniem j±dra na Linuxie to mo¿esz pomin±æ tê sekcjê, upewnij siê tylko, ¿e wybra³e¶ w³a¶ciwe opcje dla j±dra. Je¶li nie, to czytaj dalej. Normalnie, ¼ród³a j±dra nale¿y rozpakowywaæ bêd±c w katalogu /usr/src do podkatalogu zwanego linux. Aby to uczyniæ nale¿y siê zalogowaæ jako root a nastêpnie wykonaæ takie czynno¶ci: # cd /usr/src # mv linux linux.old # tar xvfz linux-2.0.29.tar.gz # tar xvfz ax25-module-12.tar.gz # patch -p0 < /usr/src/ax25-module-12/ax25-2.0.29-2.1.22.diff # cd linux Po tym jak rozpakowa³e¶ i po³ata³e¶ j±dro, musisz odpaliæ skrypt konfiguracyjny i zaznaczyæ opcje, które odpowiadaj± uk³adowi twojego sprzêtu oraz te, które chcesz, aby by³y obecne w j±drze. Wystarczy napisaæ: # make config Je¶li wolisz metodê opart± o menu to mo¿na te¿ spróbowaæ: # make menuconfig Opiszê tutaj metodê zasadnicz±, a ty wybierz tak± jaka ci najbardziej odpowiada. W obu przypadkach zostaniesz postawiony wobec pytañ, na które trzeba odpowiedzieæ "tak" lub "nie". (Zauwa¿, ¿e mo¿na te¿ odpowiedzieæ naci¶niêciem "M" je¶li u¿ywa¿ modu³ów w Linuxie. Dla uproszczenia jednak przyjmujê, ¿e ich nie u¿ywasz, wiêc dokonaj w³a¶ciwych poprawek je¶li jest przeciwnie.) Najbardziej zasadniczymi opcjami dla skonfigurowania AX.25 s±: Code maturity level options ---> ... [*] Prompt for development and/or incomplete code/drivers ... General setup ---> ... [*] Networking support ... Networking options ---> ... [*] TCP/IP networking [?] IP: forwarding/gatewaying ... [?] IP: tunneling ... [?] IP: Allow large windows (not recommended if <16Mb of memory) ... [*] Amateur Radio AX.25 Level 2 [?] Amateur Radio NET/ROM [?] Amateur Radio X.25 PLP (Rose) ... Network device support ---> [*] Network device support ... [*] Radio network interfaces [?] BAYCOM ser12 and par96 driver for AX.25 [?] Soundcard modem driver for AX.25 [?] Soundmodem support for Soundblaster and compatible cards [?] Soundmodem support for WSS and Crystal cards [?] Soundmodem support for 1200 baud AFSK modulation [?] Soundmodem support for 4800 baud HAPN-1 modulation [?] Soundmodem support for 9600 baud FSK G3RUH modulation [?] Serial port KISS driver for AX.25 [?] BPQ Ethernet driver for AX.25 [?] Gracilis PackeTwin support for AX.25 [?] Ottawa PI and PI/2 support for AX.25 [?] Z8530 SCC KISS emulation driver for AX.25 ... Opcje, które oznakowa³em jako '*' to te, na które musisz odpowiedzieæ 'Y' - tak. Reszta jest zale¿na od sprzêtu, jaki posiadasz oraz od opcji, które sobie ¿yczysz. Niektóre z tych opcji s± opisane trochê po¼niej, wiêc je¶li nie wiesz jeszcze czego chcesz to czytaj dalej a potem tutaj wróæ. Po skoñczeniu konfiguracji j±dra powiniene¶ teraz g³adko skompilowaæ j±dro: # make dep # make clean # make zImage Upewnij siê, aby skopiowaæ plik arch/i386/boot/zImage tam gdzie byæ powinien oraz zrób edycje /etc/lilo oraz restartuj lilo, aby¶ fakty cznie odpali³ system z nowego j±dra. 55..11..11.. CCoo jjeesstt nnoowweeggoo ww jj±±ddrraacchh 22..00..**++MMoodduulleeXXXX ii 22..11..** ?? J±dra 2.1.* zawieraj± udoskonalone wersjê niemal¿e wszyskich protoko³ów oraz sterowników. Najbardziej znacz±ce nowinki to: modularyzacja protoko³y i sterowniki zosta³y zmodularyzowane tak, ¿e mo¿na nimi do woli ¿±glowaæ poleceniami insmod, rmmod. Redukuje to wymogi pamiêciowe dla j±dra przy sporadycznie u¿ywanych modu³ach oraz sprawia, ¿e polowanie na pluskwy i pielêgancja s± ³atwiejsze. wszystkie sterowniki s± teraz sterownikami sieciowymi wszelkie urz±dzenia jak Baycom, SCC, PacketTwin, Gracillis itp. oferuj± teraz normalny interfejs sieciowy, tzn. wygl±daj± teraz tak jak sterownik Ethernetu; nie wygl±daj± ju¿ tak jak TNC w trybie KISS. Na ¿yczenie, mo¿na zbudowaæ interfejs kiss do tych urz±dzeñ przy pomocy programiku 'net2kiss'. usuniêto pluskwy wiele pluskw zosta³o wykrytych i zniszczonych dodano te¿ do sterowników i protoko³ów sporo nowych cech i funkcji. 55..22.. NNaarrzzêêddzziiaa ddoo uussttaawwiiaanniiaa ssiieeccii Teraz, po wykompilowaniu j±dra, powiniene¶ równie¿ skompilowaæ nowe narzêdzia do konfiguracji sieci. Przy ich pomocy bêdziesz móg³ manipulowaæ interfejsami sieciowymi oraz dodawaæ routing do tablic routingowych. Nowa wersja _a_l_p_h_a standardowego pakietu net-tools zawiera obs³ugê AX.25 i NetRom. Sprawdza³em to i wydaje siê, ¿e u mnie dzia³a to ¶wietnie. 55..22..11.. BBuuddoowwaa ssttaannddaarrddoowweejj wweerrssjjii nneett--ttoooollss.. Nie zapomnij przeczytaæ pliku Readme i zastosowaæ siê to wszelkich tam podanych wskazówek. Czynno¶ci jakie ja wykona³em, by skompilowaæ net- tools to: # cd /usr/src # tar xvfz net-tools-1.32-alpha.tar.gz # cd net-tools-1.32-alpha # make config W tym stadium zaoferowane ci zostan± pytania podobnie jak przy kompi lacji j±dra. Upewnij siê, aby zaznaczyæ obs³ugê jakichkolwiek pro toków, które zamierzasz u¿ywaæ.W razie, gdyby¶ nie wiedzia³ co odpowiedzieæ, zaznacz "Y". Net-tools powinny skompilowaæ siê g³adko ze ¼ród³ami j±dra bez ¿adnych ostrze¿eñ. gdy kompilacja ustanie, wówczas wydaj polecenie: # make install to zainstaluje programy w ich w³a¶ciwe miejsca. Je¶li planujesz u¿ywaæ us³ugê IP firewall to potrzebujesz ostatnich narzêdzi ipfwadm do administracji ¶ciany ogniowej. Narzêdzie to podmienia starsze ipfw, które nie pracuje ju¿ z nowszymi j±drami. Programik ipfwadm skompilowa³em w taki sposób: # cd /usr/src # tar xvfz ipfwadm-2.0beta2.tar.gz # cd ipfwadm-2.0beta2 # make install # cp ipfwadm.8 /usr/man/man8 # cp ipfw.4 /usr/man/man4 55..33.. PPooggrraammyy nnaarrzzêêddzziioowwee AAXX..2255 Po skompilowaniu i restarcie nowego j±dra, potrzebujesz jeszcze skompilowaæ programy narzêdziowe. Aby skompilowaæ programy narzêdziowe nale¿y wykonaæ takie czynno¶ci: # cd /usr/src # tax xvfz ax25-utils-2.1.22b.tar.gz # cd ax25-utils-2.1.22b # make config # make # make install Pliki zostan± zainstalowane pierwotnie do katalogu /usr w podkatalogi takie jak: bin, sbin, etc and man. Je¶li poka¿± ci siê ostrze¿enia podobnej tre¶ci: gcc -Wall -Wstrict-prototypes -O2 -I../lib -c call.c call.c: In function `statline': call.c:268: warning: implicit declaration of function `attron' call.c:268: `A_REVERSE' undeclared (first use this function) call.c:268: (Each undeclared identifier is reported only once call.c:268: for each function it appears in.) zatem powiniene¶ pozprawdzaæ czy masz na swoim systemie zainstalowany poprawnie pakiet ncurses. Skrypt konfiguracyjny stara siê zlokalizowaæ pakiet ncurses na twoim systemie w znanych katalogach. Niektóre jednak instalacje ¼le wpisuj± ncurses i skryp nie potrafi ich znale¼æ. 66.. NNaajjppiieerrww oo zznnaakkaacchh rraaddiiooaammaattoorrkkiicchh ,, aaddrreessaacchh,, iittpp.. Ka¿dy port AX.25 lub NetRom na twoim systemie musi mieæ przydzielony znak i przypiêty do niego numeryczny identyfikator stacji. Rzeczy te konfigurujemy w plikach, które zosta³y opisane dalej. Niektóre implementacje AX.25, np. BPQ lub NOS, pozwalaj± na przypisanie tego samego znaku/indentyfikatora na obu portach AX.25 i NetRom. Linux na to nie pozwala z pewnych technicznych, skomplikowanych powodów. W praktyce, nie jest to taki wielki problem. Oznacza to, ¿e przy konfigurowaniu trzeba byæ ¶wiadomy tych rzeczy i wzi±æ je pod uwagê: 1. Ka¿dy port ax.25 lub NetRom musi byæ konfigurowany z unikalnym znakiem/identyfikatorem. 2. TCP/IP u¿ywaæ bêdzie tego znaku/identyfikatora, na którego porcie odbywa siê odbiór i transmisja AX.25, tj. ten, który skonfigurowa³e¶ w punkcie 1. 3. NetRom u¿ywaæ bêdzie tego znaku/identyfikatora, który zosta³ mu przydzielony w jego w³asnym pliku konfiguracyjnym. Znak ten u¿ywany bêdzie tylko wówczas, gdy twój NetRom rozmawia z innym NetRomem. Nie jest to znak, ktory u¿ytkownicy AX.25 maj± u¿ywaæ przy wchodzeniu do twojego wêz³a. Wiêcej na ten temat powiemy dalej. 4. Rose, pierwotnie, bêdzie u¿ywa³ znaku/identyfikatora nale¿±cego do portu AX.25 chyba, ¿e wyra¼nie zostanie przekonfigurowany poleceniem 'rsparms' na inny. Je¶li przydzielisz znak/identyfikator dla Rose poleceniem 'rsparms' wówczas Rose u¿ywaæ bêdzie tego znaku na wszystkich swych portach. 5. Inne programy, takie jak 'ax25d' mog± s³uchaæ na jakichkolwiek znakach/identyfikatorach i w dodatku mo¿na te znaki duplikowaæ po wszelakich portach. 6. Bêd±c ostro¿ny przy routingu, mo¿esz nawet przyznac wszystkim portom ten sam adres IP. 66..11.. CCzzyymm ss±± oowwee TT11,, TT22,, TT33 ii iinnnnee rrzzeecczzyy?? Analogicznie, tak jak nie ka¿dy radiooperator jest in¿ynierem, tak samo nie ka¿da implementacja AX.25 jest zgodna ze standardem TNC2. Linux stosuje nomenklaturê, która ró¿ni siê w pewnym wzglêdzie od tej, jakiej u¿ywa³by¶,je¶li jedynym twoim do¶wiadczeniem w packet radio by³by TNC. Podana ni¿ej tablica powinna byæ pomocna w interpretacji czym s± poszczególne elementy, które daje siê konfigurowaæ, zatem je¶li napotkasz je pó¼niej w tym tek¶cie pomo¿e ci to w ich zrozumieniu. ------------------------------------------------------------------- Linux | TAPR TNC | Description ------------------------------------------------------------------- T1 | FRACK | czas wyczekiwania przed retransmisj± | | niepotwierdzonej ramki ------------------------------------------------------------------- T2 | RESPTIME | minimalny czas wyczekiwania na inn± ramkê | | przed transmisj± potwierdzenia | | ------------------------------------------------------------------- T3 | CHECK | czas wyczekiwania pomiêdzy sprawdzeniami czy | | l±cze jest nadal aktywne ------------------------------------------------------------------- N2 | RETRY | ilo¶æ retransmisji zanim za³o¿ymy, ¿e l±cze | | pad³o ------------------------------------------------------------------- Idle | | okres czasu, który ³±cze mo¿e staæ bezczynnie | | zanim zostanie zamkniête ------------------------------------------------------------------- Window | MAXFRAME | maksymalna liczba niepotwierdzonych, | | wytransmitowanych ramek ------------------------------------------------------------------- 66..22.. PPaarraammeettrryy,, kkttóórree ddaajj±± ssiiêê kkoonnffiigguurroowwaaææ ww ttrraakkcciiee pprraaccyy.. J±dra 2.1.* oraz 2.0.29+module maj± now± cechê, która pozwala na zmianê uprzednio niemo¿liwych do manipulacji warto¶ci w trakcie pracy. Je¶li uwa¿nie przyjrzysz siê strukturze katalogu /proc/sys/net/ to zauwa¿ysz parê plików o sugestywnych nazwach, które wskazuj± na ró¿ne parametry do konfigurowania sieci. Ka¿dy plik w katalogu /proc/sys/net/ax25 reprezentuje jeden ustawiony port AX.25. Nazwa pliku odnosi siê do nazwy portu. Struktura plików wygl±da nastêpuj±co: No. Nazwa Znaczenie Warto¶æ domy¶lna 1 IP Default Mode 0=DG 1=VC 0 2 AX.25 Default Mode 0=Normal 1=Extended 0 3 Allow Vanilla Connects 0=No 1=Yes 1 4 Backoff 0=Linear 1=Exponential 1 5 Connected Mode 0=No 1=Yes 1 6 Standard Window 1 <= N <= 7 2 7 Extended Window 1 <= N <= 63 32 8 T1 Timeout 1s <= N <= 30s 10s 9 T2 Timeout 1s <= N <= 20s 3s 10 T3 Timeout 0s <= N <= 3600s 300s 11 Idle Timeout 0m <= N 20m 12 N2 1 <= N <= 31 10 13 AX.25 Frame Length 1 <= N <= 512 256 14 Max Queue 1 <= N <= 20 2 15 Digipeater Mode 0=None 1=Inband 2=XBand 3=Both 3 W powy¿szej tablicy T1, T2, T3 zosta³y podane w sekundach a Idle Timout podano w minutach. Zauwa¿ jednak, ¿e warto¶ci u¿ywane przez interfejs sysctl mierzone s± warto¶ciami wewnêtrznymi, gdzie czas w sekundach mno¿ony jest przez 10, co pozwala na rozdrobnienie na 1/10 sekundy. Tam, gdzie liczniki pozwalaj± na warto¶æ zero, np. T3 lub Idle, zero oznacza, ¿e licznik jest wy³±czony. 77.. KKoonnffiigguurroowwaanniiee ppoorrttuu AAXX..2255.. Ka¿dy program AX.25 wpierw czyta plik konfiguracyjny, aby uzyskaæ potrzebne parametry poszczególnego portu AX.25, obecnego na twoim systemie Linux. Dla portów AX.25 jest to plik /etc/ax25/axports. Ka¿dy port AX.25, który chcesz mieæ na swoim systemie, musi byæ w tym pliku opisany. 77..11.. JJaakk uuttwwoorrzzyyææ pplliikk //eettcc//aaxx2255//aaxxppoorrttss?? Plik /etc/ax25/axports to prosty tekstowy plik, który tworzymy zwyk³ym edytorem. Format pliku /etc/ax25/axports jest nastêpuj±cy: portname callsign baudrate paclen window description Gdzie: portname to wolna nazwa, krór± nale¿y ochrzciæ port, u¿ywana do nazewnictwa tego portu callsign znak/identyfikator, który przypisujesz dla portu AX.25 paclen to maksymalna d³ugo¶æ pakietów, które bêd± mo¿liwe na tym porcie przy transmisjch AX.25 w trybie 'connected'. window to parametr (K) AX.25 window. To samo co MAXFRAME w wielu urz±dzeniach TNC. description to dowolny opis tego portu W moim przypadku wygl±da to tak: radio VK2KTJ-15 4800 256 2 4800bps 144.800 MHz ether VK2KTJ-14 10000000 256 2 BPQ/ethernet device Pamiêtaj, ¿e nale¿y przypisaæ unikalny znak/identyfikator dla ka¿dego portu AX.25, który utworzysz. Wprowad¼ jeden wpis dla ka¿dego urz±dzenia AX.25, które chcesz u¿ywaæ. Odnosi siê to do portów: KISS, Baycom, SCC, PI, PT, D¼wiêkoModem. W tym miejscu ka¿dy wpis ma odnosiæ siê do ka¿dego z osobna urz±dzenia AX.25. Wpisy w tym pliku powi±zane s± z interfejsami sieciowymi poprzez ich znak/identyfikator. Plik ten u¿ywany bêdzie przez programy opisane dalej. 77..22.. JJaakk uuttwwoorrzzyyææ iinntteerrffeejjssyy ssiieecciioowwee AAXX..2255?? Interfejs sieciowy jest tym, co widaæ na ekranie po wydaniu polecenia 'ifconfig'. Jest to objekt, poprzez który j±dro Linuxa odbiera i wysy³a dane sieciowe. Prawie zawsze interfejs sieciowy zwi±zany jest z fizycznym portem, s± jednak wypadki, kiedy nie jest to konieczne. Interfejs sieciowy odnosi siê wówczas bezpo¶rednio do sterownika urz±dzenia fizycznego. W oprogramowaniu AX.25 pod Linuxem istnieje wiele sterowników urz±dzeñ fizycznych. Najpopularniejszym jest zapewne sterownik KISS, lecz s± te¿ inne jak np. sterownik SCC, Baycom czy SoundModem (D¼wiêkoModem). Ka¿dy z tych sterowników, przy uruchomianiu go, spowoduje równie¿ otworzenie interfejsu sieciowego. 77..22..11.. JJaakk ddoo³³±±cczzyyææ uurrzz±±ddzzeenniiee KKIISSSS?? Najczê¶ciej spotykan± konfiguracj± bedziê chyba KISS TNC na porcie seryjnym. Nale¿y uprzednio skonfigurowaæ sam TNC i doczepiæ go do portu seryjnego. Aby wprowadziæ swój TNC w tryb KISS mo¿na u¿yæ programu terminala, jak np. minicom lub seyon. Z kolei, aby utworzyæ urz±dzenie KISS nale¿y u¿yæ polecenia 'kissattach', które to polecenie w swej najprostszej formie mo¿e wygl±daæ tak: # /usr/sbin/kissattach /dev/ttyS0 radio # kissparms -p radio -t 100 -s 100 -r 25 Polecenie kissattach utworzy te¿ sieciowy interfejs KISS. Interfejsy te nosz± wtedy nazwê od 'ax[0-9]'. Przy pierwszym wydaniu polecenia 'kissattach' powstaje 'ax0', przy nastêpnym 'ax1', itd. Ka¿dy interfejs KISS powi±zany jest ze swoim portem seryjnym. Polecenie 'kissparms' pozwala na manipulowanie ró¿nymi parametrami interfejsu KISS. W podanym wy¿ej przyk³adzie do³±czony zosta³by sieciowy interfejs KISS do seryjnego urz±dzenia w Linuxie '/dev/ttyS0' i do portu oznaczonego w pliku /etc/ax25/axports jako 'radio'. Nastêpnie konfigurowany on jest z warto¶ciami 100 milisekund dla txdelay oraz slottime i warto¶ci± 25 dla ppersist. Wiêcej informacji mo¿na znale¼æ w man pages w Linuxie. 77..22..11..11.. KKoonnffiigguurroowwaanniiee uurrzz±±ddzzeeññ TTNNCC oo ddwwóócchh ppoorrttaacchh.. Programik 'mkiss', zawarty w programach narzêdziowych ax25-utils, pozwala na wykorzystanie obydwu modemów w ur±dzeniach TNC o dwóch portach. Ustawienie jest do¶æ proste. Programik ten dzia³a tak, ¿e bior±c pojedyncze urz±dzenie do³aczone do wieloportowego TNC przedstawia je tak, i¿ wygl±da ono, jakby to by³y dwa urz±dzenia, ka¿de z w³asnym TNC. Czynno¶æ tê trzeba wykonaæ zanim zaczniesz jak±kolwiek konfiguracjê AX.25. Powsta³e na skutek tego interfejsy pseudo-TTY, (/dev/ttypf*), które nie s± rzeczywistymi urz±dzeniami seryjnymi, wykorzystywane s± z kolei do konfiguracji AX.25. Interfejsy Pseudo-TTY wyprowadzaj± swego rodzaju fajkê, poprzez któr± programy umiej±ce nadawaæ do urz±dzeñ /dev/tty mog± sie porozumiewaæ miêdzy sob±. Ka¿da fajka posiada koñcówkê master i slave. Koñcówki master s± ogólnie oznaczane jako /dev/ptyp*, koñcówki slave maj± emblem /dev/ttyp*. Pomiêdzy master a slave istnieje intymna zale¿no¶c, zatem /dev/ptyp0 stanowi koncówkê master dla przewodu, ktory ma /dev/ttyp0 na koñcówce slave. Zanim otworzysz koñcówkê slave, musisz najpierw otworzyæ koñcówkê master. 'mkiss' wykorzystuje ten w³a¶nie mechanizm do rozczepienia pojedynczego urz±dzenia seryjnego, na osobne. Przyk³ad: je¶li posiadasz TNC o dwóch portach i jest ono doczepione do seryjnego urz±dzenia /dev/ttyS0 o prêdko¶ci 9600 bps, to polecenie: # /usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyp0 /dev/ptyp1 # /usr/sbin/kissattach /dev/ttyp0 port1 # /usr/sbin/kissattach /dev/ttyp1 port2 utworzy dwa interfejsy pseudo-tty, a ka¿de z nich wygl±daæ bêdzie tak, jakby by³o pojedynczym seryjnym portem, ka¿de z w³asnym TNC. Wowczas interfejsy /dev/ttyp0 i /dev/ttyp1 mo¿esz potraktowaæ tak jak inne konwencjonalne seryjne porty z doczepionymi do nich urz±dzeniami TNC. W praktyce oznacza to, ze odpali³by¶ dla obydwu polecenie 'kissattach' przy zachowaniu wpisów o portach AX.25 jako port1 i port2. Nie nale¿y odpalaæ polecenia 'kissattach' dla rzeczywistego urz±dzenia /dev/ttyS0 poniewa¿ zajête zosta³o ono przez program 'mkiss'. Polecenie 'mkiss' przyjmuje szereg dodatkowych argumentów, które s± do twojej dyspozycji. Oto ich streszczenie: -c pozwala na dodanie checksum o jednym byte. Wiêkszo¶æ implementacji KISS tego nie obsluguje, jest to mo¿liwe przy u¿yciu Rom'u G8BPG KISS. -s <speed> ustawia prêdko¶æ portu urz±dzenia seryjnego. -h omo¿liwia hardware handshaking na porcie seryjnym, pierwotnie jest wy³±czone. Wiêksz¶æ implementacji KISS tego nie obs³uguje. Niektóre jednak to maj±. -l umo¿liwia prowadzenie log'u do plików typu syslog. 77..22..22.. JJaakk ddoocczzeeppiiææ uurrzz±±ddzzeenniiee BBaayyccoomm Wbrew powszechnemu przekonaniu, ¿e nie bêdzie to zbyt dobrze dzia³aæ, Thomas Sailor podj±³ siê rozbudowy obs³ugi modemów Baycom pod Linuxem. Jego sterowniki obs³uguj± modemy Ser12 na port seryjny, oraz Par96 i udoskonalony PicPar na porty równoleg³e. Wiêcej informacji o samych modemach mo¿na uzyskaæ na Web Serverze Baycoma Najpierw musisz sprawdziæ adres wej¶cia/wy¶cia oraz adresy bazowe portu seryjnego lub równoleg³ego, do którego masz doczepiony modem Baycom. Z t± informacj± mo¿esz dopiero konfigurowaæ sterownik samego Baycom'a. Programik sethdlc pozwala na u¿ycie tych parametrów ze sterownikiem, lub, je¶li masz tylko jeden modem Baycom i u¿ywasz modu³ów w Linuxie to mo¿na te parametry podaæ rêcznie jako opcje dla programu 'insmod' ³aduj±cego modu³ Baycom'a. Dla przykladu, prosty uk³ad. Wy³±czenie sterownika urz±dzenia seryjnego COM1:, a nastêpnie ustawienie tam sterownika modemu Baycom Ser12 na COM1: z u¿yciem detekcji typu software DCD: # setserial /dev/ttyS0 uart none # insmod baycom mode="ser12*" iobase=0x3f8 irq=4 Albo modem Par96 na porcie równoleg³ym LPT1: z u¿yciem detekcji hardware DCD: # insmod baycom mode="par96" iobase=0x378 irq=7 options=0 Nie jest to jednak najlepszy sposób. Programik sethdlc dzia³a dobrze zarówno z jednym jak i z wieloma urz±dzeniami. Podrêcznik systemowy 'man' programiku sethdlc opisuje szczegó³y na ten temat, jednak kilka przyk³adów pozwoli zilustrowaæ wa¿niejsze aspekty tej¿e konfiguracji. Poni¿szy przyk³ad zak³ada, ¿e za³adowa³e¶ ju¿ modu³ Baycom'a poleceniem: # insmod baycom Ustawienie sterownika dla interfejsu bc0 stusuj±c równoleg³y modem Baycom na LPT1: detekcja typu software DCD: # sethdlc -p -i bc0 mode par96 io 0x378 irq 7 Ustawienie sterownika dla interfejsu bc1 stosuj±c seryjny modem Baycom na COM1:: # sethdlc -p -i bc1 mode "ser12*" io 0x3f8 irq 4 77..22..33.. JJaakk uussttaawwiiææ ppaarraammeettrryy ddoossttêêppuu ddoo kkaannaa³³uu AAXX..2255?? Parametry dostêpu do kana³ów AX.25 s± analogiczne do parametrów KISS, takich jak ppersist, txdelay, slottime. Tutaj te¿ u¿ywamy programiku sethdlc. I znów podrêcznik systemowy 'man' jest g³ównym ¼ród³em informacji na temat sethdlc, ale jak zwyk³e jeden czy drugi przyk³ad nie zaszkodzi: Ustawienie interfejsu bc0 z warto¶ci± 200ms dla TxDelay, 100ms dla Slottime, warto¶æ 40 dla ppersist oraz half-duplex: # sethdlc -i bc0 -a txd 20 slot 10 ppersist 40 half Zauwa¿, ¿e warto¶ci licznika s± tutaj podane w 10-tkach milisekund. 77..22..44.. JJaakk ddoocczzeeppiiææ uurrzz±±ddzzeenniiee DD¼¼wwiiêêkkooMMooddeemm?? Thomas Sailor napisa³ nowy sterownik dla j±dra Linuxa pozwalaj±cy na u¿ycie karty d¼wiêkowej komputera jako modemu do packet radio. Mo¿na teraz pod³±czyæ radio bezpo¶rednio do karty d¼wiêkowej i zabawiæ siê w packet!! Thomas poleca przynajmniej procesor 486DX/66 poniewa¿ ca³y ciê¿ar obliczeniowy sygna³u cyfrowego spada w tym wypadku na CPU. Obecnie sterownik emuluje takie typy modemów: 1200 bps AFSK, 4800 HAPN and 9600 FSK (G3RUH compatible). Jedyne karty, które s± ob³ugiwane tym sterownikiem to te, zgodne z SoundBlaster oraz WindowsSoundSystem. Karty d¼wiêkowe potrzebuj± dodatkowego uk³adu wspomagaj±cego uk³ad PTT a informacjê na ten tema mo¿na zasiêgn±æ na domowej stronie Thomas'a Sailora, tutaj. Istnieje szereg mo¿liwo¶ci: detekcja sygan³u z karty d¼wiêkowej, lub przez port równoleg³y, seryjny, port midi. Przyk³ady schematów s± na stronie Thomas'a. Przy za³±czeniu sterownik D¼wiêkoModemu do³±cza interfejsy sieciowe: sm0, sm1, sm2, itp. Uwaga: Sterownik D¼wiêkoModemu wspó³zawodniczy w zagarnianiu zasobów komputera ze sterownikiem karty d¼wiêkowej. Je¶li wiêc planujesz u¿ywaæ sterownik D¼wiêkoModemu to upewnij siê, czy sterownik karty d¼wiêkowej jest wyinstalowany. Jak zwyk³e mo¿esz obydwa skompilowaæ jako modu³y i u¿ywaæ je wtedy, gdy jest to wygodne. 77..22..44..11.. KKoonnffiigguurroowwaanniiee kkaarrttyy dd¼¼wwiiêêkkoowweejj.. Sterownik D¼wiêkoModemu nie wzbudza karty d¼wiêkowej przy ³adowniu siê systemu. Pakiet ax25-utils zawiera programik 'setcrystal', który obluguje karty oparte o Crystal Chipset. je¶li posiadasz inn± kartê to potrzebujesz innego oprogramowania, aby j± pobudziæ. Sk³adnia programiku jest oczywista: setcrystal [-w wssio] [-s sbio] [-f synthio] [-i irq] [-d dma] [-c dma2] Je¶li, zatem ¿yczysz sobie doczepiæ kartê soundblaster na adresie 0x388, irq 10 i DMA 1, to dj tak: # setcrystal -s 0x388 -i 10 -d 1 Je¶li ustawiasz kartê WinSoundSystem na adresie 0x534, irq 5, DMA 3, to daj tak: # setcrystal -w 0x534 -i 5 -d 3 Parametr -f synthio s³u¿y do zdeklarowania adresu syntezatora, a -c dma2 do podania drugiej warto¶ci dla DMA, ktora pozwala na operacjê full-duplex. 77..22..44..22.. JJaakk uussttaawwiiææ iinntteerrffeejjss DD¼¼wwiiêêkkooMMooddeemmuu?? Po skonfigurowaniu karty d¼wiêkowej musisz teraz powiedzieæ strownikowi D¼wiêkoModemu gdzie mo¿e jej szukaæ oraz jakiego rodzaju modem ma emulowaæ. Parametry te mog± zostaæ zdeklarowane programikiem 'sethdlc', lub, je¶li u¿ywaæ bêdziesz tylko jednej karty mo¿na je podaæ rêcznie programowi 'insmod', który ³aduje sterownik D¼wiêkomodemu. Dla przyk³adu, prosta konfiguracja: jedna karta d¼wiêkowa SoundBlaster ustawiona wed³ug powy¿szego przyk³adu i emuluj±ca modem 1200 pbs: # insmod soundmodem mode="sbc:afsk1200" iobase=0x220 irq=5 dma=1 Nie jest to jednak najlepszy sposób. Programik sethdlc dzia³a dobrze zarówno z jednym jak i z wieloma urz±dzeniami. Man pages programiku sethdlc pisz± w szczegó³ach na ten temat, jednak kilka przyk³adów pozwoli zilustrowaæ wa¿niejsze aspekty tej¿e konfiguracji. Poni¿szy przyk³ad zak³ada, ze za³adowa³e¶ ju¿ modu³ sterownika D¼wiêkoModemu poleceniem: # insmod soundmodem Ustawienie sterownika do ob³ugi uprzednio skonfigurowanej karty Win SoundSystem, aby emulowa³ modem G3RUH 9600 jako interfejs sieciowy sm0, na porcie równoleg³ym z uk³adem PTT o adresie 0x378: # sethdlc -p -i sm0 mode wss:fsk9600 io 0x534 irq 5 dma 3 pario 0x378 # ifconfig sm0 up Ustawienie sterownika uprzednio skonfigurowanej karty SoundBlaster, aby emulowa³ modem HAPN 4800 bps jako interfejs sieciowy sm1 z ukladem PTT na porcie seryjnym o adresie 0x2f8: # sethdlc -p -i sm1 mode sbc:hapn4800 io 0x388 irq 10 dma 1 serio 0x2f8 # ifconfig sm1 up Ustawienie sterownika uprzednio skonfigurowanej karty SoundBlaster, aby emulowa³ modem AFSK 1200 bps jako interfejs sieciowy sm1, na seryjnym porcie z uk³adem PTT o adresie 0x2f8: # sethdlc -p -i sm1 mode sbc:afsk1200 io 0x388 irq 10 dma 1 serio 0x2f8 # ifconfig sm1 up 77..22..44..33.. JJaakk uussttaawwiiææ ppaarraammeettrryy ddoossttêêppuu ddoo kkaannaa³³uu AAXX..2255?? Parametry dostêpu do kana³ów AX.25 s± analogiczne do parametrów KISS, takich jak ppersist, txdelay, slottime. Tutaj te¿ u¿ywamy programiku sethdlc. I znów man pages s± g³ównym ¼ród³em informacji na temat sethdlc, ale jak zwykle jeden czy drugi przyk³ad nie zaszkodzi: Ustawienie interfejsu sm0 z warto¶ci± 100ms dla TxDelay, 50ms dla Slottime, warto¶æ 128 dla ppersist oraz half-duplex: # sethdlc -i sm0 -a txd 10 slot 5 ppersist 128 full Zauwa¿, ¿e warto¶ci licznika s± tutaj podane w 10-tkach milisekund. 77..22..44..44.. UUssttaalleenniiee ppoozziioommuu aauuddiioo ii ddoossttrroojjeenniiee sstteerroowwnniikkaa Ka¿dy modem radiowy domaga siê do poprawnej pracy w³a¶ciwej regulacji poziomu audio. Dotyczy to równie¿ D¼wiêkoModem'u. Thomas napisa³ programy narzêdziowe, które u³atwiaj± to zadanie. S± to: 'smdiag' i 'smmixer'. smdiag dostarcza dwóch typów wy¶wietlacza, typu oscyloskopowego i typu "eye pattern" smmixer pozwa³a na w³a¶ciwe wyregulowanie poziomu nadawania i odbioru. To polecenie odpala programik 'smdiag' w trybie "eye" dla interfejsu sm0: # smdiag -i sm0 -e To polecenie odpala programik 'smmixer' dla interfejsu sm0: # smmixer -i sm0 77..22..44..55.. PPrrzzyyggoottoowwaanniiee cczzê궶ccii AAXX..2255 jj±±ddrraa ddoo wwyykkoorrzzyyssttaanniiaa DD¼¼wwiiêêkkooMMooddeemmuu.. Sterownik D¼wiêkoModemu powoduje do³±czenie standardowego interfejsu sieciowego, gotowego do wykorzystania przez j±dro. Konfiguracja przypomina tê, jak± stosujemu przy kartach PacketTwin oraz PI. Najpierw, interfejsowi trzeba przypisaæ znak/identyfikator. U¿ywamy programu 'ifconfig'. Polecenie: # /sbin/ifconfig sm0 hw ax25 VK2KTJ-15 up przypisze interfejsowi sm0, nale¿±cemu do D¼wiêkoModemu, znak/identy fikator VK2KTJ-15 w protokole AX.25. Nastêpny krok to dokonanie wpisu do pliku /etc/ax25/axports podobnie jak dla innych urz±dzeñ fizycznych. Ten¿e wpis w pliku ax25ports jest powi±zany z interfejsem sieciowym, który powy¿ej skonfigurowa³e¶ na tym¿e znaku/identyfikatorze. Wpis w pliku axports nosz±cy znak/identyfikator, ktorego u¿y³e¶ przy D¼wiêkoModemie bêdzie u¿ywany jako odno¶nik do tego modemu. Tak ustawione urz±dzenie AX.25 mo¿esz teraz spo¿ytkowaæ jak ka¿de inne. Skonfiguruj je do pracy w TCP/IP, dodaj je do demona ax25d, u¿yj do NetRom lub Rose, jak tylko chcesz. 77..22..55.. JJaakk ddoo³³aacczzyyææ uurrzz±±ddzzeenniiee zz kkaarrtt±± PPII?? Sterownik karty PI generuje powstanie interfejsów sieciowych typu `pi[0-9][ab]. Pierwszej wykrytej karcie PI zostanie przypisany interfejs pi0, kolejnej pi1, itd. Literki 'a' i 'b' odnosz± sie do fizycznych portów znajduj±cych siê na karcie PI. Je¶li zbudowa³e¶ j±dro z obs³ug± karty PI, oraz je¶li zosta³a ona poprawnie wykryta to mo¿esz skonfigurowaæ sobie interfejs sieciowy w taki sposób: # /sbin/ifconfig pi0a hw ax25 VK2KTJ-15 up Polecenie to skonfigurowa³oby pierwszy port pierwszej wykrytej karty PI przypisuj±c jej znak/identyfikator VK2KTJ-15 i uczyni³oby go akty wnym. Zauwa¿, ¿e znak musi mieæ swój odpowiednik w pliku /etc/ax25/axports, aby móc u¿ywaæ tego portu. Sterownik do karty PI napisany zosta³ przez David'a Perry, dp@hydra.carleton.edu 77..22..66.. JJaakk ddoocczzeeppiiææ uurrzz±±ddzzeenniiee zz kkaarrtt±± PPaacckkeettTTwwiinn.. Sterownik karty PacketTwin generuje powstanie interfejsów sieciowych typu `pt[0-9][ab]. Pierwszej wykrytej karcie PacketTwin zostanie przypisany interfejs pt0, kolejnej pt1, itd. Literki 'a' i 'b' odnosz± sie do fizycznych inerfejsów znajduj±cych siê na karcie PacketTwin. Je¶li zbudowa³e¶ j±dro z obs³ug± karty PacketTwin, oraz je¶li zosta³a ona poprawnie wykryta to mo¿esz skonfigurowaæ sobie interfejs sieciowy w taki sposób: # /sbin/ifconfig pt0a hw ax25 VK2KTJ-15 up Polecenie to skonfigurowa³oby pierwszy port pierwszej wykrytej karty PacketTwin przypisuj±c jej znak/identyfikator VK2KTJ-15 i uczyni³oby go aktywnym. Zauwa¿, ¿e znak musi mieæ swój odpowiednik w pliku /etc/ax25/axports, aby móc u¿ywaæ tego portu. Sterownik karty PacketTwin zosta³ napisany przez Craig Small, VK2XLZ, csmall@triode.apana.org.au. 77..22..77.. JJaakk ddoocczzeeppiiææ ggeenneerryycczznnee uurrzz±±ddzzeenniiee SSCCCC?? Joerg Reuter, DL1BKE, jreuter@lykos.tng.oche.de wypracowa³ sterownik do generycznej obs³ugi kart opartych o scalak Z8520 SCC. Sterownik ten daje siê konfigurowaæ do obs³ugi wielorakich kart oferuj±c interfejs, który zachowuje siê tak jak TNC w trybie KISS. Traktuj wiêc go tak, jakby to by³ TNC w trybie KISS. 77..22..77..11.. GGddzziiee uuzzyysskkaaææ ii jjaakk zzbbuuddoowwaaææ ppaakkiieett ddoo nnaarrzzêêddzzii kkoonnffiigguurraa ccyyjjnnyycchh?? Choæ sterownik zawarty jest w standardowym ¿ródle j±dra to jednak Joerg uwalnia wci±¿ nowsze wersje ¼ród³owe razem ze specjalnymi narzêdziami do konfiguracji, które równie¿ potrzebujesz. Pakiet z narzêdziami do konfiguracji znajdziesz tutaj: db0bm.automation.fh-aachen.de /incoming/dl1bke/ lub: insl1.etec.uni-karlsruhe.de /pub/hamradio/linux/z8530/ lub: ftp.ucsd.edu /hamradio/packet/tcpip/linux /hamradio/packet/tcpip/incoming/ Znajdziesz tam ró¿norakie wersje, wiêc wybierz te, które odpowiadaj± twojej wersji j±dra: z8530drv-2.4a.dl1bke.tar.gz 2.0.* z8530drv-utils-3.0.tar.gz 2.1.6 lub nowsze Oto polecenia, które musia³em wykonaæ, aby skompilowaæ i zainstalowaæ ów pakiet z j±drem 2.0.25: # cd /usr/src # gzip -dc z8530drv-2.4a.dl1bke.tar.gz | tar xvpofz - # cd z8530drv # make clean # make dep # make module # je¶li chcesz aby sterownik by³ modu³em # make for_kernel # Je¶li chcesz, aby sterownik by³ wbudowany w j±dro # make install Po zakoñczonej operacji powiniene¶ mieæ trzy programy w katalogu /sbin: gencfg, sccinit i sccstat. To w³a¶nie one nadaj± siê do tego, aby skonfigurowaæ sterownik dla twojej karty. Zostanie rownie¿ utworzona specjalna grupa plików w katalogu /dev/ zwanych scc0 .. scc7. Zostan± one pó¼niej u¿yte jako urz±dzenia KISS i w³a¶nie te bêdziesz stosowa³. Je¶li zdecydujesz sie na polecenie 'make for_kernel', wówczas bêdziesz musia³ przebudowaæ j±dro. Przy budowaniu j±dra po wydaniu polecenia 'make config' zadbaj o to, aby¶ odpowiedzia³ "Y" na pytanie o obs³ugê `Z8530 SCC kiss emulation driver for AX.25'. Nie potrzebyjesz przebudowywaæ j±dra je¶li wybierzesz polecenie 'make module', wówczas plik scc.o zostanie umieszczony w odpowiednim katalogu /lib/modules. Nie zapomnij o poleceniu 'insmod' przed prób± u¿ycia i konfiguracji starownika. 77..22..77..22.. JJaakk sskkoonnffiigguurroowwaaææ sstteerroowwnniikk ddoo ttwwoojjeejj kkaarrttyy?? Sterownik Z8530 SCC zosta³ pomy¶lany, tak aby da³ siê nagi±æ do niemal¿e ka¿dej karty. Lecz z elastyczno¶ci± idzie w parze trud jej konfiguracji. Bardziej pouczaj±cej lektury dostarcz± pliki samego pakietu i powiniene¶ tam szukaæ informacji. A w szczególno¶ci nale¿y zajrzeæ tutaj: doc/scc_eng.doc or doc/scc_ger.doc. Zparafrazowa³em poni¿ej parê wa¿niejszych detali, lecz w rezultacie pomin±³em szczegó³y ni¿szego rzêdu. Program sccinit czyta najpierw plik /etc/z8530drv.conf. Plik dzieli siê na dwa etapy: ustawienie parametrów dla sprzêtu i dla kana³u AX.25. Po tym wystarczy tylko daæ polecenie: # sccinit 77..22..77..22..11.. UUssttaawwiieenniiee ppaarraammeettrróóww sspprrzzêêttuu.. pierwsza sekcja dzieli siê na strofy, ka¿da strofa reprezentuje scalak 8530. Strofy to poprostu lista 's³ów' i 'argumentów'. Mo¿na w tym pliku zdeklarowaæ do 4 scalaków SCC. Je¶li potrzebujesz wiêcej to da siê to zrobiæ w pliku scc.c ustawiaj±c ¿±dan± wartosæ w #idef MAXSCC 4. Dozwolone 's³owa' i 'argumenty' to: chip s³owo chip s³u¿y do oddzielania strof. jego argumentem mo¿e byæ wszys tko. Argumenty nie s± u¿ywane. data_a u¿ywane do zdeklarowania adresu portu "data" dla kana³u 'A'. Argument w formie hexadecymalnej, tj. 0x300. ctrl_a u¿ywany do zdeklarowania adresu portu "control" dla kana³u 'A'. Argu ment w formie hexadecymalnej, tj. 0x304 data_b u¿ywany do zdeklarowania adresu portu "data" dla kana³u 'B'. Argument w formie hexadecymalnej, tj. 0x301. ctrl_b u¿ywany do zdeklarowania adresu portu "control" dla kana³u 'B'. Argu ment w formie hexadecymalnej, tj. 0x305 irq u¿ywany do zdeklarowania IRQ u¿ywanego przez 8530 SCC w be¿±cej strofie. Argument w formie liczby ca³kowitej, tj. 5 pclock u¿ywany do zdeklarowania czêstotliwo¶ci zegara na igle PCLK w 8530.. Argument w formie liczby ca³kowitej w Hz. Warto¶æ domy¶lna wynosi 4915200. board typ p³yty. Argumentem jest napis. A oto dozwolone warto¶ci: PA0HZP karta PA0HZP SCC EAGLE karta Eagle PC100 karta DRSI PC100 SCC PRIMUS karta PRIMUS-PC (DG9BL) BAYCOM karta BayCom (U)SCC escc jest nie dobowi±zkowe i do³±cza obs³ugê polepszonych scalaków, takich jak:8580, 85180, lub 85280. Argumentem jest tylko 'yes' lub 'no'. vector dla kart PA0HZP jest to warto¶æ tzw. "intack port". Mo¿e byæ tylko jeden dla wszystkich scalaków. Warto¶æ domy¶lna = 0. Nieobowi±zkowy. special okre¶la rejestry funkcyjne na niektórych kartach. Nieobowi±zkowy. Warto¶æ domy¶lna = 0. option jest nieobowi±zkowy i przyjmuje waro¶æ domy¶ln± 0. Oto przyk³adowe konfiguracje dla najbardziej popularnych kart: BayCom USCC chip 1 data_a 0x300 ctrl_a 0x304 data_b 0x301 ctrl_b 0x305 irq 5 board BAYCOM # # SCC chip 2 # chip 2 data_a 0x302 ctrl_a 0x306 data_b 0x303 ctrl_b 0x307 board BAYCOM PA0HZP SCC chip 1 data_a 0x153 data_b 0x151 ctrl_a 0x152 ctrl_b 0x150 irq 9 pclock 4915200 board PA0HZP vector 0x168 escc no # # # chip 2 data_a 0x157 data_b 0x155 ctrl_a 0x156 ctrl_b 0x154 irq 9 pclock 4915200 board PA0HZP vector 0x168 escc no DRSI SCC chip 1 data_a 0x303 data_b 0x301 ctrl_a 0x302 ctrl_b 0x300 irq 7 pclock 4915200 board DRSI escc no Je¶li twoja karta pracuje pod NOS'em i masz do niej konfiguracjê, to mo¿esz u¿yæ polecenia 'gencfg' do konwersji poleceñ sterownika PE1CHL NOS. Powstaje wtedy plik przydatny do za³±czenia w pliku konfigura cyjnym dla sterownika z8530. Polecenia 'gencfg' odpala siê z tymi samymi paramatrami co sterownik PE1CHL pod NET/NOS, np.: # gencfg 2 0x150 4 2 0 1 0x168 9 4915200 Powy¿sze wygeneruje szkic konfiguracyjny dla karty OptoSCC. 77..22..77..33.. KKoonnffiigguurraaccjjaa kkaannaa³³uu.. Sekcja Konfiguracji Kana³u zajmuje siê zdeklarowniem tych wszystkich parametrów, które rz±dz± portem , na którym chcesz pracowaæ. Znów mamy tutaj strofy. Ka¿da strofa reprezentuje jeden logiczny port, zatem bêdziemy mieli dwie strofy poniewa¿ ka¿da karta 8530 SCC mo¿e mieæ dwa porty. Poni¿sze 's³owa' i 'argumenty' s± równie¿ zapisywane do pliku /etc/z8530drv.conf i musz± wystêpowaæ za sekcj± o parametrach sprzêtu. Kolejno¶æ w tej sekcji jest bardzo istotna, lecz je¶li bêdziesz pod±¿a³ za sugerowan± sekwencj± to powinno dzia³aæ wszystko w porz±dku. Dozwolone 's³owa' i 'argumenty to: device musi staæ w pierszym wierszu deklaracji portu i okre¶la nazwê pliku w katalogu /dev/ stanowi±cego podstawê dalszej konfiguracji, tj. /dev/scc0 speed okre¶la prêdko¶æ interfejsu w bitach na sekundê. Argumentem jest liczba calkowita, np. 1200. clock okre¶la w parametry dla zegara. Dozwolone warto¶ci to: dpll normalny tryb halfduplex external MODEM dostarcza swój w³asny zegar Rx/Tx divider u¿ycie devidera fullduplex, je¶li jest zainstalowany mode okre¶la czy kodowanie danych ma byæ za³aczone. Argumentami s±: nrzi lub nrz rxbuffers okre¶la liczbê buforów odbioru, dla których nale¿y rezerwowaæ pamiêæ. Argumentem jest liczba ca³kowita, np. 8. txbuffers okre¶la liczbê buforów nadawania, dla których nale¿y rezerwowaæ pamiêæ. Argumentem jest liczba ca³kowita, np. 8. bufsize okre¶la rozmiary buforów odbioru i transmisji. Argumentem jest liczba bytów i stanowi on od sumê wszystkich 'ramek', zatem trzeba wiêc wzi±æ pod uwagê równie¿ nag³ówki protoko³u AX.25 a nie li tylko pole danych. S³owo to jest nieobowi±zkowe i przyjmuje warto¶æ domy¶ln± 384. txdelay to warto¶æ opó¿nienia transmisji dla KISS, argumentem jest liczba ca³kowita. persist to warto¶æ parametru persist dla KISS, argumentem jest liczba ca³kowita. slot to jest warto¶æ slottime dla KISS. argumentem jest liczba ca³kowita w mS. tail to jest warto¶æ tail dla KISS. argumentem jest liczba ca³kowita w mS. fulldup to jest oznaczenie fullduplex dla KISS, argumentem jest liczba ca³kowita. 1==Full Duplex, 0==HALF DUPLEX. wait to jest warto¶æ wait dla KISS, argumentem jest liczba ca³kowita w mS. min to jest warto¶æ min dla KISS, argumentem jest liczba ca³kowita w S. maxkey to jest warto¶æ maximum keyup dla KISS, argumentem jest liczba ca³kowita w S. idle to jest warto¶æ licznika idle dla KISS, argumentem jest liczba ca³kowita w S. maxdef to jest warto¶æ maxdef dla KISS, argumentem jest liczba ca³kowita. group to jest warto¶æ group dla KISS, argumentem jest liczba ca³kowita. txoff to jest warto¶æ txoff dla KISS, argumentem jest liczba ca³kowita w mS. softdcd to jest warto¶æ softdcd dla KISS, argumentem jest liczba ca³kowita. slip to jest oznaczenie slip dla KISS, argumentem jest liczba ca³kowita. 77..22..77..44.. UU¿¿yywwaanniiee sstteerroowwnniikkaa.. Przy u¿ywaniu sterownika traktujemy urz±dzenia /dev/scc* tak, jak urz±dzenie seryjne tty z doczepionym TNC w trybie KISS. Na przyk³ad, aby skonfigurowaæ j±dro do ob³ugi sieci pod Linuxem przy u¿yciu swojej karty nale¿y u¿yæ polecenia: # kissattach -s 4800 /dev/scc0 VK2KTJ Mo¿na te¿ doczepiæ NOS'a w dok³adnie taki sam sposób. Z JNOS'a, np. wykonaæ móg³by¶ polecenie: attach asy scc0 0 ax25 scc0 256 256 4800 77..22..77..55.. NNaarrzzêêddzziiaa ''ssccccssttaatt'' oorraazz ''ssccccppaarraamm''.. Pomocnym przy diagnostyce urz±dzenia SCC jest program 'sccstat'. Wy¶wietla on bie¿±c± konfiguracjê. Spróbuj go tak uruchomiæ: # sccstat /dev/scc0 wy¶wietli to szerok± gamê informacji zwi±zanych z ustawieniem i ogóln± kondycj± portu /dev/scc0 SCC. Polecenie 'sccparam' pozwala na zmianê i modyfikowanie parametrów podczas pracy. Sk³adnia przypomina polecenie 'param' z NOS'a, zatem aby ustawiæ txtail urz±dzenia na 100mS, nale¿a³oby napisaæ: # sccparam /dev/scc0 txtail 0x8d 77..22..88.. JJaakk uuttwwoorrzzyyææ uurrzz±±ddzzeenniiee BBPPQQ zz eetthheerrnneetteemm?? Linux jest kompatybilny z BPQ Ethernet. Umo¿liwia to na przepust protoko³u AX.25 po Lokalnej Sieci ethernetowej i doczepienie swojej maszyny do innej obs³uguj±cej BPQ na Lokalnej Sieci. Interfejsy sieciowe typu BPQ nosz± nazwê 'bpq[0-9]'. Interfejs 'bpq0' powi±zane jest z interfejsem 'eth0', a 'bpq1' z interfejsem 'eth1', itd. Konfiguracja jest trywialna. Najpierw trzeba ustawiæ standardowe urz±dzenie Ethernet. To oznacza, ¿e po wkompilowaniu obs³ugi karty Ethernet do j±dra nale¿y zobaczyæ czy pracuje poprawnie. Zajrzyj do Ethernet-HOWTO jak tego dokonaæ. Aby ustawiæ obs³ugê BPQ potrzebujesz przypisaæ interfejsowi Ethernet znak/identyfikator AX.25. Oto polecenie, które to spowoduje: # /sbin/ifconfig bpq0 hw ax25 vk2ktj-14 up I znów, nie zapomnij, ¿e znak/identyfikator, który tutaj podajesz musi zgadzaæ siê z wpisem w pliku /etc/ax25/axports dla portu, którego chcesz u¿ywaæ. 77..22..99.. UUssttaawwiieenniiee wwêêzz³³aa BBPPQQ ddoo wwssppóó³³pprraaccyy zz oobbss³³uugg±± AAXX..2255 ppoodd LLiinn uuxxeemm.. W normalnych warunkach BPQ Ethernet stosuje adres multicast. Pod Linuxem tak nie jest, zamiast tego stosowany jest zwyczajny Ethernetowy adres broadcast. Nale¿y zatem zmodyfikowaæ plik NET.CFG dla sterownika BPQ ODI w nasêpuj±cy sposób: LINK SUPPORT MAX STACKS 1 MAX BOARDS 1 LINK DRIVER E2000 ; lub inne MLID wed³ug w³asnej karty INT 10 ; PORT 300 ; wed³ug w³asnej karty FRAME ETHERNET_II PROTOCOL BPQ 8FF ETHERNET_II ; wymagane dla BPQ - zmieniæ PID BPQPARAMS ; nieobowi±zkowe - tylko wtedy, ; gdy znieniasz docelowy adres ETH_ADDR FF:FF:FF:FF:FF:FF ; docelowy adres 77..33.. UUssttaawwiieenniiee ppaarraammeettrróóww ooppeerraaccyyjjnnyycchh ddllaa iinntteerrffeejjssuu AAXX..2255 Pakiet ax25-utils zawiera w sobie program narzêdziowy 'axctl', który pozwala na ustawienie ró¿norodnych parametrów interfejsu AX.25. Polecenie to jest zupe³nie proste w u¿yciu a podrêcznik systemowy 'man' dostarcza kompletnego opisu, przyk³adowym jednak sposobem u¿ycia tego programu mo¿e byæ: # /usr/sbin/axctl radio -window 2 -t1 5 -n2 10 Powy¿sze polecenie ustawi³oby warto¶ci takie jak Window, T1 oraz N2 dla portu AX.25 nazwanego tu 'radio'. 77..44.. UUssttaawwiieenniiuu rroouuttiinngguu AAXX..2255.. Je¶li jest potrzeba mo¿na ustawiæ domy¶lne ¶cie¿ki do digipeaterów dla konkretnych wêz³ow. Przydaje siê to przy zarówno czystych ³±czach AX.25 jak i opartych o IP. Robimy to poleceniem 'axparms'. Znowu, podrêcznik systemowy 'man' podaje wszystkie szczegó³y, lecz prosty przyk³ad mo¿e byæ taki: # /usr/sbin/axparms -route add radio VK2XLZ VK2SUT Polecenie to utworzy³oby ¶cie¿kê digipeatera dla stacji VK2XLZ przez stacjê VK2SUT na porcie AX.25 nosz±cego nazwê 'radio'. 88.. UUssttaawwiiaanniiee iinntteerrffeejjssuu AAXX..2255 ddoo pprraaccyy ww TTCCPP//IIPP.. Ustawienie portu AX.25 do pracy w TCP/IP jest bardzo proste. Je¶li posiadasz interfejs KISS to masz dwie metody do ustawienia adresu IP. Polecenie 'kissattach' posiada opcjê, która pozwala na okre¶lenie adresu IP. Metoda konwencjonalna przy u¿yciu polecenia 'ifconifg' zadzia³a na wszystkich typach interfejsów. A zatem, zmieniaj±c poprzedni przyk³ad dla KISS: # /usr/sbin/kissattach -i 44.136.8.5 -m 512 /dev/ttyS0 radio # /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 ax0 # /sbin/route add default ax0 utworzy to interfejs AX.25 z adresem IP 44.136.8.5 oraz MTU 512 bytów. Je¶li zachodzi potrzeba to nale¿y inne parametry ustawiæ tez polece niem 'ifconfig' raz jeszcze. Je¶li posiadasz jakikolwiek inny typ interfejsu to stosujesz polecenie 'ifconfig' do ustawienia adresu ip i netmask dla danego portu i dodajesz routing przez ów port, tak jak zrobi³by¶ to dla ka¿dego jednego interfejsu TCP/IP. Poni¿szy przyk³ad jest dla interfejsu Karty PI, ale zadzia³a równie dobrze dla ka¿dego interfejsu sieciowego AX.25: # /sbin/ifconfig pi0a 44.136.8.5 netmask 255.255.255.0 up # /sbin/ifconfig pi0a broadcast 44.136.8.255 mtu 512 # /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 pi0a # /sbin/route add default pi0a Polecenia powy¿sze powinny byæ znane dla tych, którzy u¿ywali NOS lub jego pochodne lub jakiekolwiek inne oprogramowanie TCP/IP. Zauwa¿, ¿e je¶li masz ju¿ ustawione jaki¶ interfejs sieciowy to routing domy¶lny nie jest ci potrzebny. Aby to wypróbowaæ zpróbuj 'zapingowaæ' lub zrób telnet do lokalnego wêz³a: # ping -i 5 44.136.8.58 Zauwa¿ zastosowanie '-i 5', które sprawia, ¿e pingowanie odbywa siê co 5 sekund, a nie jak pierwotnie co 1 sekundê. 99.. UUssttaawwiieenniiee ppoorrttuu ddllaa NNeettRRoomm.. Protokó³ Netrom wykorzystuje i zale¿y od portów AX.25, które utworzy³e¶ uprzednio. Protokó³ NetRom biega po plecach protoko³u AX.25. Nale¿y zrobiæ edycjê dwóch plików, aby ustawiæ sobie NetRom na interfejsie AX.25. Jeden plik okre¶la interfejsy NetRomu, a drugi porty AX.25, po których NetRom bêdzie biega³. 99..11.. EEddyyccjjaa pplliikkuu //eettcc//aaxx2255//nnrrppoorrttss Na pocz±tek plik /etc/ax25/nrports. Plik ten okre¶la porty NetRomu podobnie jak plik /etc/ax25/axports okre¶la porty AX.25. Ka¿de urz±dzenie NetRom musi zawieraæ swój wpis w pliku /etc/ax25/nrports. Normalnie, na Linuxie spotykamy tylko jedno urz±dzenie Netrom, które u¿ywa wielu zdeklarowanych portów AX.25. W niektórych tylko wypadkach, jak np. z BBS'em, mo¿na utworzyæ dodatkowy pseudonim dla wêz³a NetRom, wówczas bêdzie wiêcej ni¿ jeden. Plik ten ma tak± formê: name callsign alias paclen description Gdzie: name to tekst, wed³ug którego chcesz odwo³ywaæ sie do tego portu. callsign to jest znak/identyfikator, na którym pracowaæ bêdzie protokó³ NetRom. Uwaga: nie jest to znak, do którego u¿ytkownicy bêd± siê ³±czyæ, aby wej¶æ do twojego wêz³a. (program 'node' opisany jest dalej). Znak ten powinien byæ unikalny i nie powinien powtarzaæ siê nigdzie w pliku /etc/ax25/axports lub /etc/ax25/nrports. alias to jest przypisany pseudonim dla portu NetRom paclen to jest maksymalny rozmiar ramek NetRom transmitowanych przez ten port description dowolna nazwa dla tego portu Oto jak mo¿e to wygl±daæ: netrom VK2KTJ-9 LINUX 236 Linux Switch Port Plik ten u¿ywany jest m. in. przez program _c_a_l_l. 99..22.. UUssttaawwiieenniiee pplliikkuu //eettcc//aaxx2255//nnrrbbrrooaaddccaasstt Nastêpny plik to /etc/ax25/nrbroadcast. Zawiera on parê wpisów. Normalnie potrzebny jest jeden apis dla ka¿dego portu AX.25 po którym puszczany bêdzie protokó³ NetRom. Plik przyjmuje taki format: axport min_obs def_qual worst_qual verbose Gdzie: axport to nazwa portu uzyskana z pliku /etc/ax25/axports. Je¶li w pliku /etc/ax25/axports nie ma wpisu dla danego portu oznacza to, ¿e zabraknie routingu dla NetRom na tym porcie oraz, ¿e broadcasts bêd± ignorowane. min_obs jest to warto¶æ dla min obscelecence dla tego portu def_qual okre¶la warto¶æ default quality dla NetRomu na tym porcie worst_qual okre¶la warto¶æ 'worst quality' dla NetRomu na tym porcie, wszystki routingi o tej warto¶ci bêd± ignorowane verbose to jest oznakowanie czy z tego portu wychodziæ bêdzie NetRom broadcast w pe³nej formie czy te¿ jednynie broadcast o tym wê¿le. Oto przyk³ad: radio 1 200 100 1 99..33.. JJaakk uuttwwoorrzzyyææ iinntteerrffeejjss ssiieecciioowwyy ddllaa NNeettRRoomm.. Po ustawieniu powy¿szych dwóch plików nale¿y teraz utworzyæ urz±dzenie NetRom w bardzo podobny sposób do tego, w jaki czynili¶my do dla urz±dzeñ AX.25. Tym razem stosujemy polecenie 'nrattach'. Dzia³a ono tak samo jak 'axattach' z t± ró¿nic±, ¿e powoduje doczepienie sieciowych interfejsów zwanych 'nr[0-9]'. I znów, przy pierwszym u¿yciu utworzon zostaje interfejs 'nr0', przy nastêpnym u¿yciu, 'nr1' itd. Zatem, aby doczepiæ sieciowy interfejs do portu NetRom, który zdefiniowali¶my uprzednio, wydaliby¶my polecenie: # nrattach netrom Polecenie to wygenerowa³o by pojawienie siê interfejsu (nr0), z parametrami wed³ug szczegó³ów okre¶lonych w pliku /etc/ax25/nrports dla portu 'netrom'. 99..44.. OOddppaalleenniiee ddeemmoonnaa NNeettRRoomm.. J±dro Linuxa obs³uguje wszystkie mechanizmy protoko³u NetRom, nie potrafi tylko wykonaæ niektórych funkcji. Demon NetRomu bierze na siebie tablice routingowe i broadcasty NetRomu. Uruchamiamy go poleceniem: # /usr/sbin/netromd -i Po pewnej chwili powiniene¶ zobaczyæ jak plik /proc/net/nr_neigh wype³nia siê powoli informacjami o s±siednich stacjach NetRom. Nie zapomnij umie¶ciæ polecenia /usr/sbin/netromd w jednym z plików *rc, aby zosta³o odpalone przy ³adowaniu systemu operacyjnego. 99..55.. uussttaawwiieenniiee rroouuttiinngguu ddllaa NNeettRRoomm Mo¿liwe jest ustawienie statycznych ¶cie¿ek NetRom do poszczególnych wêz³ów. Pozwala na to polecenie 'nrparms'. podrêcznik systemowy 'man' podaje kompletny opis, a tutaj mamy prosty przk³ad: # /usr/sbin/nrparms -nodes VK2XLZ-10 + #MINTO 120 5 radio VK2SUT-9 Polecenie to utworzy³oby ¶cie¿kê statyczn± #MINTO:VK2XLZ-10 poprzez s±siada VK2SUT-9 na porcie AX.25 o nazwie 'radio'. Mo¿na te¿ rêcznie dokonaæ wpisu dla s±siednich stacji przy u¿yciu polecenia nrparms, Przyklad: # /usr/sbin/nrparms -routes radio VK2SUT-9 + 120 polecenie to wpisa³oby VK2SUT-9 jako s±siada z warto¶ci± 'quality' 120, wpis nie zostanie usuniêty automatycznie lecz jest sta³y. 1100.. UUssttaawwiieenniiee iinntteerrffeejjssuu NNeettRRoomm ddllaa pprraaccyy ww TTCCPP//IIPP.. Ustawianie interfejsu NetRom dla pracy w TCP/IP przypomina zupe³nie konfigurowanie interfejsu AX.25 dla pracy w TCP/IP. Tutaj te¿, mo¿na albo okre¶liæ adres IP i warto¶æ MTU w wierszu poleceñ dla 'nrattach', albo zastosowaæ polecenie 'ifconfig' i 'route'. Nale¿y jednak rêcznie wprowadziæ wpisy ARP dla wêz³ów, do których chcesz mieæ routing poniewa¿ brakuje mechanizmu, dziêki któremu twój komputer móg³by dowiedzieæ siê o adresach NetRom, które powinien u¿yæ aby dotrzeæ do poszczególnego wêz³a IP. Zatem, doczepimy teraz interfejs nr0 z adresem IP 44.136.8.5 i MTU 512 oraz ustawimy go wed³ug szczegó³ów zawartych w pliku /etc/ax25/nrports na porcie NetRom o nazwie "netrom": # /usr/sbin/nrattach -i 44.136.8.5 -m 512 netrom # route add 44.136.8.5 nr0 lub mo¿na zrobiæ to tak, ale rêcznie: # /usr/sbin/nrattach netrom # ifconfig nr0 44.136.8.5 netmask 255.255.255.0 hw netrom VK2KTJ-9 # route add 44.136.8.5 nr0 Nastêpnie, dla ka¿dego wêz³a IP, który chesz aby by³ osi±galny, potrzeba dopisaæ recznie warto¶ci dla ARP i route. Dopiszmy zatem wêze³ docelowy z adresem IP 44.136.80.4 o adresie NetRom BBS:VK3BBS osi±galnego przez s±siada VK2SUT-0: # route add 44.136.80.4 nr0 # arp -t netrom -s 44.136.80.4 vk2sut-0 # nrparms -nodes vk3bbs + BBS 120 6 sl0 vk2sut-0 Argumenty '120' i '6' podane dla 'nrparms' to 'quality' i 'absole cence' dla NetRomu, który u¿ywa ich dla tej ¶cie¿ki. 1111.. UUssttaawwiieenniiee ppoorrttuu RRoossee Sieciowa warstwa packet protoko³u Rose przypomina trzeci± warstwê specyfikacji protoko³u X.25. Obs³uga Rose w j±drze Linuxa jest odmian± implementacji Rose przyjêtej przez FPAC. Sieciowa warstwa packet protoko³u Rose u¿ywa i polega na portach AX.25, które uprzednio utworzy³e¶. Protokó³ Rose biega po plecach protoko³u AX.25. Aby ustawiæ Rose potrzeba dopisaæ plik konfiguracyjny dla portów Rose. 1111..11.. UUssttaawwiieenniiee pplliikkuu //eettcc//aaxx2255//rrssppoorrttss.. Plikiem, gdzie dopisujemy interfejsy dla Rose jest /etc/ax25/rsports. Okre¶la on porty Rose w podobny sposób jak plik /etc/ax25/axports robi to dla portów AX.25. Oto jego format: name addresss description Gdzie: name jest tekstem, wed³ug którego chcesz odwo³ywaæ siê do tego portu. address jest 10-cio cyfrowym adresem Rose, który przypisujesz temu portowi. description jest dowolnym tekstem opisuj±cym port. Oto jak mo¿na to wpisaæ: rose 5050294760 Rose Port Zauwa¿, ¿e Rose u¿ywaæ bêdzie domy¶lnie znaku/identyfikatora podanego dla portu AX.25 , chyba ¿e specjalnie podasz inny. Aby podaæ osobny znak/identyfikator dla Rose, który u¿ywany bêdzie na ka¿dym u¿ywanym porcie, trzeba wydaæ polecenie 'rsparms' w taki sposób: # /usr/sbin/rsprams -call VK2KTJ-10 Przyk³ad ten spowodowa³by, ¿e Linux s³ucha³by na znaku/identyfikatorze VK2TKJ-10 i u¿ywa³by tego¿ znaku na wszystkich portach AX.25 ustaw ionych dla ³±czno¶ci drog± Rose. 1111..22.. JJaakk ddoocczzeeppiiææ ssiieecciioowwyy iinntteerrffeejjss RRoossee?? Po utworzeniu pliku /etc/ax25/rsports mo¿na doczepiæ urz±dzenie Rose w taki sam spoób jak urz±dzeia AX.25. Tym razem u¿ywa siê polecenia 'rsattach'. Polecenie 'rsattach' doczepia sieciowe interfejse zwane 'rose[0-5]'. Przy pierwszym poleceniu rsattach powstaje interfejs 'rose0', przy drugim, 'rose1', itd. Przyk³ad: # rsattach rose Polecenie to wygeneruje interfejs Rose (rose0) ustawiony wed³ug szczegó³ów podanych w pliku /etc/ax25/rsports dla wpisu nazwanego 'rose'. 1111..33.. UUssttaawwiieenniiee rroouuttiinngguu ddllaa RRoossee.. Obecnie, protokó³ Rose obs³uguje jedynie ¶cie¿ki statyczne. Program 'rsparms' pozwala na zapisanie tablic routingowych dla Rose pod Linuxem. Na przyk³ad: # rsparms -nodes add 5050295502 radio vk2xlz Powy¿sze doda³oby ¶cie¿kê do wêz³a Rose 5050295502 na porcie AX.25 'radio' znajduj±cego w pliku /etc/ax25/axports przez stacjê s±siedni± o znaku VK2XLZ. Mo¿liwe jest ustawienie ¶cie¿ki, która uchwyci wiele docelowych stacji Rose w formacie jednego wpisu. Sk³adnia wygl±da nastêpuj±co: # rsparms -nodes add 5050295502/4 radio vk2xlz co jest jednoznaczne w wy¿ej podanym przyk³adem z t± ró¿nic±, ¿e uch wycone zostaj± tutaj wszystkie stacje docelowe rozpoczynaj±ce siê od 4 cyfr pocz±tkowych, w tym wypadku 5050. Jeszcze inaczej mo¿na zapisaæ to tak: # rsparms -nodes add 5050/4 radio vk2xlz co jest chyba mniej dwuznaczne. 1122.. ££±±cczznnoo¶¶ccii AAXX..2255//NNeettRRoomm//RRoossee.. Po zaktywizowaniu i ustawieniu wszystkich interfejsów AX.25, NetRom i Rose mo¿na w koñcu popróbowaæ ³aczno¶ci. Pakiet programów narzêdziowych AX.25 zawiera program zwany 'call', który jest programem terminala z roz³±cznym ekranem dla AX.25, NetRom i Rose. Prosta ³±czno¶æ wygl±da tak: /usr/bin/call radio VK2DAY via VK2SUT £±czno¶æ z wêz³em NetRom o pseudonimie SUNBBS wygl±da tak: /usr/bin/call netrom SUNBBS £±czno¶æ przez Rose do stacji HEARD o wê¼le 5050882960, w ten sposób: /usr/bin/call rose HEARD 5050882960 Uwaga: 'call' musi wiedzieæ na jakim porcie odbywa siê ³±czno¶æ poniewa¿ te same stacje mog± byæ przecie¿ osi±galne przez jakikolwiek port uprzednio skonfigurowany. Wiêcej informacji mo¿na znale¼æ w podrêczniku systemowym 'man'. 1133.. UUssttaawwiieenniiee LLiinnuuxxaa ddoo pprrzzyyjjmmoowwaanniiaa ³³±±cczznnoo¶¶ccii.. Linux jako system operacyjny posiada ogromne mo¿liwo¶ci i nagina siê do wielu sytuacji, gdy trzeba go konfigurowaæ. Z elastyczno¶ci± przychodzi te¿ trud ustawiena go tak, ¿eby robi³ to czego chcemy. Trzeba zadaæ sobie wiele pytañ przed rozpoczêciem ustawienia Linuxa do przyjmowania ³±czno¶ci z zewn±trz przez Rose, AX.25 i NetRom. Najwa¿niejszym z nich jest:"Co chcê, aby u¿ytkownicy zobaczyli podczas ³±czno¶ci?". Ludzie pisz± rozmaite ciekawe programy, które mog± s³u¿yæ u¿ytkownikom, na przyk³ad 'pms' zawarty w ax25-utils, lub 'node', bardziej rozbudowany' te¿ dostêpny w ax25-utils. Mo¿na te¿ daæ u¿ytkownikom szansê zalogowania sie i u¿ycia pow³oki systemowej lub napisaæ w³asny program, jak±¶ grê lub bazê danych i pozwoliæ u¿ytkownikom zrobiæ do niej ³±czno¶æ. Cokolwiek postanowisz musisz okre¶liæ to oprogramowaniu AX.25, aby wiedzia³o co odpaliæ podczas wchodz±cych ³±czno¶ci. Program 'ax25d' przypomina 'inetd' stosowany powszechnie do przyjmowania wchodz±cych ³±czno¶ci TCP/IP na unixach. Czuwa on i nas³uchuje na wchodz±ce ³±czno¶ci. Je¶li j± wykryje to sprawdza swój plik systemowy, aby zdecydowaæ jakim programem us³u¿yæ tej konkretnej ³±czno¶ci. Wyt³umaczymy zatem jak ustawiæ ten plik, który jest standardowy, narzêdziem do przyjmowania wchodz±cych ³±czno¶ci. 1133..11.. EEddyyccjjaa pplliikkuu //eettcc//aaxx2255//aaxx2255dd..ccoonnff.. Plik ten ustawia demona 'ax25d' protoko³u AX.25, który to demon zajmuje siê wchodz±cymi ³±czno¶ciami AX.25, NetRom i Rose. Na perwszy rzut oka jest troche powik³ane ale po chwili przekonasz siê, ¿e "nie taki diabe³ czarny, jak go maluj±". Trzeba byæ tylko ¶wiadomy paru ma³ych pu³apek. Ogólny format pliku ax25d.conf jest taki: # This is a comment and is ignored by the ax25d program. [port_name] || <port_name> || {port_name} <peer1> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments> <peer2> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments> parameters window T1 T2 T3 idle N2 <mode> <peer3> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments> default window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments> Gdzie: # staj±c na pocz±tku wiersza oznacza komentarz i jest ca³kowicie pomi jane przez program 'ax25d'. <port name> nazwa portu AX.25, NetRom lub Rose koresponduj±ca kolejno do plików /etc/ax25/axports, /etc/ax25/nrports and /etc/ax25/rsports. Nazwa portu objêta jest nawiasem '[]' dla portu AX.25, '<>' dla NetRom, '{}' dla Rose. Mo¿na te¿ inaczej zapisaæ to pole stosuj±c 'znak/identyfika tor via' przed nazw± portu, pokazuj±c w ten sposób, ¿e bêdzie mo¿na ³±czyæ siê do tego interfejsu przez podany tutaj znak. Podamy dalej przyk³ad, który to zilustruje. <peer> znak/identyfikator wêz³a wchodz±cego, dla którego te ustawienia bêd± obowi±zywaæ. Je¶li nie podasz tutaj numerycznego identyfikatora to ka¿dy bêdzie pasowa³. window parametr Window dla AX.25 (K) lub MAXFRAME dla tego ustawienia T1 licznik retransmisji Ramki (T1) w jednoskach pó³sekundowych T2 czas wyczekiwania oprogramowania AX.25 na nastêpn± ramkê przed przygo towaniem odpowiedzi, w jednostkach jednosekundowych. T3 czas wyczekiwania zanim oprogramowanie AX.25 zamknie bezczynn± ³±czno¶æ, mierzone w jednostkach 1 sekundy. idle warto¶æ licznika braku akrywno¶ci w sekundach N2 liczba kolejnych retransmisji, które nast±pi± zanim ³±cze zostanie zamkniête. <mode> dostarcza mechanizmu pozwalaj±cego na okre¶lenie pewnego typu zez woleñ. Podaj±c rozmaite literki, ka¿da reprezentuje jakie¶ zezwolenie, mo¿na manipulowaæ t± funkcj±. Literki musz± byæ albo ma³e albo du¿e i musz± byæ w jednym ci±gu bez spacji. Oto do one: u/U UTMP - nie u¿ywane v/V Validate call - nie u¿ywane q/Q Quiet - nie prowadzi log-u dla ³±czno¶ci n/N check NetRom Neighbour - nie u¿ywane d/D Disallow Digipeaters - ³±czno¶æ musi byæ bezpo¶rednia, bez digi l/L Lockout - odrzuca ³±czno¶æ */0 marker - ustawia znaczek, nie zmienia zezwoleñ <uid> 'userid' w Linuxie dla programu, który bêdzie obs³ugiwa³ wchodz±c± ³±czn¶¶æ <cmd> pe³na ¶cie¿ka dostêpu programu, bez ¿adnych argumentów <cmd-name> tekst, który wyst±pi dla tego programu po wydaniu polecenia systemowego 'ps' (Najczêsciej nazwa w³asna programu bez ¶cie¿ki dostêpu). <arguments> s± to argumenty podawane w wierszu poleceñ dla <cmd>. Argumenty te przybieraj± rozmaite znaczenie w zale¿no¶ci od poni¿szych ustawieñ: %d Nazwa portu, na którym przyjêto ³±czno¶æ. %U znak/identyfikator AX.25 do³±czonej stacji bez numerka SSID, du¿ymi literami. %u znak/identyfikator AX.25 do³±czonej stacji bez numerka SSID, ma³ymi literami. %S znak/identyfikator AX.25 do³±czonej stacji z numerkiem SSID, du¿ymi literami. %s znak/identyfikator AX.25 do³±czonej stacji z numerkiem SSID, ma³ymi literami. %P znak/identyfikator wêz³a, od którego dokonuje siê ³±czno¶æ, bez numerka SSID, du¿ymi literami %p znak/identyfikator wêz³a, od którego dokonuje siê ³±czno¶æ, bez numerka SSID, ma³ymi literami %R znak/identyfikator wêz³a, od którego dokonuje siê ³±czno¶æ, z numerkiem SSID, du¿ymi literami %r znak/identyfikator wêz³a, od którego dokonuje siê ³±czno¶æ, z numerkiem SSID, ma³ymi literami Potrzebna jest jedna sekcja wed³ug powy¿szego formatu dla ka¿dego interfejsu AX.25, NetRom i Rose, na którym przyjmowane maj± byæ wchodz±ce ³±czno¶ci typu AX.25, NetRom i Rose. W paragrafie tym s± jeszcze dwa specjalne wiersze, jeden rozpoczyna siê od s³owa 'parameters' a drugi od 'default' (tak, tak, ró¿ni± siê). Wiersze te s³u¿± do specjalnych ce³ów. Wiersz 'default' s³u¿y jako siatka-na-wszystko. Wchodz±ce ³±czno¶ci, które nie maj± w³asnych zezwoleñ na danym interfejsie <interface_call> dostan± warto¶ci domy¶lne podane w 'default'. Je¶li wpisu 'default' nie ma w ogóle to wszystkie wchodz±ce ³±czno¶ci nie posiadaj±ce w³asnych zezwoleñ bêd± natychmiast odrzucone bez ostrze¿enia. Wiersz 'parameters' jest trochê bardziej subtelny i to tutaj jest ta pu³apka, o której wspomina³em u pocz±tku. Jakiekolwiek pole, którejkolwiek deklaracji dla wêz³a wchodz±cego mo¿na wype³niæ znaczekiem '*' by uzyskaæ 'warto¶æ domy¶ln±'. Wiersz 'parameters' jest wierszem, który deklaruje wspomniane 'warto¶ci domy¶lne'. Oprogramowanie j±dra z kolei posiada swoje w³asne warto¶ci domy¶lne, których u¿yje je¶li nic nie okre¶lisz w wierszu 'parameters'. Pu³apka polega na tym, ¿e warto¶ciustawione wierszem 'parameters' dzia³aj± tylko w dól, a nie w górê. Mo¿na mieæ wiêcej ni¿ tylko jeden wpis 'parameters' dla poszczególnych interfejsów grupuj±c sobie warto¶ci domy¶lne. 1133..22.. PPrroossttyy pprrzzyykk³³aadd pplliikkuu aaxx2255dd..ccoonnff ffiillee.. No dobrze, teraz ilustracja: # ax25d.conf for VK2KTJ - 02/03/97 # This configuration uses the AX.25 port defined earlier. # <peer> Win T1 T2 T3 idl N2 <mode> <uid> <exec> <argv[0]>[<args....>] [VK2KTJ-0 via radio] parameters 1 10 * * * * * root /usr/sbin/axspawn axspawn %u + VK2XLZ * * * * * * * VK2DAY * * * * * * * NOCALL * * * * * * L default 1 10 5 100 180 5 * root /usr/sbin/pms pms -a -o vk2ktj [VK2KTJ-1 via radio] default * * * * * 0 root /usr/sbin/node node <netrom> parameters 1 10 * * * * * NOCALL * * * * * * L default * * * * * * 0 root /usr/sbin/node node {VK2KTJ-0 via rose} parameters 1 10 * * * * * root /usr/sbin/axspawn axspawn %u + VK2XLZ * * * * * * * VK2DAY * * * * * * * NOCALL * * * * * * L default 1 10 5 100 180 5 * root /usr/sbin/pms pms -a -o vk2ktj {VK2KTJ-1 via rose} default * * * * * 0 root /usr/sbin/node node radio Powy¿ej ukazane jest, ¿e ktokolwiek usi³uj±cy ³±czno¶ci do znaku `VK2KTJ-0' na porcie AX.25 o nazwie 'radio' otrzyma takie zezwolenia: Je¶li kto¶ ma ustawione 'NOCALL' zostanie odrzucony, patrz u¿ycie literki 'L'. Wiersz 'parameters' zmienia dwie warto¶ci spo¶ród domy¶lnych warto¶ci j±dra (Windows i T1) oraz wyznacza program /usr/sbin/axspawn program, aby by³ odpalony. Ktorakolwiek instancja programu 'axspawn' uruchomiona w ten sposób bêdzie widoczna po wydaniu polecenia 'ps' w Linuxie jako axspawn. Dwa nastêpne wiersze dostarczaj± definicji dla dwóch stacji, do których powy¿sze regu³y zostan± zastosowane. Ostatni wiersz w paragrafie jest definicj± typu siatka-na-wszystko i zostanie zastosowana do wszystkich innych stacji (³±cznie z VK2XLZ i VK2DAY je¶li mieæ bêd± inne numerki SSID ni¿ -1). Definicja ta ustawia wprost wszystkie warto¶ci, dodatkowo odpala wchodz±cym ³±czno¶ciom typu AX.25 program 'pms' informuj±c go, ¿e ³±czno¶æ jest typu AX.25 i ¿e w³a¶cicielem jest znak VK2KTJ. (Patrz 'Ustawianie PMS'a' poni¿ej). Nastêpna konfiguracja przyjmuje ³±czno¶ci do znaku VK2KTJ-1 przez port 'radio'. Odpala ona program 'node' dla wszystkich, którzy siê do niego ³±cz±. Kolejna konfiguracja obs³uguje NetRom. Zauwa¿ zastosowanie nawiasów znaku-wiêkszo¶ci i znaku-mniejszo¶ci zamiast nawiasów kwadratowych. One w³a¶nie deklaruj± wej¶cie do NetRom. Ustawienie jest prostsze i mówi tylko tyle, ¿e ktokolwiek wchodzi do stacji przez NetRom na porcie zwanym 'netrom' otrzyma program 'node', chyba ¿e ma znak 'NOCALL' i wtedy zostanie odrzucony. Dwie ostanie konfiguracje przeznaczone s± dla wchodz±cych ³±czno¶ci Rose. Pierwsza dla ludzi, którzy poprzez adres naszego wêz³a Rose wo³aj± znak 'vk2ktj-0' a druga dal tych, co wo³aj± znak 'VK2KTJ-1'. Dzia³aj± one w dok³adnie ten sam sposób. Zauwa¿ zastosowane nawiasy, które odró¿niaj± port Rose. Powy¿szy przyk³ad jest zmy¶lony ale my¶lê, ¿e jasno ilustruje wa¿ne cechy sk³adni pliku konfiguracyjnego. Pe³ny opis pliku znajdziesz w podrêczniku systemowym 'man' dla ax25d.conf. Za³±czono bardziej szczegó³owy przyk³ad w pakiecie ax25-utils, który te¿ siê mo¿e przydaæ. 1133..33.. UUrruucchhaammiiaanniiee ddeemmoonnaa aaxx2255dd.. Po edycji wspomnianych dwóch plików mo¿na odpaliæ program ax25d poleceniem: # /usr/sbin/ax25d Gdy program pracuje, wówczas u¿ytkownicy powinni móc ³±czyæ siê przez AX.25 do twojego Linuxa. Pamiêtaj, aby¶ umie¶ci³ polecenie ax25d w plikach rc, aby startowa³o za ka¿dym razem gdy w³aczasz komputer. 1144.. UUssttaawwiieenniiee wwêêzz³³aa.. Oprogramowanie wêz³a zosta³o zrobione przez Tomi'ego Manninen tomi.manninen@hut.fi i opiera³o siê g³ownie na programie PMS. Dostarcza ono do¶æ elastycznych i kompletnych mo¿liwo¶ci dla wêz³a, które ³atwo ustawiæ. U¿ytkownicy, po ustaleniu ³±czno¶ci, mog± odpaliæ Telnet, wykonaæ dalsze ³±czno¶ci NetRom, Rose lub AX.25 jak równie¿ uzuskiwaæ rozmaite informacje tak jak Finger, lista Wêz³ow i stacji ostanio s³yszanych, itp. Wêze³ mo¿na ustawiæ do¶æ prosto tak, ¿e zaserwuje on jak±kolwiek us³ugê dostêpn± pod Linuxem. Normalnie, 'node' wywo³ywany mo¿e byæ przez program 'ax25d', odpowie on te¿ na wezwania wchodz±ce drog± TCP/IP dziêki 'inetd', który wpu¶ci u¿ytkownika i odpali go dla niego, lub mo¿na go uruchomiæ z wiersza poleceñ. 1144..11.. UUttwwoorrzzeenniiee pplliikkuu //eettcc//aaxx2255//nnooddee..ccoonnff.. Plik node.conf decyduje o g³ównej konfiguracji wêz³a. Jest prostym plikiem tekstowym, a jego sk³adnia jest taka: # /etc/ax25/node.conf # configuration file for the node(8) program. # # Linie rozpoczynaj±ce siê od # s± komentarzami i s± ignorowane. # Hostname # deklaruje nazwê 'hostname' dla wêz³a hostname radio.gw.vk2ktj.ampr.org # Local Network # pozwala na okre¶lenie tego co 'local' w celach rewizji zezwoleñ # przy u¿yciu node.perms localnet 44.136.8.96/29 # Hide Ports # Je¶li wpisane, pozwala na ukrycie portów przed u¿ytkownikami. Podane porty # nie bêd± wy¶wietlane poleceniem (P)orts. hiddenports rose netrom # Callserver # je¶li wpisane, pozwoli u¿ytkownikom na dostêp do callserver'a. callserver zone.oh7rba.ampr.org # Node Identification. # to pojawi siê w zachêcie systemowej wêz³a NodeId LINUX:VK2KTJ-9 # NetRom port # To jest nazwa portu NetRom, który u¿ywany bêdzie do wychodz±cych ³±czno¶ci # z wêz³a 'node'. NrPort netrom # Node Idle Timeout # Okre¶la w sekundach warto¶æ "idle time" dla ³±czno¶ci z tym wêz³em idletimout 1800 # Connection Idle Timeout # okre¶la licznik "idle" dla ³±czno¶ci uczynionych przez ten wêze³, w sekundach # seconds. conntimeout 1800 # Reconnect # Okre¶la czy ³±czno¶æ z u¿ytkownikami powinna byæ ponowiona gdy ich ³±czno¶æ # z innymi stacjami zosta³a przerwana czy te¿ maj± byæ roz³±czeni na dobre. # reconnect on # Pseudonimy dla poleceñ # pozwala na uproszczenie uwik³anych poleceñ wêz³a alias CONV "telnet vk1xwt.ampr.org 3600" alias BBS "connect radio vk2xsb" # Pseudonimy dla poleceñ zewnêtrzych # Pozwala na odpalanie programów z zewn±trz spod wêz³a 'node'. # extcmd <cmdname> <flag> <userid> <command> # Flag == 1 to jest jedyna dotychczas stosowana funkcja. # <command> jest pisane tak jak dla ax25d.conf extcmd PMS 1 root /usr/sbin/pms pms -u %U -o VK2KTJ # Logging # Ustawienie log-u do log-u systemowego. 3 - najbardziej gadatliwe, # 0 - wy³±czone. loglevel 3 1144..22.. UUttwwoorrzzeenniiee pplliikkuu //eettcc//aaxx2255//nnooddee..ppeerrmmss.. Wêze³ 'node' pozwala na ustawienie pewnych zezwoleñ dla u¿ytkowników. Zezwolenia te pozwalaj± ci decydowaæ, którzy u¿ytkownicy mog± u¿ywaæ opcji takich jak (T)elnet, i (C)onnect, na przyk³ad, a którzy nie mog±. Plik node.perms zawiera w³a¶nie te informacje i sk³ada siê z piêciu kluczowych pól. Je¶li pole zawiera znaczek '*' to zastêpuje cokolwiek. Przydaje siê to do definicji regu³ domy¶lnych. user zawiera znak lub u¿ytkownik do którego kolejne zezwolenia siê tycz±. Numerki SSID s± ignorowane, zatem umie¶ciæ tutaj nale¿y go³y znak. method ka¿dy protokól i metoda dostêpu mo¿e otrzymaæ swoje zezwolenia. Na przyklad mo¿esz zezwoliæ u¿ytkownikom do³±czonym protoko³em AX.25 i NetRom u¿ywaæ opcji (C)onnect, ale zabroniæ tego innym, którzy weszli telnetem z nie-lokalnego wêz³a. Drugie pole zatem pozwala okre¶lenie regu³ dla ³±czno¶ci, które wesz³y ró¿nymi metodami. Oto te metody: method description ------ ----------------------------------------------------------- ampr U¿ytkownik wszed³ telnetem z adresu amprnet (44.0.0.0) ax25 U¿ytkownik wszed³ drog± AX.25 host U¿ytkownik wszed³ odpalaj±c 'node' z wiersza poleceñ inet U¿ytkownik wszed³ telnetem z adresu 'non-local'i z poza amprnet local U¿ytkownik wszed³ telnetem z komputera typu 'local' netrom U¿ytkownik wszed³ drog± NetRom rose U¿ytkownik wszed³ drog± Rose * U¿ytkownik wszed³ jakkolwiek. port Dla u¿ytkowników wchodz±cych przez AX.25 mo¿na udzielaæ zezwoleñ osobno ka¿dy port Ax.25. Pozwala to decydowaæ co u¿ytkownicy AX.25 mog± robiæ zale¿nie od tego do jakiego portu siê pod³±czyli. Trzecie pole zawiera nazwê owych portów, je¶li u¿ywasz tej funkcji. Dzia³a to tylko dla ³±czno¶ci przez AX.25. password nieobowi±zkowo, mo¿na ustawiæ wêze³ tak, ¿e przedstawi on u¿ytkownikom zachêtê systemow±, aby wprowadzili has³o zanim siê do³±cz±. Przydaje siê to do ochrony tych u¿ytkowników, którzy ustawiony maj± wysoki stopieñ zezwoleñ. Je¶li czwarte pole ma byæ wype³nione to jego warto¶æ jest has³em, które bêdzie przyjête. permissions to pole stoi jako ostanie dla ka¿dego wpisu w pliku. Jest ono kodowane bitowo tak, ¿e ka¿da us³uga posiada swoj± warto¶æ bitow±, której wpisanie powoduje, ¿e zezwolenie na us³ugê jest udzielone lub zabronione. Oto lista us³ug i im koresponduj±cych waro¶ci bitowych: value description ----- ------------------------------------------------- 1 Zezwolenie na Login 2 Zezwolenie na (C)onnect drog± AX.25 4 Zezwolenie na (C)onnect drog± NetRom 8 Zezwolenie na (T)elnet do 'lokalnych' wêz³ów 16 Zezwolenie na (T)elnet do wêz³ów z sieci amprnet (44.0.0.0) 32 Zezwolenie na (T)elnet do 'nie-lokalnych', wêz³ów z poza amprnet 64 Zezwolenie na (C)onnect drog± AX.25 przez ukryte porty 128 Zezwolenie na (C)onnect drog± Rose Aby zakodowaæ warto¶æ zezwoleñ dla danej regu³y poprostu wybierz te zezwolenia, które chcesz, aby u¿ytkownik mia³ i dodaj ich warto¶ci bitowe. Otrzyman± w ten sposób cyfrê nale¿y umie¶ciæ w polu nr. 5. Oto jak mo¿na ustawiæ plik node.perms: # /etc/ax25/node.perms # # Operatorem wêz³a jest VK2KTJ, posiada has³o 'secret' i wolno mu szystko # jak±kolwiek metod± wszed³ vk2ktj * * secret 255 # Ci u¿ytkownicy s± nie wejd± w ogóle NOCALL * * * 0 PK232 * * * 0 PMS * * * 0 # U¿ytkownicy INET te¿ nie wejd± w ogóle * inet * * 0 # Ci, którzy weszli drog± AX.25,NetRom, Local, Host i AMPR maj± zezwolenie # na (C)onnect i (T)elnet do wêz³ów 'lokalnych' i amprnet, ale nie innych # adresów IP. * ax25 * * 159 * netrom * * 159 * local * * 159 * host * * 159 * ampr * * 159 1144..33.. UUssttaawwiieenniiee wwêêzz³³aa,, aabbyy bbyy³³ uurruucchhaammiiaannyy zz aaxx2255dd.. Program 'node' powinien normalnie byæ uruchamiany przez program 'ax25d'. Dokonujemy tego wpisuj±c odpowiednie regu³y w pliku /etc/ax25/ax25d.conf. Na mojej maszynie chcialem, aby u¿ytkownicy mieli wybór ³±czno¶ci do wêz³a lub innych programów us³ugowych. 'ax25d' pozwala w³a¶nie na to je¶li sprytnie powpisujesz pseudonimy portów. Dla przyk³adu, stosuj±c powy¿sz± konfiguracjê ax25d chcê ustawiæ 'node' tak, aby u¿ytkownicy ³±cz±cy siê do VK2KTJ-1 dostali siê do wêz³a 'node'. Wpisa³em zatem takie wiersze do pliku /etc/ax25/ax25d.conf: [vk2ktj-1 via radio] default * * * * * 0 root /usr/sbin/node node To oznacza, ¿e oprogramowanie j±dra Linuxa odpowie na pro¶bê o ³±czno¶æ dla znaku 'VK2KTJ-1' na porcie AX.25 nazwanego 'radio', i odpali potem program node. 1144..44.. UUssttaawwiieenniiee wwêêzz³³aa,, aabbyy bbyy³³ uurruucchhaammiiaannyy zz ''iinneettdd''.. Je¶li chcesz, aby u¿ytkownicy mogli wej¶æ telnetem do twojej maszyny i uzyskaæ dostêp do wêz³a 'node' to nie ma nic prostszego. Najpierw zdecyduj na jaki port u¿ytkownicy powinni siê ³aczyæ. W tym wypadku wybra³em arbitralny numer 4000, choæ Tomi podaje w swojej dokumentacji szczegó³y na temat jak podmieniæ zwyczajnego demona telnetu na demona wêz³a 'node'. Potrzebujesz zmodyfikowaæ dwa pliki. Do pliku /etc/services powiniene¶ dodaæ: node 4000/tcp #OH2BNS's node software a do pliku /etc/inetd.conf dodaj: node stream tcp nowait root /usr/sbin/node node Po wykonaniu tego i po restarcie programu 'inetd' u¿ytkownicy, którzy wchodz± telnetem na port 4000 w twojej maszynie dostan± zachêtê syste mow±, aby siê zalogowaæ, i je¶li zosta³o to dla nich skonfigurowane to has³o, po podaniu którego pod³±czeni zostan± do wêz³a 'node'. 1155.. UUssttaawwiieenniiee pprrooggrraammuu aaxxssppaawwnn.. Program axspawn pozwala wchodz±cym drog± AX.25 stacjom na zalogowanie siê do twojego komputera. Mo¿e on zostaæ wywo³any programem ax25d w taki sam sposób jak program 'node'. Nale¿y dodaæ tego typu zapis do pliku /etc/ax25/ax25d.conf, je¶li pragniesz, aby u¿ytkownicy mogli logowaæ siê do twojego komputera: default * * * * * 1 root /usr/sbin/axspawn axspawn %u Je¶li wiersz zakoñczony zostanie znaczniek '+' to u¿ytkownicy, przed zalogowaniem, bêd± musieli uderzyæ przycisk 'Return'. Warto¶æ domy¶lna ma to wy³±czone. Poszczególne zapisy dla stacji, które wystêpuj± pod tym wierszem spowoduj± uruchomienie programu 'axspawn' podczas wchodz±cej ³±czno¶ci. Po uruchomieniu, 'axspawn' najpierw sprawdza czy na wierszu poleceñ ukaza³ siê legalny znak/edentyfikator, pozbawia go numerka SSID, a potem sprawdza plik /etc/passwd czy u¿ytkownik posi ada za³o¿one konto. Je¶li tak, i has³o jest ""(puste) lub '+', wtedy wpuszcza u¿ytkownika. Je¶li w polu has³a jest cokolwiek innego to u¿ytkownik jest odpytywany o swoje has³o. Przy nieistaniej±cych kon tach w pliku /etc/passwd 'axspawn' mo¿na ustawiæ tak, ¿e utworzy je sam. 1155..11.. UUttwwoorrzzeenniiee pplliikkuu //eettcc//aaxx2255//aaxxssppaawwnn..ccoonnff.. Zachowanie programu axspawn mo¿na zmieniaæ plikiem /etc/ax25/axspawn.conf. Plik ten ma formê: # /etc/ax25/axspawn.conf # # pozwala na automatyczne zak³adanie kont dla u¿ytkowników create yes # # wpuszcza u¿ytkownika 'go¶æ' je¶li wy¿ej jest 'no' lub niepowiod³y sie # inne rzeczy. Wy³acza sie 'no'. guest no # # ID dla groupy lub nazwa konta dla samozak³adania konta group ax25 # # first user id to use first_uid 2001 # # maximum user id max_uid 3000 # # gdzie umieszczaæ katalog domowy dla nowych u¿ytkowników home /home/ax25 # # pow³oka systemowa dla u¿ytkownika shell /bin/bash # # kojarzenie znaków z u¿ytkownikami dla ³±czno¶ci wychodz±cych. associate yes Powy¿sze osiem ustawialnych prze³aczników maj± takie znaczenie: # wskazuje, ze to komentarz create je¶li ustawione na 'yes' to 'axspawn usi³uje sam za³o¿yæ konto dla u¿ytkownika, który jeszcze nie ma wpisu w pliku /etc/passwd. guest pole to okre¶la nazwê login-u konta dla ludzi w³±czaj±cych siê ale nie maj±cych jeszcze konta przy 'create' ustawionym na 'no'. Zwykle jest to ax25 lub guest group to pole okre¶la nazwê grupy, jaka zostanie u¿yta dla w³±czaj±cych siê u¿ytkowników nie maj±cych jeszcze wpisu w pliku /etc/passwd. first_uid jest to cyfra pierwszego userid wybieranego automatycznie dla nowych u¿ytkowników. max_uid jest to najwy¿szy numer, jaki bêdzie u¿yty dla userid nowych u¿ytkowników home to jest katalog domowy (login) dla nowych uzytkowników shell to okre¶la pow³okê systemow± dla nowych u¿ytkowników associate to oznaczenie wskazuje czy u¿ytkownik, po zalogowaniu siê, wykonuj±cy ³±czno¶æ wychodz±c± bêdzie mia³ swój w³asny znak, czy te¿ znak twojej stacji. 1166.. UUssttaawwiieenniiee PPMMSS.. Program pms to implementacja prostego 'personal message system' napisanego pocz±tkowo przez Alan'a Cox. Dalszy rozwój podjêty zosta³ przez David'a Brown, N2RGT, dcb@vectorbd.com. Obecnie jest nadal bardzo prosty maj±cy mozliwo¶æ wys³ania e-mail'a do w³a¶ciciela systemu i uzyskaæ ograniczone informacje maszynie lecz David pracuje nad tym, jak poszerzyæ jego mo¿liwo¶ci i uczyniæ go bardziej u¿ytecznym. Pozosta³o wiêc teraz parê prostych plików do stworzenia, które udziel± u¿ytkownikom pewnych informacji o samym systemie, a potem dodaæ odpowiedni zapis do pliku ax25d.conf, aby do³±czaj±cy siê u¿ytkownicy dostali siê do PMS. 1166..11.. UUttwwoorrzzeenniiee pplliikkuu //eettcc//aaxx2255//ppmmss..mmoottdd.. Plik /etc/ax25/pms.motd zawiera 'wiadomo¶æ dnia', któr± u¿ytkownicy ujrz± po ustaleniu ³±czno¶ci i zwyk³ym nag³óku BBS. Ten prosty plik jest tekstowy i wiadomo¶æ w nim zawarta bêdzie wys³ana do u¿ytkowników. 1166..22.. UUttwwoorrzzeenniiee pplliikkuu //eettcc//aaxx2255//ppmmss..iinnffoo.. Plik /etc/ax25/pms.info równie¿ ma zawieraæ tekstowe, bardziej szczegó³owe informacje na tremat twojej stacji. Informacja w nim zawarta przedstawiana jest u¿ytkownikom w odpowiedzi na ich polecenie 'Info' z zachêty PMS>. 1166..33.. KKoojjaarrzzeenniiee zznnaakkóóww AAXX..2255 zz kkoonnttaammii uu¿¿yyttkkoowwnniikkóóww Gdy jaki¶ u¿ytkownik wysy³a pocztê do znaku AX.25 to 'pms' spodziewa siê, ¿e znak ten jest w³asno¶ci± prawdziwego u¿ytkownika z kontem na twojej maszynie. Opisane jest to w osobnej sekcji. 1166..44.. DDooddaanniiee PPMMSS ddoo pplliikkuu //eettcc//aaxx2255//aaxx2255dd..ccoonnff.. Dodanaie programu 'pms' do pliku /etc/ax25/ax25d.conf jest bardzo proste. Trzeba jednak pamiêtaæ o jednej malutkiej rzeczy. Dave doda³ mo¿liwo¶æ podania argumentów dla PMS na wierszu poleceñ, które kontroluj± kilkana¶cie konwencji zwi±zanych z koñcem wiersza. Konwencje AX.25 i NetRom oczekuj±, ¿e 'end-of-line' to 'carriage return', 'linefeed' podczas gdy w unixach to jest poprostu 'newline'.Wiêc, dla przyk³adu, je¶li checia³by¶ dodaæ zapis, który oznacza³by, ¿e nale¿y odpaliæ PMS dla wchodz±cej ³±czno¶ci przez port AX.25, to dadaj taki wiersz: default 1 10 5 100 5 0 root /usr/sbin/pms pms -a -o vk2ktj To poprostu odpala program pms mówi±c mu, ¿e jest to ³±czno¶æ wchodz±ca drog± AX.25 i ¿e w³a¶cicielem PMS'a jest vk2ktj. Popatrz na podrêcznik systemowy 'man' w sprawie innych argumentów dla innych metod dostêpu. 1166..55.. SSpprraawwddzzeenniiee PPMMSS''aa Aby sprawdziæ czy PMS dzia³a sprubuj tak± komendê z wiersza poleceñ: # /usr/sbin/pms -u vk2ktj -o vk2ktj Podstaw swój w³asny znak w miejsce mojego. Polecenie to odpali PMS mówi±c mu, ¿e ma u¿ywaæ uniksowych konwencji end-of-line, i ¿e u¿ytkownikiem loguj±cym siê jest vk2ktj. Mo¿esz zrobiæ teraz wszystko to, co u¿ytkownicy ³±cz±cy siê z zewn±trz. Dodatkowo móg³by¶ poprosiæ jak±¶ inn± stacjê, aby siê do ciebie do³±czy³a, aby potwierdziæ, ¿e ustawienie pliku ax25d.conf dzia³a poprawnie. 1177.. UUssttaawwiieenniiee pprrooggrraammóóww uusseerr__ccaallll.. Programy 'user_call' to w rzeczywisto¶ci s± 'ax25_call' i 'netrom_call'. Pomu¶lane s± one tak, ¿e mog± byæ wezwane z 'ax25d', w celu zautomatyzowania ³±czno¶ci z odleg³ymi komputerami. Naturalnie mo¿na je wywo³aæ z wielu innych miejsc, np. z pow³oki systemowej, lub innych demonów, jak np. programu 'node'. Przupominaj± w swej prostocie program 'call'. Nie zajmuj± siê obróbk± ¿adnych danych, zatem sam musisz zadbaæ o to jak traktowane bêdzie end-of-line. Rozpocznijmy od tego jak mo¿na ich u¿ywaæ. Wyobra¼ sobie, ¿e posiadasz ma³± sieæ w domu i ¿e jednym komputerem jest Linux spelniaj±cy rolê bramki radiowej, oraz drugi komputer, który jest wêz³em BPQ. Komputery z³±czone s± razem ethernetem. Noramlnie, u¿ytkownicy radiowi, aby móc ³±czyæ siê z wêz³em BPQ musieliby robiæ to przez digipeating poprzez twojego linuxa, lub po³±czyæ siê wpierw z programem 'node' na twoim linuxie, a stamt±d wykonaæ nastêpne po³±czenie do wêz³a BPQ. Wyobra¼ sobie, ¿e wêze³ BPQ ma znak VK2KTJ-9 a linux ma port o nazwie 'bpq' obs³uguj±cy AX.25/ethernet. Równie¿ dodajmy, ¿e bramka radiowa Linux posiada port radiowy 'radio'. Zapis do pliku /etc/ax25/ax25d.conf wygl±da³by w ten deseñ: [VK2KTJ-1 via radio] default * * * * * * * root /usr/sbin/ax25_call ax25_call bpq %u vk2ktj-9 i umo¿liwi³by u¿ytkownikom po³±czenie wprost do `VK2KTJ-1' co w grun cie rzeczy jest demonem ax25d pod Linuxem a nastêpnie prze³oczy³oby ich na ³±czno¶æ AX.25 do `VK2KTJ-9' przez interfejs 'bpq'. Jest ca³y asortyment innych mo¿liwych kombinacji, które s± do wypróbowania. Programy 'netrom_call' oraz 'rose_call' pracuj± w podobny sposób. Jeden z radioamatorów wykorzysta³ tê funkcjê, aby u³atwiæ ³±czno¶æ do odleg³ego BBS-u. Noramalnie u¿ytkownik musia³by wprowadziæ dlug± strunê poleceñ, aby wykonaæ tê ³±czno¶æ wiêc on dokona³ wpisu, który sprawia³, ¿e wspomniany BBS wygl±da³ tak, jakby dostêpny on by³ na sieci lokalnej; demon ax25d po¶redniczy³ w ³±czno¶ci do odleg³ego BBS-u. 1188.. KKoojjaarrzzeenniiee zznnaakkóóww AAXX..2255 zz kkoonnttaammii uu¿¿yyttkkoowwnniikkóóww LLiinnuuxxaa.. Istnieje wiele sutuacji, w których po¿±dane jest, aby powi±zaæ znak z kontem u¿ytkownika Linuxa. Jedn± z takich sutuacji by³aby, gdy wielu radioamatorów dziel± ze sob± tê sam± maszynê a chc± u¿ywaæ swoich znaków dla wychodz±cych ³±czno¶ci. Innym przyk³adem jest PMS, którego u¿ytkownicy chcieliby rozmawiaæ z jakim¶ u¿ytkownikiem na twoim komputerze. Oprogramowanie AX.25 dostarcza sposobu pozwalaj±cego na skojarzenie znaku z kontem u¿ytkownika. Wspominali¶my to ju¿ wcze¶niej w sekcji o PMS, ale podkre¶lam to raz jeszcze, ¿eby nie umknê³o to twej uwadze. Kojarzenia dokonujemy poleceniem 'axparms'. Ota jak wygl±da przyk³ad: # axparms -assoc vk2ktj terry Polecenie to kojarzy powy¿szy znak AX.25 vk2ktj z kontem 'terry' na tym komputerze. Wiêc przyk³adowo, ka¿da poczta dla vk2ktj z pms-u bêdzie dostarczona do konta 'terry' pod Linuxem. Zapamiêtaj, aby wpisaæ te kojarzenia do plików rc, aby dostêpne by³y za ka¿dym razem, gdy odpalasz komputer. Zauwa¿, ¿e nigdy nie powiniene¶ kojarzyæ znaku z kontem 'root' poniewa¿ spowoduje to du¿o problemów konfiguracyjnych w innych programach. 1199.. JJaakk ppoo³³±±cczzyyææ ssiieecciioowwee oopprrooggrraammoowwaanniiee NNOOSS zz jj±±ddrreemm lliinnuuxxaa?? Wielu ludzi preferuje któr±¶ z wersji NOS uruchamian± w Linuxie poniewa¿ oferuj± one wiele cech funkcji, do któtych przywykli. Wiêkszo¶æ tych ludzi chcia³oby równie¿ mieæ tak± mozliwo¶æ, aby NOS móg³ mówiæ do j±dra Linuxa po to, by móc zaoferowaæ jego niektóre us³ugi dla u¿ytkowników radiowych. 1199..11.. ££±±cczzeenniiee NNOOSS--aa ii LLiinnuuxxaa zzaa ppoommoocc±± ''ffaajjkkii''.. Nastêpuj±ca informacja jest wk³adem Brandon'a S. Albery, KF8NH, który wyt³umaczy³ jak wzajemnie po³±czyæ NOS'a uruchomionego pod Linuxem z samym j±drem Linuxa przy u¿yciu urz±dzenia 'fajka'. Poniewa¿ zarówno Linux jak NOS obs³uguj± protokó³ 'slip' mo¿liwe jest po³±czenie nich obu ustawiaj±c ³±cze slip. Kosztownym sposobem mo¿naby to zrobiæ za pomoc± pêtli kablowej i dwóch portów seryjnych; by³oby to powolne ³±cze. Linux dostarcza funkcji, która dostêpna jest na wielu innych Unixo-podobnych systemach operacyjnych, zwanej 'fajk±'. S± to specjalne pseudo interfejsy, które przedstawiaj± siê dla oprogramowania jako standardowe urz±dzenia tty, lecz faktycznie s± tylko pêtlami do nastêpnej 'fajki'. Urz±dzenia te mog± byæ u¿ywane je¶li program pierwszy otworzy je ze strony 'master', a nastêpnie program drugi ze strony 'slave'. Gdy oba koñce zostan± otworzone, wówczas programy mog± siê komunikowaæ ze sob± pisz±c poprostu literki przez 'fajkê' jakby to by³o normalne urz±dzenie terminalowe. Zanim po³±czysz jak±¶ wersjê NOS-a lub innego programu z jadrem Linuxa, wpierw musisz wybraæ jak±¶ 'fajkê'. Znajdziesz j± szukaj±c w katalogu '/dev'. Koñcówki 'master' nazywaj± siê ptyp[1-f] a koñcówki 'slave' znane s± jako: ttyp[1-f]. Pamiêtaj, ¿e wystêpuj± parami. Je¶li we¼miesz 'fajkê' /dev/ptypf jako koñcówkê 'master' to musisz dobraæ 'fajkê' /dev/ttypf jako 'slave'. Po wybraniu pary urz±dzeñ 'fajka', nale¿y przypisaæ koñcówkê 'master' dla j±dra a koñcówkê 'slave' dla programu NOS poniewa¿ j±dro Linuxa rozpoczyna jako pierwsze, a 'master' musi byæ otworzone na pocz±tku. Linux, warto wiedzieæ, powinien mieæ odmienny IP adres od adresu NOS- a, zatem musisz mu przypisaæ unikalny adres, je¶li jeszcze tego nie uczyni³e¶. # /sbin/slattach -s 38400 -p slip /dev/ptypf & # /sbin/ifconfig sl0 broadcast 44.255.255.255 pointopoint 44.70.248.67 / mtu 1536 44.70.4.88 # /sbin/route add 44.70.248.67 sl0 # /sbin/route add -net 44.0.0.0 netmask 255.0.0.0 gw 44.70.248.67 W tym przyk³adzie j±dro linuxa otrzyna³o adres IP 44.70.4.88 a program NOS adres IP 44.70.248.67. Polecenie 'route' w ostatnim wierszu instruuje j±dro linuxa, ¿e wszelkie datagramy z przeznaczeniem dla amprnet-u maj± i¶æ poprzez ³±cze slip utworzone poleceniem slattach. Zwykle polecenia powy¿sze umie¶ciæ nale¿a³oby w w plikach /etc/rc.d/rc.inet2 po tym jak wszystkie inne ustawienia siciowe zostan± wykonane, po to, aby ³±cze slip by³o dostêpne po prze³adowaniu komputera. Uwaga: nie ma powodów, aby u¿ywaæ cslip zamiast slip gdy¿ to w³a¶ciwe redukuje osi±gi poniewa¿ ³±cze to jest virtualne i zachodzi wystarczaj±co szybko, a uprzenia kompresja nag³ówków zabiera wiêcej czasu ani¿eli przesy³ nieskompresowanych datagramów. Ustawienie ³±cza po stronie NOS-a mo¿na pokusiæ siê i zrobiæ tak: # interfejs mo¿na nazwaæ jak ci siê podoba. ja nazwa³em go dla wygody # 'linux' # attach asy ttypf - slip linux 1024 1024 38400 route addprivate 44.70.4.88 linux Polecenia te utworz± port slip zwany 'linux' na 'fajce' z koñcówk± 'slave' i do³±cz± go do jadra linuxa, dodadz± '¶cie¿kê', aby ³±cze pracowa³o. Po wystartowaniu NOS-a pod Linuxem powiniene¶ móc 'zapin gowaæ' Linuxa i odwrotnie. Je¶li nie, posprawdzaj, ¿e nie pope³ni³e¶ ¿adnych b³êdów, szczególnie przy adresach i na koñcówkach 'fajek'. 2200.. ZZaappiissyy ww pplliikkuu //pprroocc.. System plików /proc zawiera pewn± liczbê plików zwi±zanych bezpo¶rednio z oprogramowaniem j±dra dla AX.25 i NetRom. U¿ywane s± one g³ownie przez programy z pakietu ax25-utils ale maj± taki format,¿e byæ mo¿e chcia³by¶ je przeczytaæ. Foramt jest naprawdê ³atwy i nie s±dzê, ¿e trzeba wiele t³umaczyæ. /proc/net/arp zawiera mapê dla protoko³u Address Resolution pomiêdzy adresami IP a adresami protoko³u warstwy MAC. Te obejmuj± AX.25, ethernet i niektóre protoko³y wartstwy MAC /proc/net/ax25 zawiera listê otwartych gniazd AX.25. Mog± one albo sluchaæ na nadchodz±ce ³±czno¶ci lub s± aktywne. /proc/net/ax25_bpqether zawiera mapê dla AX.25 a BPQ o znakach /proc/net/ax25_calls zawiera mapê o userid i znakach ustawion± przez polecenie axparms -assoc command. /proc/net/ax25_route zawiera informacjê na temat ¶cie¿ki digipeaterów /proc/net/nr zawiera listê gniazd NetRom, które s± otwarte na skutek tego, ¿e sluchaj± lub, ¿e s± aktywne. /proc/net/nr_neigh zawiera informacje o s±siadach, o których NetRom jest ¶wiadome. /proc/net/nt_nodes zawiera informacje o wêz³ach znanych dla oprogramowania NetRom /proc/net/rose zawiera listê otwartych gniazd Rose na skutek tego, ¿e albo s³uchaj± albo s± aktywne /proc/net/Rose_nodes zawiera mapê o docelowych stacjach Rose przez s±siadów Rose /proc/net/rose_neigh zawiera listê wêz³ów, które Rose zna /proc/net/rose_routes zawiera listê wszystkich aktywnych ³±czy Rose 2211.. PPrrzzyykk³³aaddoowwee kkoonnffiigguurraaccjjee.. Podane s± poni¿ej przyk³ady niektórych typowych konfiguracji. S± to tylko rady poniewa¿ jest tyle sposobów ustawienia swojej sieci ile istnieje sieci do skonfigurawania, ale te mog± przydaæ ci siê na pocz±tek. 2211..11.. MMaa³³aa ssiieeææ zz lliinnuuxxeemm jjaakkoo rroouutteerreemm ddllaa llookkaallnneejj ssiieeccii rraaddiioowweejj Wielu z was posiada ma³e, lokalne sieci w domu i chcecie pod³aczyæ te komputery do swojej lokalnej sieci radiowej. W³a¶nie takiego uk³adu u¿ywam sam w domu. Zadba³em o to, aby dostaæ odpowiedni± liczbê w³a¶ciwych adresów, tak, aby mo¿na by³o je uchwyciæ jednym routingiem dla wygody i u¿ywam ich na swojej lokalnej sieci ethernet. Wasz koordynator adresów IP pomo¿e wam w tym równie¿ je¶li chcecie tego sprobowaæ. Adresy mojej lokalne sieci Ethernet tworz± podsekcjê adresów sieci radiowej. Nastêpuj±ce ustawienie jest rzeczywistê dla linuxa jako routera na mojej sieci w domu: --- . | Network /---------\ . Network | 44.136.8.96/29| | . 44.136.8/24 \ | / | | Linux | . \|/ | | | . | | eth0 | Router | . /-----\ /----------\ | |---------------| |-----| TNC |----| Radio |---/ | 44.136.8.97 | and | . \-----/ \----------/ | | | sl0 | | Server | 44.136.8.5 | | | . | | | . | \_________/ . --- . . . . . . #!/bin/sh # /etc/rc.net # To ustawienie dostarcza jednego portu AX.25 w KISS i jednego interfejsu # Ethernet. echo "/etc/rc.net" echo " Configuring:" echo -n " loopback:" /sbin/ifconfig lo 127.0.0.1 /sbin/route add 127.0.0.1 echo " done." echo -n " ethernet:" /sbin/ifconfig eth0 44.136.8.97 netmask 255.255.255.248 \ broadcast 44.136.8.103 up /sbin/route add 44.136.8.97 eth0 /sbin/route add -net 44.136.8.96 netmask 255.255.255.248 eth0 echo " done." echo -n " AX.25: " kissattach -i 44.136.8.5 -m 512 /dev/ttyS1 4800 ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.8.255 route add -host 44.136.8.5 sl0 route add -net 44.136.8.0 window 1024 sl0 echo -n " Netrom: " nrattach -i 44.136.8.5 netrom echo " Routing:" /sbin/route add default gw 44.136.8.68 window 1024 sl0 echo " default route." echo done. # end /etc/ax25/axports # name callsign speed paclen window description 4800 VK2KTJ-0 4800 256 2 144.800 MHz /etc/ax25/nrports # name callsign alias paclen description netrom VK2KTJ-9 LINUX 235 Linux Switch Port /etc/ax25/nrbroadcast # ax25_name min_obs def_qual worst_qual verbose 4800 1 120 10 1 W j±drze trzeba uaktywniæ IP_FARWARDING. Pliki konfiguracyjne AX.25 s± mniej wiêcej takie same ja przyk³ady we wcze¶niejszych sekcjach, wiêc zajrzyj do nich gdy trzeba. Zdecydowa³em siê przypisaæ adres IP dla portu radiowego, który nie na³e¿y do bloku mojej domowej sieci. Nie musia³em tak robiæ, mo¿na by³o ¶mia³o u¿yæ 44.136.8.97 na tym porcie. 44.136.8.68 to moja lokalna bramka do enkapsulacji IPIP, zatem tutaj kierujê ¶cie¿kê domy¶ln±. Ka¿dy komputer na sieci Ethernet ma ¶cie¿kê: route add -net 44.0.0.0 netmask 255.0.0.0 \ gw 44.136.8.97 window 512 mss 512 eth0 Stosowanie parametrów mss i window oznacza, ¿e uzyskujê maksymalne osi±gi zarówno na p³±czeniach Ethernet jak i radiowych. - na routerze mam odpalone rzownie¿ ftp, http, smail i inne demony wiêc jest on jedynym komputerem, który innym serwuje us³ugi - mój router to pokorne 386DX20 z 20 Mb twardego dysku i bardzo minimaln± wersj± linuxa. 2211..22.. KKoonnffiigguurraaccjjaa pprrzzyykk³³aaddoowwaa ddllaa bbrraammkkii zz eennkkaappssuullaaccjj±± IIPPIIPP.. Linux jest obecnie pospolicie u¿ywany jako bramka dla enkapsulacji TCP/IP po ca³ym ¶wiecie. Nowy sterownik 'tunnel' obs³uguje wielokrotne ¶cie¿ki enkapsulacji i sprawia, ¿e demon ipip jest przestarza³y. Typowa konfiguracja wyg³±da³aby w takowy sposób: --- . | Network /---------\ . Network | 154.27.3/24 | | . 44.136.16/24 \ | / | | Linux | . \|/ | | | . | | eth0 | IPIP | . /-----\ /----------\ | ---|---------------| |-----| TNC |----| Radio |---/ | 154.27.3.20 | Gateway | . \-----/ \----------/ | | | sl0 | | | 44.136.16.1 | | | . | | | . | \_________/ . --- . . . . . . Pliki którymi trzeba siê zaj±æ to: # /etc/rc.net # ustawiamy tutaj jeden port radiowy AX.25 w trybie KISS, jeden Ethernet, # u¿ywamy sterownika 'tunnel' do IPIP encap/decapsulation # # echo "/etc/rc.net" echo " Configuring:" # echo -n " loopback:" /sbin/ifconfig lo 127.0.0.1 /sbin/route add 127.0.0.1 echo " done." # echo -n " ethernet:" /sbin/ifconfig eth0 154.27.3.20 netmask 255.255.255.0 \ broadcast 154.27.3.255 up /sbin/route add 154.27.3.20 eth0 /sbin/route add -net 154.27.3.0 netmask 255.255.255.0 eth0 echo " done." # echo -n " AX.25: " kissattach -i 44.136.16.1 -m 512 /dev/ttyS1 4800 /sbin/ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.16.255 /sbin/route add -host 44.136.16.1 sl0 /sbin/route add -net 44.136.16.0 netmask 255.255.255.0 window 1024 sl0 # echo -n " tunnel:" /sbin/ifconfig tunl0 44.136.16.1 mtu 512 up # echo done. # echo -n "Routing ... " source /etc/ipip.routes echo done. # # end. and: # /etc/ipip.routes # This file is generated using the munge script # /sbin/route add -net 44.134.8.0 netmask 255.255.255.0 tunl0 gw 134.43.26.1 /sbin/route add -net 44.34.9.0 netmask 255.255.255.0 tunl0 gw 174.84.6.17 /sbin/route add -net 44.13.28.0 netmask 255.255.255.0 tunl0 gw 212.37.126.3 ... ... ... /etc/ax25/axports # name callsign speed paclen window description 4800 VK2KTJ-0 4800 256 2 144.800 MHz Niektóre uwagi do zanotowania: - Nowy sterownik 'tunnel' u¿ywa pola gw w tablicach routingowych w miejsce parametru 'pointopoint' do okre¶lenia adresu odleg³ej bramki IPIP. Oto dlaczego obecnie obs³uguje wielokrotne ¶cie¿ki na ka¿dym interfejsie. - Mo¿na ustawiæ dwa interfejsy sieciowe z tym samym adresem. W tym przyk³adzie zarówno interfejs sl0 jak i tunl0 przyjê³y adres IP portu radiowego. Czyni siê tak w tym celu, aby odleg³a bramka widzia³a poprawne adresy na enkapsulo- wanych datagramach wysy³anych do niej z twojej bramki. - polecenia 'route' do okre¶lania enkapsulowanych ¶cie¿ek mo¿na wygenerowaæ u¿ywaj±c modyfikowanej wersji "skryptu munge". Podane jest to ni¿ej. Polecenia route wpisane by³yby potem do osobnego pliku i czytane przez bash z /etc/ipip.routes (za³o¿ywszy, ¿e nazwa³e¶ plik z poleceniami routingu nazw± /etc/ipip.routes) tak jak na ilustracji. Plik ¼ród³owy musi mieæ format w stylu poleceñ 'route' pod NOS-em. - Zauwa¿ stosowanie argumentu 'window' dla polecenia 'route'. Ustawienie tego parametru na w³a¶ciw± warto¶æ polepsza osi±gi na ³±czu radiowym Oto nowy skrypt 'tunnel-munge': #!/bin/sh # # From: Ron Atkinson <n8fow@hamgate.cc.wayne.edu> # # This script is basically the 'munge' script written by Bdale N3EUA # for the IPIP daemon and is modified by Ron Atkinson N8FOW. It's # purpose is to convert a KA9Q NOS format gateways route file # (usually called 'encap.txt') into a Linux routing table format # for the IP tunnel driver. # # Usage: Gateway file on stdin, Linux route format file on stdout. # eg. tunnel-munge < encap.txt > ampr-routes # # NOTE: Before you use this script be sure to check or change the # following items: # # 1) Change the 'Local routes' and 'Misc user routes' sections # to routes that apply to your own area (remove mine please!) # 2) On the fgrep line be sure to change the IP address to YOUR # gateway Internet address. Failure to do so will cause serious # routing loops. # 3) The default interface name is 'tunl0'. Make sure this is # correct for your system. echo "#" echo "# IP tunnel route table built by $LOGNAME on `date`" echo "# by tunnel-munge script v960307." echo "#" echo "# Local routes" echo "route add -net 44.xxx.xxx.xxx netmask 255.mmm.mmm.mmm dev sl0" echo "#" echo "# Misc user routes" echo "#" echo "# remote routes" fgrep encap | grep "^route" | grep -v " XXX.XXX.XXX.XXX" | \ awk '{ split($3, s, "/") split(s[1], n,".") if (n[1] == "") n[1]="0" if (n[2] == "") n[2]="0" if (n[3] == "") n[3]="0" if (n[4] == "") n[4]="0" if (s[2] == "1") mask="128.0.0.0" else if (s[2] == "2") mask="192.0.0.0" else if (s[2] == "3") mask="224.0.0.0" else if (s[2] == "4") mask="240.0.0.0" else if (s[2] == "5") mask="248.0.0.0" else if (s[2] == "6") mask="252.0.0.0" else if (s[2] == "7") mask="254.0.0.0" else if (s[2] == "8") mask="255.0.0.0" else if (s[2] == "9") mask="255.128.0.0" else if (s[2] == "10") mask="255.192.0.0" else if (s[2] == "11") mask="255.224.0.0" else if (s[2] == "12") mask="255.240.0.0" else if (s[2] == "13") mask="255.248.0.0" else if (s[2] == "14") mask="255.252.0.0" else if (s[2] == "15") mask="255.254.0.0" else if (s[2] == "16") mask="255.255.0.0" else if (s[2] == "17") mask="255.255.128.0" else if (s[2] == "18") mask="255.255.192.0" else if (s[2] == "19") mask="255.255.224.0" else if (s[2] == "20") mask="255.255.240.0" else if (s[2] == "21") mask="255.255.248.0" else if (s[2] == "22") mask="255.255.252.0" else if (s[2] == "23") mask="255.255.254.0" else if (s[2] == "24") mask="255.255.255.0" else if (s[2] == "25") mask="255.255.255.128" else if (s[2] == "26") mask="255.255.255.192" else if (s[2] == "27") mask="255.255.255.224" else if (s[2] == "28") mask="255.255.255.240" else if (s[2] == "29") mask="255.255.255.248" else if (s[2] == "30") mask="255.255.255.252" else if (s[2] == "31") mask="255.255.255.254" else mask="255.255.255.255" if (mask == "255.255.255.255") printf "route add -host %s.%s.%s.%s gw %s dev tunl0\n"\ ,n[1],n[2],n[3],n[4],$5 else printf "route add -net %s.%s.%s.%s gw %s netmask %s dev tunl0\n"\ ,n[1],n[2],n[3],n[4],$5,mask }' echo "#" echo "# default the rest of amprnet via mirrorshades.ucsd.edu" echo "route add -net 44.0.0.0 gw 128.54.16.18 netmask 255.0.0.0 dev tunl0" echo "#" echo "# the end" 2222.. PPrrooggrraammoowwaanniiee wwaarrssttwwyy ssiieecciioowweejj AAXX..2255,, NNeettRRoomm ii RRoossee.. Najwiêksz± bodaj¿e zalet± stosowania protoko³ów radioamatorskiego radia packet opartego o j±dro linuxa jest ³atwo¶æ, z jak± mo¿esz pisaæ aplikacje i programy i je na nim u¿ywaæ. Choæ temat Programowania Sieci pod Unixem przekracza ramy tego¿ dokumentu, to jednak opiszê tutaj elementarne szczegó³y dotycz±ce jak wykorzystaæ protoko³y AX.25, NetRom i Rose wewn±trz swojego oprogramowania. 2222..11.. RRooddzziinnyy aaddrreessóóww.. Programowanie sieciowe pod Linuxem dla AX.25, NetRom i Rose przypomina programowanie dla TCP/IP. Najwiêsz± ró¿nic± jest stosowana rodzina adresu i jego struktura, któr± nale¿y poprzekrêcaæ w odpowiednie miejsce. Nazwy rodziny adresów dla AX.25, NetRom i Rose to kolejno AF_AX25, AF_NETROM oraz AF_ROSE. 2233.. PPlliikkii nnaagg³³óówwkkoowwee.. Zawsze nale¿y do³±czyæ plik 'ax25.h', 'netrom.h' i rose.h' je¶li masz do czynienia z tymi protoko³ami. Prosty szkielet górnej czê¶ci wygl±da³by tak: Dla AX.25: #include <ax25.h> int s, addrlen = sizeof(struct full_sockaddr_ax25); struct full_sockaddr_ax25 sockaddr; sockaddr.fsa_ax25.sax25_family = AF_AX25 Dla NetRom: #include <ax25.h> #include <netrom.h> int s, addrlen = sizeof(struct full_sockaddr_ax25); struct full_sockaddr_ax25 sockaddr; sockaddr.fsa_ax25.sax25_family = AF_NETROM; Dla Rose: #include <ax25.h> #include <rose.h> int s, addrlen = sizeof(struct sockaddr_rose); struct sockaddr_rose sockaddr; sockaddr.srose_family = AF_ROSE; 2233..11.. KKwweessttiiaa zznnaakkóóww ii pprrzzyykk³³aaddyy.. W bibliotekach /lib/ax25.a zawartych w pakiecie progamów narzêdziowych ax25-utils znajduj± siê wbudowane rutyny konweruj±ce znaki wywo³awcze. Je¶li chcesz mo¿esz napisaæ swoje w³asne. Program narzêdziowy user_call jest wy¶mienitym przyk³adem na pocz±tek. ¬ród³a dla tych rutyn zawarte s± w pakiecie programów narzêdziowych AX.25-utils. Po spêdzeniu paru chwil pracuj±c nad nimi zauwa¿ysz, ¿e 90 procent roboty to przygotowanie otworzenia 'socket-u'. Wykonanie ³±czno¶ci jest ³atwe podczas gdy przygotowanie zajmuje trochê czasu. Przyk³ady s± na tyle proste, ¿e nie wprowadzaj± zamieszania. Je¶li masz jakie¶ pytanie to kieruj je na listê linux-hams, gdzie znajd± siê ludzie gotowi udzielæ ci odpowiedzi. 2244.. DDyysskkuussjjaa zzwwii±±zzaannaa zz RRaaddiieemm AAmmaattoorrsskkiimm ii LLiinnuuxxeemm.. Jest wiele miejsc, gdzie dyskutuje siê na temat Radio Amatorskiego i Linuxa, na przyk³ad na comp.os.linux.* lub na li¶cie pocztowej vger.rutgers.edu. Inne miejsca, gdzie siê to czyni, to listy pocztowe tcp-group na ucsd.edu (ojczyzna dyskusji na temat TCP/IP i radia amatorskiego), jak równie¿ kana³ #linpeople w sieci linuxnet na IRC. Aby zapisaæ siê na listê dyskusyjn± linux-hams, wy¶lij pocztê do: Majordomo@vger.rutgers.edu z tekstem: subscribe linux-hams w czêsci listu. Wiersz 'subject:' jest pomijany. Archiwum listy linux-hams znajduje siê na: http://zone.pspt.fi/archive/linux-hams/ oraz na http://zone.oh7rba.ampr.org/archive/linux-hams/. Staraj siê zajrzeæ tam zanim rozpoczniesz dyskusjê poniewa¿ odpowiedziano tam na wiele powszechnych pytañ. Aby zapisaæ siê na listê tcp-group, wy¶lij list do: listserver@ucsd.edu z tekstem: subscribe tcp-group w czêsci listu. Zauwa¿, ¿e lista tcp-group jest przeznaczona g³ównie do dyskusji o zaawansowanych protoko³ach, których TCP/IP jest przyk³adem, w Radiu Amatorskim. Nie zadaje siê tam pytañ dotycz±cych Linuxa. 2255.. PPooddzziiêêkkoowwaanniiaa.. Nastêpuj±ce osoby przyczyni³y siê do stworzenia tego dokumentu na przeró¿ne sposoby, w sposób ¶wiadomy lub nie¶wiadomy. Podajê ich bez szczególnego uszeregowania (tak jak pamiêtam): Jonathon Naylor, Thomas Sailer, Joerg Reuter, Rot Atkinson, Alan Cox, Craig Small, John Tanner, Brandon Allbery. 2266.. PPrraawwaa aauuttoorrsskkiiee.. AX25-HOWTO, informacja na temat jak zainstalowaæ i ustawiæ niektóre z wa¿niejszych pakietów obs³uguj±cych AX.25 pod Linuxem. Copyright © 1996 Terry Dawson. Jest to oproramowanie darmowe; mo¿e byæ modyfikowane i rozprowadzane na warunkach Ogólnej Licencji Publicznej GNU opublikowanej przez Free Software Foundation; licencja o wersji numer 2, lub dowolnie, jakakolwiek pó¼niejsza. Program ten rozprowadzany jest z nadziej±, ¿e bêdzie u¿yteczny, lecz BEZ JAKIEJKOLWIEK GWARANCJI; nawet bez gwarancji, ¿e moze byæ SPRZEDAWANY lub U¯YTECZNY DLA JAKIEGOKOLWIEK CELU. Wiêcej szczegó³ów znajdzesz w Ogólnej Licencji Publicznej GNU. Powiniene¶ by³ otrzymaæ egzemplarz Ogólnej Licencji Publicznej z tym programem; je¶li nie to napisz do: Free Software Foundation, Inc., 657 Mass Ave, Cambridge, MA 02139, USA. 2277.. OOdd tt³³uummaacczzaa.. AX25-HOWTO - t³umaczenie na jêzyk polski. Informacja jak zainstalowaæ i ustawiæ niektóre z najwa¿niejszym pakietów do obs³ugi protoko³u AX.25 pod Linuxem. Copyright © 1997 Benedict P. Barszcz. Wiele terminów, które w tym dokumencie zastosowa³em mo¿e brzmieæ dziwnie w uszach polskiego czytelnika. Przepraszam, wynika to z tego, ¿e polska terminologia radia packet jest mi zupe³nie nie znana. Radioamatorem zosta³em tutaj w USA i polskie nazewnictwo nie by³o wymogiem do egzaminu. To jest b³±d. Niektórych zwrotów nie t³umaczy³em ze wzg³êdow na ich ewidentno¶æ, ale na pewno w tym miejscu siê grubo mylê. Inne zwroty s± niezgrabne i w tym miejscu masz szerokie pole do popisu, czytelniku. ¦lij poprawki do poseidon@ziplink.net. Zwroty idiomatyczne stara³em siê zastêpowaæ naszymi, polskimi odpowiednikami. Czasem przesadzi³em, albo zupe³nie min±³em siê z celem:-) Mam wra¿enie, ¿e pope³ni³em te¿ b³êdy merytoryczne. Nie poprawi³em ich bo nie wiem gdzie:-). S± te¿ neologizmy, które nie zosta³y konsekwentnie u¿ywane w dokumencie, np. D¼wiêkoModem. Fragmenty w skrypcie 'munge' nie s± tlumaczone poniewa¿ nale¿± do pliku i s± komentarzem autora pliku. Zmiany w stosunku do orygina³u: ppoorrtt 44000000.. Port 4000 i port 3694/tcp dla node przez inetd; autor nie by³ konsekwentny. Wybra³em port 4000. ooddwwoo³³aanniiaa.. Odwa³anie do Net-2-HOWTO zamieni³em na NET-3-HOWTO wskazuj±c jednocze¶nie na jego polskie t³umaczenie. Zdaje siê, ¿e Net-2-howto ju¿ nie istnieje. nnaazzwwiisskkoo PPaannaa RReeuuggeerr.. W jednym z odwo³añ, Terry poda³ tylko imiê, a na innym miejscu równie¿ nawisko. Dla czytelno¶ci w pierwszym wypadku poda³em zarówno imiê jak i nazwisko. bbuuddoowwaa jj±±ddrraa.. kolejno¶æ komend budowy j±dra poprawiona, aby faktycznie dzia³alo tak, jak autor zamierzy³. cd /usr/src postawione przed mv linux linux.old. Odci±³em te¿ ¶cie¿kê od nazwy pliku ax25-utils-12.tar.gz tak, aby zadzia³a³o zgodnie z zamierzeniem autora. 2277..11.. PPooddzziiêêkkoowwaanniiaa.. Bardzo serdecznie chcia³bym podziêkowaæ Terry'emu Dawson, ¿e napisa³ ten dokument. Dopiero przy t³umaczeniu go, zrozumia³em jaki kawa³ roboty odwali³! Chcia³bym podziêkowaæ Bartkowi Maruszewskiemu, Piotrowi Têczyñskiemu oraz Piotrowi Pogorzelskiemu za (¶wiadom± i nie ¶wiadom±) pomoc i natchnienie, aby ten dokument powsta³. Jednocze¶nie chcia³bym przypomnieæ Waldkowi Ogonowskiemu, SP2ONG, ¿e to on jest wszystkiemu winiem - zarazi³ mnie Linuxem i nie wskaza³ kliniki, gdzie sie to paskuctwo leczy:-). Oraz dziêkuje wszystkim, którzy nade¶l± poprawki, które na pewno udoskonal± to t³umaczenie.