Linux NET-3-HOWTO, Linux w sieci Terry Dawson, VK2KTJ, terry@perf.no.itg.telstra.com.au v1.0, 22 luty 1997 wersja polska piotr.pogorzelski@ippt.gov.pl w1.0, kwiecieñ 1997 wersja polska - korekta Basia G³owacka jastra@gdansk.sprint.pl w1.1, grudzieñ 2001 Obs³uga sieci w j±drze systemu Linux zosta³a napisana niemal od zera. Osi±gi sieci tcp/ip w najnowszych wersjach j±dra sprawiaj±, ¿e Linux staje siê godn± uwagi alternatyw± dla innych, dominuj±cych w tej dziedzinie systemów. Naszym celem jest opisanie w jaki sposób zain stalowaæ i skonfigurowaæ oprogramowanie sieciowe, oraz ró¿ne inne narzêdzia pomagaj±ce w obs³udze sieci. ______________________________________________________________________ Spis tre¶ci 1. Zmiany w stosunku do poprzedniej wersji 2. Wprowadzenie. 2.1 Uwagi na temat tego dokumentu 3. Jak korzystaæ z tego dokumentu (NET-3-HOWTO-HOWTO ?). 4. Informacje ogólne na temat pracy Linuksa w sieci. 4.1 Krótka historia rozwoju modu³ów sieciowych j±dra Linuksa. 4.2 Sk±d zdobyæ inne informacje na temat zastosowañ sieciowych Linuksa. 4.3 Sk±d zdobyæ inne, nie zwi±zane z Linuksem informacje na temat technik sieciowych. 5. Podstawowe informacje na temat konfigurowania sieci. 5.1 Czego potrzebujê aby rozpocz±æ? 5.1.1 Aktualne ¼ród³a j±dra. 5.1.2 Aktualne narzêdzia sieciowe. 5.1.3 Programy-aplikacje sieciowe. 5.1.4 Adresy. 5.2 Gdzie umie¶ciæ polecenia konfiguracyjne ? 5.3 Tworzenie interfejsów sieciowych. 5.4 Konfiguracja interfejsu sieciowego. 5.5 Konfiguracja resolvera nazw. 5.5.1 Co to jest nazwa? 5.5.2 Jakie informacje bêd± niezbêdne. 5.5.3 /etc/resolv.conf 5.5.4 /etc/host.conf 5.5.5 /etc/hosts 5.6 Konfiguracja interfejsu pêtli zwrotnej 5.7 Trasowanie (routing). 5.7.1 Do czego s³u¿y program 5.8 Konfiguracja serwerów i us³ug sieciowych. 5.8.1 (TT 5.8.1.1 Przyk³ad pliku 5.8.2 (TT 5.8.2.1 Przyk³ad pliku 5.9 Inne pliki konfiguracyjne zwi±zane z sieci±. 5.9.1 (TT 5.9.2 (TT 5.10 Bezpieczeñstwo sieciowe i sterowanie dostêpem. 5.10.1 /etc/ftpusers 5.10.2 /etc/securetty 5.10.3 Mechanizm sterowania dostêpem pakietu 5.10.3.1 /etc/hosts.allow 5.10.3.2 /etc/hosts.deny 5.10.4 /etc/hosts.equiv 5.10.5 Prawid³owa konfiguracja demona 5.10.6 Firewalle. 5.10.7 Inne sugestie. 6. Informacje specyficzne technologii sieciowej 6.1 ARCNet 6.2 Appletalk ( 6.2.1 Konfiguracja oprogramowania Appletalk. 6.2.2 Eksportowanie plików Linuksa przez Appletalk. 6.2.3 Udostêpnianie twojej drukarki pod Linuksem w sieci Appletalk. 6.2.4 Uruchamianie oprogramowania Appletalk. 6.2.5 Test oprogramowania Appletalk. 6.2.6 Uwagi na temat korzystania z oprogramowania Appletalk. 6.2.7 Wiêcej informacji 6.3 ATM 6.4 AX25 ( 6.5 DECNet 6.6 EQL - multiple line traffic equaliser 6.7 Ethernet 6.8 FDDI 6.9 Frame Relay 6.10 Zliczanie ruchu (IP Accounting) 6.11 IP Aliasing 6.12 Filtrownie pakietów (IP Firewalling) 6.13 IPX ( 6.14 IPv6 6.15 ISDN 6.16 IP Masquerade 6.17 IP Transparent Proxy 6.18 Mobile IP 6.19 Multicast 6.20 NetRom ( 6.21 PLIP 6.21.1 Schemat kabla do po³±czenia PLIP. 6.22 PPP 6.22.1 Utrzymywanie za pomoc± 6.23 Rose protocol ( 6.24 SAMBA - `NetBEUI', `NetBios' support. 6.25 Klient protoko³u SLIP 6.25.1 dip 6.25.2 slattach 6.25.3 Kiedy u¿ywaæ ka¿dego z tych programów ? 6.25.4 Statyczny serwer SLIP z lini± modemow± i programem DIP. 6.25.5 Dynamiczny serwer SLIP z lini± modemow± i programem DIP. 6.25.6 Korzystanie z programu dip. 6.25.7 Sta³e po³±czenie SLIP przez liniê dzier¿awion± - slattach. 6.26 Serwer SLIP. 6.26.1 Serwer korzystaj±cy z programu 6.26.1.1 Sk±d wzi±æ 6.26.1.2 Konfiguracja pliku 6.26.1.3 Konfiguracja pliku 6.26.1.4 Konfiguracja pliku 6.26.1.5 Konfiguracja pliku 6.26.1.6 Konfiguracja pliku 6.26.2 Serwer SLIP korzystaj±cy z programu 6.26.2.1 Konfiguracja pliku 6.26.3 Serwer SLIP korzystaj±cy z pakietu 6.27 Obs³uga protoko³u STRIP (Starmode Radio IP) 6.28 Token Ring 6.29 X.25 6.30 WaveLan Card 7. Kable i okablowanie 7.1 Szeregowy kabek bezmodemowy (Serial NULL Modem cable) 7.2 Kabel portu równoleg³ego (kabel PLIP) 7.3 Okablowanie ethernetowe 10base2 (cienki koncentryk) 7.4 Skrêtka (Twisted Pair Ethernet Cable) 8. Spis stosowanych terminów 9. Linux u dostawców Internetu ? 10. Podziêkowania 11. Copyright. 12. Od t³umacza 13. Od korektorki ______________________________________________________________________ 11.. ZZmmiiaannyy ww ssttoossuunnkkuu ddoo ppoopprrzzeeddnniieejj wweerrssjjii Dodatki: mnóstwo. Poprawki/uaktualnienia: wszystko. 22.. WWpprroowwaaddzzeenniiee.. Oryginalny dokument NET-FAQ, napisy przez Matta Welsha w celu zebrania odpowiedzi na najczê¶ciej zadawane pytania na temat pracy Linuksa w sieci, powsta³ zanim ktokolwiek my¶la³ o Projekcie Dokumentacji Linuksa (LDP). Dokument dotyczy³ bardzo wczesnych wersji rozwojowych modu³ów sieciowych j±dra. Zosta³ zast±piony przez NET-2-HOWTO, jeden z oryginalnych doumentów projektu LDP. Opisywa³ oprogramowanie sieciowe znane pod nazw± "wersja 2." i "wersja 3.". W tym dokumencie opisujemy jedynie modu³y sieciowe j±dra w "wersji 3". Poprzednie wersje tego dokumentu osi±gnê³y ogromne rozmiary, ze wzglêdu na wielk± ilosæ materia³u, którego dotyczy³y. By³a to jedna z przyczyn powstania kilku innych dokumentów HOWTO opisuj±cych specyficzne problemy zwi±zane z sieci±. Wszêdzie gdzie bêdzie to mo¿liwe, bêdziemy odwo³ywaæ siê do tych dokumentów i opisywaæ problemy, które jeszcze nie posiadaj± w³asnych dokumentów. 22..11.. UUwwaaggii nnaa tteemmaatt tteeggoo ddookkuummeennttuu Zawsze doceniam wszelkie uwagi, szczególnie warto¶ciowe wnioski. Proszê kierujcie je bezpo¶rednio do mnie email <mailto:terry@perf.no.itg.telstra.com.au>. 33.. JJaakk kkoorrzzyyssttaaææ zz tteeggoo ddookkuummeennttuu ((NNEETT--33--HHOOWWTTOO--HHOOWWTTOO ??)).. Format tego dokumentu ró¿ni siê od poprzednich wersji. Przegrupowa³em podrozdzia³y, tak aby materia³ opisowy zgromadzony na pocz±tku dokumentu mog³ zostaæ przez czytalnika pominiêty. Po nim wystêpuje ogólny opis zagadnieñ sieciowych, informacje, które trzeba zrozumieæ zanim przejdzie siê do ostatniej czê¶ci dokumentu - technicznej dokuemntacji stosowanej technologii. PPrrzzeecczzyyttaajj rroozzddzziiaa³³yy ooggóóllnnee Informacje tutaj podane odnosz± niê niemal do wszystkich po¼niejszych czê¶ci dokumentu i s± niezbêdne do ich zrozumienia. ZZaassttaannóóww ssiiêê nnaadd sswwoojj±± ssiieeccii±± Powiniene¶ wiedzieæ jak jest (lub bêdzie) zbudowana twoja sieæ, dok³adnie jaki sprzêt i technologie s± (bêd±) wykorzystywane. PPrrzzeecczzyyttaajj rrooddzziiaa³³yy ooppiissuujj±±ccee wwyykkoorrzzyyssttyywwaannee pprrzzeezz cciieebbiiee technologie" Gdy ju¿ wiesz co ciê konkretnie interesuje, zapoznaj siê z wybranymi rozdzia³ami. Znajdziesz tam szczegó³y dotycz±ce opisywanej technologii. WWyykkoonnaajj kkoonnffiigguurraaccjjee ssiieeccii Powiniene¶ spróbowaæ skonfigurowaæ sieæ uwa¿nie notuj±c wszystkie napotkane problemy. JJee¶¶llii ppoottrrzzeebbuujjeesszz ppoosszzuukkaajj ddaallsszzeejj ppoommooccyy Je¶li napotkasz problemy, w rozwi±zaniu których niniejszy dokument nie bêdzie pomocny, wtedy zapoznaj siê z rozdzia³em po¶wiêconym znajdowaniu dalszej pomocy i zg³aszaniu znalezionych b³êdów. BBaaww ssiiêê ddoobbrrzzee!! Sieæ to dobra zabawa, ciesz siê ni±. 44.. IInnffoorrmmaaccjjee ooggóóllnnee nnaa tteemmaatt pprraaccyy LLiinnuukkssaa ww ssiieeccii.. 44..11.. KKrróóttkkaa hhiissttoorriiaa rroozzwwoojjuu mmoodduu³³óóww ssiieecciioowwyycchh jj±±ddrraa LLiinnuukkssaa.. Opracowanie zupe³nie nowej implementacji protoko³u tcp/ip, pracuj±ego równie dobrze jak inne istniej±ce implementacje nie by³o ³atwym zadaniem. Decyzja aby napisaæ wszystko od zera zosta³a podjêta w czasie gdy istnia³a niepewno¶æ, ¿e istniej±ce implementacje mog± zostaæ zaprzepaszczone przez restrykcyjne licencje, z powodu tocz±cej siê sprawy s±dowej rozpoczêtej przez U.S.L. i w momencie gdy sieæ by³a przepe³niona ¶wie¿ym entuzjazmem aby zrobiæ to inaczej, a byæ mo¿e nawet lepiej ni¿ zosta³o do tej pory zrobione. Pierwszym ochotnikiem przewodzenia w pracach nad rozwojem modu³ów j±dra do obs³ugi sieci by³ Ross Biro <biro@yggdrasil.com>. Wykona³ prost± i niepe³n±, lecz w wiêkszo¶ci przypadków dzia³aj±c± implementacje podstawowych procedur, uzupe³nionych przez procedury sterownika karty sieciowej ethernet WD-8003. To wystarczy³o, aby przyci±gn±æ rzeszê ludzi, umo¿liwiæ im testowanie i eksperymentowanie. Niektórm uda³o siê nawet doprowadziæ do w³±czenia swoich komputerów do Internetu. Nacisk spo³eczno¶ci Linuksowej na rozwój obs³ugi sieci przez j±dro wci±¿ wzrasta³. Gdy korzy¶ci i stysfakcja z wykonywanej pracy przesta³y rekompensowaæ w wystarczaj±cym stopni po¶wiecenia i odpieranie rosn±cych nacisków, Ross zrezygnowa³ z roli prowadz±cego budowê oprogramowania sieciowego. Jego wysi³ki po¶wiêcone na stworzenie w tak burzliwych czasach czego¶ u¿ytecznego sta³y siê katalizatorem przysz³ych prac i nale¿y je zaliczyæ do najwa¿niejszych czynników, które przyczyni³y siê do osi±gniêcia sukcesu. Orest Zborowski <obz@Kodak.COM> do³±czy³ do j±dra oryginalny interfejs programistyczny gniazd BSD. By³ to ogromny krok naprzód, poniewa¿ umo¿liwia³ proste przenoszenie na Linuksa wielu istniej±cych programów sieciowych, bez konieczno¶ci ich nadmiernej modyfikacji. Mniej wiêcej w tym samym czasie Laurence Culhane <loz@holmes.demon.co.uk> opracowa³ pierwszy sterownik protoko³u SLIP. Wiele osób, które nie posiada³y dostêpu do sieci Ethernetowych otrzyma³o mo¿liwo¶æ eksperymentowania z nowym oprogramowaniem sieciowym. Ponownie czê¶æ osób wykorzysta³a te oprogramowanie do przy³±czania siê do Internetu. W ten sposób uzmys³owili reszcie jakie mo¿liwo¶ci otworzy³yby siê przed Linuksem, gdyby tylko posiada³ pe³n± obs³ugê sieci. Zwiêkszy³o równie¿ liczbê osób aktywnie wykorzystuj±cych i eksperymentuj±cych z istnej±cym oprogramowaniem. Jednym z ludzi, który równie aktywnie pracowa³ nad zbudowaniem modu³ów obs³ugi sieci w j±drze Linuksa by³ Fred van Kempen <waltje@uwalt.nl.mugnet.org>. Po krótkim okresie niepewno¶ci wywo³anym rezygnacj± Rossa Biro z prowadzenia projektu, Fred zaoferowa³ swój czas i umiejêtno¶ci, i przyj±³ tê rolê w zasadzie bez ¿adnych sprzeciwów. Fred mia³ ambitne plany na temat kierunków rozwoju oprogramowania obs³ugi sieci w j±drze Linuksa i aktywnie je realizowa³. Stworzy³ oprogramowanie znane pod nazw± NET-2 (oprogramowanie Rossa nosi³o nazwê NET), z którego wielu ludzi korzysta³o przez d³ugi czas. Fred wprowadzi³ wiele inowacji do programu rozwoju oprogramowania, dynamiczny interfejs urz±dzeñ, obs³ugê protoko³u AX.25 (Amateur Radio) i bardziej modu³owe implementacje obs³ugi funkcji sieciowych. Oprogramowanie NET-2 by³o wykorzystywane przez stale rosn±c± grupê ludzi, w miarê jak ¶wiat dowiadywa³ siê, ¿e co¶ takiego istnieje. Oprogramowanie sieciowe nadal by³o rozpowszechniane w postaci ³atek do standardowej dystrybucji j±dra i przez d³ugi czas nie by³o rozpowszechniane razem z j±drem Linuksa. NET-FAQ i pó¼niejszy NET-2-HOWTO opisywa³y ca³kiem skomplikowana procedurê uruchomienia sieci pod Linuksem. Fred skoncentrowa³ siê na wprowadzaniu nowo¶ci do standardowej implementacji sieci, a to zabiera³o czas. Spo³eczno¶æ u¿ytkowników zaczyna³a siê niecierpliwiæ oczekuj±c na co¶ co dzia³a³oby bezb³êdnie i zadawala³oby 80% z nich. I podobnie jak w przypadku Rossa, naciski na Freda, jako koordynatora projektu ca³y czas wzrasta³y. Alan Cox <iialan@www.linux.uk.org> zaproponowa³ rozwi±zanie zaistnia³ej sytuacji. Zaproponowa³, ¿e we¼mie kod napisany przez Freda i przetestuje go. W ten sposób zapewni jego stabilno¶æ satysfakcjonuj±c grono niecerpliwych u¿ytkowników, uwalniaj±c tym samym Freda od licznych nacisków i umo¿liwiaj±c mu dalsz± pracê nad rozwojem oprogramowania. Tak te¿ zrobi³, co zakoñczy³o siê pe³nym sukcesem. Pierwsza wersja oprogramowania stworzona przez Alana nosi³a nazwê NET-2D (Debugged - odpluskwiony). Oprogramowanie pracowa³o stabilnie w wiêkszo¶ci standardowych konfiguracji i wiêkszo¶æ u¿ytkowników by³a wreszcie szczê¶liwa. Alan bez w±tpienia posiada³ umiejêtno¶ci i pomys³y, które chcia³ zrealizowaæ ku po¿ytkowi ca³ej spo³eczno¶ci Linuksa. Nastêpstwem by³o wiele dyskusji na temat kierunków rozwoju oprogramowania sieciowego NET-2 Linuksa. Rozwinê³y siê dwie ró¿ne szko³y, jedna, której ide± by³o "wpierw niech to dzia³a, pó¼niej niech bêdzie to lepsze" i druga z ide± "niech wpierw to bêdzie lepsze". Ostatecznie wmiesza³ siê w to Linus, oferuj±c swoje wsparcie Alanowi w jego wysi³kach w³±czaj±c jego kod do standardowej dystrybucji jadra Linuksa. To postawi³o Freda w bardzo trudnej pozycji. Zosta³ pozbawiony ogromnej rzeszy u¿ytkowników aktywnie testuj±cych i eksperymentuj±cych z jego oprogramowaniem sieciowym, co oznacza³o, ¿e jego dalszy rozwój by³by trudny i powolny. Fred kontynuowa³ przez krótki czas swoje prace, ostatecznie rezygnuj±c i pozstawiaj±c Alana jako nowego lidera w wysi³kach nad udoskonaleniem oprogramowania sieciowego Linuksa. Wktrótce swoje talenty w tematyce ujawni³ Donald Becker <becker@cesdis.gsfc.nasa.gov> i stworzy³ ogron± liczbê sterowików kart sieciowych ethernet, niemal wszystkich dostêpnych w obecnych wersjach j±dra. Byli równie¿ inni, których wk³ad w tej dziedzinie by³ znacz±cy, lecz praca Donalda by³a tak p³odna, ¿e wymaga osobnej uwagi. Alan kontynuowa³ pracê nad szlifowaniem oprogramowania NET-2-D, równocze¶nie staraj±c siê zaj±æ problemami okre¶lonymi jako 'do zrobienia' (TODO). Gdy j±dro Linuksa rozwinê³o siê na tyle by osi±gn±æ wersjê 1.3.*, jego czê¶æ dotycz±ca obs³ugi sieci sk³ada³a siê niemal z wersji NET-3, na której bazyj± aktualne wersje. Alan pracowa³ nad wieloma aspektami i funkcjami sieciowymi otrzymuj±c wsparcie od wielu utalentowanych ludzi nale¿±cych do internetowej spo³eczno¶ci Linuksa. Dziêki temu oprogramowanie rozrasta³o siê jednocze¶nie w wielu kierunkach. Alan opracowa³ dynamiczne sterowniki urz±dzeñ i pierwsze implementacje standardów AX.25 i IPX. Kontynuowa³ pracê, powoli restrukturyzuj±c i wprowadzaj±c ulepszenia, a¿ uzyska³ obecn± postaæ. Obs³uga PPP zosta³a zaimplementowana przez Michaela Callahana <callahan@maths.ox.ac.uk> i Ala Longyeara <longyear@netcom.com>. Mia³o to ogromne znaczenie i ogromnie zwiêkszy³o libczê osób aktywnie wykorzystuj±cych Linuksa w zastosowaniach sieciowych. Jonathon Naylor <jsn@cs.nott.ac.uk> znacznie usprawni³ pocz±tkowy kod Alana obs³ugi protoko³u AX.25. Wprowdzi³ obs³ugê protoko³u NetRom. Obs³uga AX.25/NetRom jest ogromnie wa¿na, poniewa¿ ¿aden inny system operacyjny nie posiada w standardowej dystrybucji obs³ugi tych protoko³ów. By³y równie¿ ogromne rzesze innych ludzi, którzy w zanacz±cy sposób przyczynili siê do rozwoju oprogramowania sieciowego Linuksa. Wiele z tych nazwisk znajdziesz pó¼niej w czê¶ciach omawiaj±cych poszczególne technologie. Inni przyczynili siê do rozwoju b±d¼ opracowuj±c ró¿ne modu³y oprogramowania, b±d¼ przysy³aj±æ poprawki usuwaj±ce ró¿ne b³êdy, b±d¼ oferuj±c sugestie, raporty z testów lub choæby wsparcie moralne dla aktywnych twórców. Ka¿dy z nich mo¿e twierdziæ, ¿e bra³ w tym udzia³ i oferowa³ tyle ile móg³. Kod j±dra Linuksa przeznaczony do obs³ugi sieci jest ¶wietnym przyk³adem rezultatów jakie mo¿na osi±gn±æ pracuj±c w tak anarchiczny sposób, jaki to mia³o miejsce w tym przypadku. Je¶li siê to jeszcze nie zadziwi³o, to pamiêtaj o jednym: prace rozwojowe nadal trwaj±. 44..22.. ssiieecciioowwyycchh LLiinnuukkssaa.. SSkk±±dd zzddoobbyyææ iinnnnee iinnffoorrmmaaccjjee nnaa tteemmaatt zzaass ttoossoowwaaññ Istnieje kilka miejsc, gdzie mo¿na znale¼æ dobre informacje na temat sieciowych zastosowañ Linuksa. Alan Cox, aktualny opiekun i lider oprogramowania sieciowego Linuksa, prowadzi stronê internetow± zawieraj±c± najciekawsze i najwa¿niejsze informacje na temat aktualnego rozwoju sieci w Linuksie: www.uk.linux.org <http://www.uk.linux.org/NetNews.html>. Innym znakomitym miejscem jest ksi±¿ka napisana przez Olafa Kircha pod tytu³em Poradnik dla administratorów sieci. Powsta³a w ramach Projektu dokumentacji Linuksa <http://sunsite.unc.edu/LDP/> i jest dostêpna tutaj: Poradnik dla administratorów sieci - wersja HTML <http://sunsite.icm.edu.pl/pub/Linux/LDP/LDP/nag/nag.html> lub w innych formatach tutaj archiwum ftp sunsite.unc.edu LDP <ftp://sunsite.icm.edu.pl/pub/Linux/sunsite/docs/LDP/network-guide/>. Ksi±¿ka Olafa jest ca³kiem wyczerpuj±ca i dostarcza dobrego, stoj±cego na wysokim poziomie przegl±dowego spojrzenia na konfiguracjê sieci pod Linuksem. Istnieje specjalna grupa dyskusyjna (angielskojêzyczna), po¶wiêcona sieci i podobnym problemom: comp.os.linux.networking <news:comp.os.linux.networking> Istnieje angielskojêzyczna lista dyskusyjna, na któr± mo¿esz siê zapisaæ i gdzie mo¿esz zadawaæ pytania odnosz±ce siê do funkcji sieciowych Linuksa. Aby siê zapisaæ musisz wys³aæ nastêpuj±cy list: To: majordomo@vger.rutgers.edu Subject: anything at all Message: subscribe linux-net W wiêkszo¶ci serwerów IRC istniej± zwykle kana³y #linux, na których obecni tam ludzie bêd± potrafili odpowiedzieæ na pytania dotycz±ce sieci pod Linuksem. Pamiêtaj, ¿e zg³aszaj±c jakikolwiek problem nale¿y podawaæ jak najwiêcej dotycz±cych go szczegó³ów. Koniecznie nale¿y podaæ wersje u¿ywanego oprogramowania, sczególnie wersjê j±dra (uname -a), wersjê takich narzêdzi jak _p_p_p_d lub _d_i_p i dok³adn± naturê problemu na który napotka³e¶. To znaczy dok³adnie zanotowane komunikaty systemowe jakie otrzyma³e¶ i dok³adny opis sk³adni wydawanych poleceñ. 44..33.. tteemmaatt tteecchhnniikk ssiieecciioowwyycchh.. SSkk±±dd zzddoobbyyææ iinnnnee,, nniiee zzwwii±±zzaannee zz LLiinnuukksseemm iinnffoorrmmaaccjjee nnaa Je¶li szukasz podstawowych informacji o tcp/ip, polecam zapoznanie siê z nastêpuj±cymi dokumentami: wwpprroowwaaddzzeenniiee ddoo ttccpp//iipp dostêpne w wersji tekstowej <ftp://athos.rutgers.edu/runet/tcp- ip-intro.doc> i postscriptowej <ftp://athos.rutgers.edu/runet/tcp-ip-intro.ps>. ttccpp//zzaarrzz±±ddzzaanniiee pprroottookkoo³³eemm iipp dostêpne w wersji tekstowej <ftp://athos.rutgers.edu/runet/tcp- ip-admin.doc> i postscriptowej <ftp://athos.rutgers.edu/runet/tcp-ip-admin.ps>. Je¶li poszukujesz dok³adniejszych informacji na temat sieci tcp/ip mocno polecam: "Internetworking with TCP/IP" by Douglas E. Comer ISBN 0-13-474321-0 Prentice Hall publications. Je¶li chcesz siê nauczyæ w jaki sposób budowaæ programy sieciowe w ¶rodowiskach zgodnych z systemem UNIX, mocno polecam: "Unix Network Programming" by W. Richard Stevens ISBN 0-13-949876-1 Prentice Hall publications. Mo¿esz równie¿ skorzystaæ z grupy dyskusyjnej comp.protocols.tcp-ip <news:comp.protocols.tcp-ip>. Istotnym ¼ród³em konkretnych informacji technicznych zwi±zanych z Internetem i protoko³em tcp/ip s± dokumenty RFC. RFC to skrót od "Request For Comments", jest to standardowy sposób og³aszania i dokumentowania obowi±zuj±cych standardów internetowych. Istnieje wiele miejsc sk±d mo¿na popraæ dokumenty RFC. Wiêkszo¶æ z nich to archiwa ftp, czê¶æ udostêpnia dokumenty RFC równie¿ przez interfejs WWW dostarczaj±c jednocze¶nie mo¿liwo¶æ przeszukiwania wszystkich dokumentów w poszukiwaniu s³ów kluczowych. Jednym z archimum dokumntów RFC jest: baza danych Nexor RFC <http://pubweb.nexor.co.uk/public/rfc/index/rfc.html>. 55.. PPooddssttaawwoowwee iinnffoorrmmaaccjjee nnaa tteemmaatt kkoonnffiigguurroowwaanniiaa ssiieeccii.. Aby poprawnie skonfigurowaæ sieæ, musisz zapoznaæ siê i zrozumieæ informacje prezentowane w kolejnych podrozdzia³ach. S± to podstawowe zasady funkcjonowania sieci, niezale¿nie od jej wewnêtrznej natury. 55..11.. CCzzeeggoo ppoottrrzzeebbuujjêê aabbyy rroozzppoocczz±±ææ?? Zanim zaczniesz budowaæ lub konfigurowaæ swoj± sieæ bêdziesz potrzebowa³ kilku rzeczy. Najwa¿niejsze z nich to: 55..11..11.. AAkkttuuaallnnee ¼¼rróódd³³aa jj±±ddrraa.. Poniewa¿ j±dro którego u¿ywasz mo¿e nie posiadaæ obs³ugi sieci, lub kart sieciowych, które posiadasz, bêdziesz prawdopodobnie potrzebowa³ ¼ród³a j±dra, aby¶ mog³ skompilowaæ nowe j±dro z odpowiednimi opcjami. Najnowsz± wersj± j±dra mozna uzyskaæ z: ftp.funet.fi <ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/v2.0>. Zwykle pliki ¼ród³owe powinny byæ rozpakowane do katalogu /usr/src/linux. Je¶li potrzebujesz informacji jak dodaæ do j±dra dodatkowe ³aty lub jak skompilowaæ j±dro powiniene¶ przeczytaæ Kernel- HOWTO <Kernel-HOWTO.pl.html>. Je¶li wyra¼nie nie zosta³o to zaznaczone, zalecam pozostanie przy standardowych wersjach j±dra (te z parzystymi numerami wersji po pierwszej kropce). Wersje testowo-rozwojowe (z nieparzyst± drug± liczb±) mog± mieæ zmienion± strukturê wewnêtrzn± lub wprowadzone inne zmiany uniemo¿liwiaj±ce poprawn± wspó³pracê z innym oprogramowaniem zainstalowanym na twoim systemie. Je¶li nie jeste¶ pewien, ¿e poradzisz sobie z tego rodzaju problemami, w po³±czeniu z mo¿liwosæi± wyst±pienia b³êdu w innym oprogramowaniu, nie u¿ywaj wersji rozwojowych. 55..11..22.. AAkkttuuaallnnee nnaarrzzêêddzziiaa ssiieecciioowwee.. Narzêdzia sieciowe to programy s³u¿±ce do konfigurowania urz±dzeñ sieciowych Linuksa. Np. pozwalaj± na przydzielenie urz±dzeniu numeru adresu IP lub na skonfigurowanie routingu (marszruty). Nowe dystrybucje Linuksa zawieraj± wszelkie niezbêdne narzêdzia sieciowe. Je¶li ich jescze nie zainstalowa³e¶, powiniene¶ to teraz zrobiæ. Je¶li nie instalowa³e¶ Linuksa z dystrybucji, bêdziesz musia³ pobraæ ¼ród³a i skompilowaæ narzêdzia samodzielnie. To nie jest trudne. Narzêdziami sieciowymi opiekuje siê Bernd Eckenfels i s± dostêpne pod adresem: ftp.inka.de <ftp://ftp.inka.de/pub/comp/Linux/networking/NetTools/> lub kopia ftp.linux.uk.org <ftp://ftp.linux.uk.org/pub/linux/Networking/PROGRAMS/NetTools/>. Pamiêtaj aby wybrac wersjê najbardziej odpowiedni± dla wersji j±dra, które posiadasz, postêpuj zgodnie z uwagami zawartymi w instalowanym pakiecie. Aby skonfigurowaæ wersjê aktualn± w momencie pisania tego dokumentu musisz wykonaæ nastêpuj±ce polecenia: # # cd /usr/src # tar xvfz net-tools-1.32-alpha.tar.gz # cd net-tools-1.32-alpha # make config # make # make install # Dodatkowo je¶li zamierzasz skonfigurowaæ firewall lub korzystaæ z funkcji IP Masquerade, potrzebujesz programu _i_p_f_w_a_d_m. Najnowsz± wersjê mo¿na zdobyæ tutaj: ftp.xos.nl <ftp:/ftp.xos.nl/pub/linux/ipfwadm>. Pamiêtaj, ¿e dostêpnych jest kilka wersji. Musisz wybraæ tê, która najlepiej wspó³pracuje z j±drem, które posiadasz. Aby skonfigurowaæ wersjê aktualn± w momencie pisania tego dokumentu musisz wykonaæ nastêpuj±ce polecenia: # # cd /usr/src # tar xvfz ipfwadm-2.3.0.tar.gz # cd ipfwadm-2.3.0 # make # make install # 55..11..33.. PPrrooggrraammyy--aapplliikkaaccjjee ssiieecciioowwee.. Sieciowe programy u¿ytkowe (aplikacje sieciowe) to takie, jak np. _t_e_l_n_e_t,_f_t_p i ich odpowiedniki po stronie serwera. Dystrybucj± wiêkszo¶ci z nich zajmuje siê David Holland <dholland@hcs.harvard.edu> . Mo¿na je zdobyæ z ftp.uk.linux.org <ftp://ftp.uk.linux.org/pub/linux/Networking/base>. Aby skonfigurowaæ wersjê aktualn± w momencie pisania tego dokumentu musisz wykonaæ nastêpuj±ce polecenia: # # cd /usr/src # tar xvfz /pub/net/NetKit-B-0.08.tar.gz # cd NetKit-B-0.08 # more README # vi MCONFIG # make # make install # 55..11..44.. AAddrreessyy.. Adresy protoko³u IP (Internet Protocol) sk³adaj± siê z czterech bajtów. Zwykle zapisuje siê w notacji zwanej 'dziesiêtn± z kropkami' (decimal dotted notation). Ka¿dy bajt jest zamieniany na liczbê dziesiêtn± (0-255), opuszczaj±c wszelkie zera na pocz±tku (chyba, ¿e liczba jest równa zero) i zapisywany kolejno, rozdzielony jeden od drugiego kropk± `.'. Konwencja wymaga, aby ka¿dy interfejs sieciowy komputer czy routera posiada³ w³asny numer IP. Mo¿na ten sam numer przydzielaæ do ró¿nych urz±dzeñ sieciowych jednego komputera, lecz zwykle ka¿dy interfejs posiada w³asny numer IP. Numery IP sieci to nieprzerwane sekwencje adresów IP. Wszystkie adresy nale¿±ce do jednej sieci maj± wspóln± liczbê cyfr w pe³nym adresie IP. Czê¶æ adresu wspólna dla wszystkich adresów IP nale¿±cych do sieci nazywa siê numerem sieci (adresu IP).Pozosta³e cyfry okre¶laj± adres komputera . Liczba bitów które s± wszpólne dla wszystkich adresów w ramach jednej sieci nazywamy mask± sieci (netmask±). Rol± netmaski jest okre¶lenie które adresy przynale¿± do sieci, której ona dotyczy, a które nie. Rozwa¿my nastêpuj±cy przyk³ad: ----------------- --------------- Host Address 192.168.110.23 Adres komputera Network Mask 255.255.255.0 Netmaska Network Portion 192.168.110. Cze¶æ sieciowa adresu Host portion .23 Cze¶æ komputerowa adresu ----------------- --------------- Network Address 192.168.110.0 Adres sieci Broadcast Address 192.168.110.255 Adres og³oszeniowy (informacja wys³ana pod ten adres dotrze do wszystkich komputerów danej sieci) ----------------- --------------- Je¶li dowolny adres IP poddamy operacji bitowej koniunkcji z jego netmask±, otrzymamy w ten sposób adres sieci, do której on nale¿y. Adres sieci jest zatem najmniejszym adresem w puli adresów danej sieci z zawsze wype³nion± zerami czêsci± komputerow± adresu. Adres og³oszeniowy (broadcast) to specjalny adres IP. Wszystkie komputery w danej sieci prócz nas³uchiwania pakietów adresowanych pod ich numer IP, nas³uchuj± równie¿ pakietów kierowanych na ten adres. Je¶li chemy wys³aæ pakiet, który ma dotrzeæ do wszystkich komputerów w danej sieci, korzystamy w³a¶nie z adresu og³oszeniowego. Ró¿nego rodzaje informacje dotycz±ce np. trasowania (routingu) lub zawieraj±ce ró¿ne ostrzerzenia nadawane s± w³a¶nie na ten adres, tak aby wszystkie komputery otrzyma³y go jednocze¶nie. Istniej± dwa standardy jak powinien wygl±daæ adres og³oszeniowy. W powy¿szym przyk³adzie by³ to 192.168.110.255. Z nieznanych przyczyn w niektórych miejscach jako adresu og³oszeniowego u¿ywa siê adresu sieci. W praktyce zasadniczo nie ma znaczenia, której konwencji uzywamy, pod warunkiem, ¿e wszystkie komputery maj± skonfigurowany adres og³oszeniowy w ten sam sposób. Z przyczyn administracyjnych w pocz±tkowym okresie rozwoju protoko³u IP, pewne grupy adresów IP zosta³u po³±czone w sieci, które z kolei zosta³y po³±czone w klasy. Te klasy dostarczaj± okre¶lon± liczbê ró¿nej wielko¶ci sieci, które mog± byæ przydzielane u¿ytkownikom. Wygl±da to mniej wiêcej tak: ---------------------------------------------------------- | Klasa | Netmaska | Adresy sieciowe | | sieci | | | ---------------------------------------------------------- | A | 255.0.0.0 | 0.0.0.0 - 127.255.255.255 | | B | 255.255.0.0 | 128.0.0.0 - 191.255.255.255 | | C | 255.255.255.0 | 192.0.0.0 - 223.255.255.255 | |Multicast| 240.0.0.0 | 224.0.0.0 - 239.255.255.255 | ---------------------------------------------------------- Z których adresów powiniene¶ korzystaæ zale¿y bezpo¶rednio od tego co robisz. Aby uzyskaæ wszystkie adresy których potrzebujesz mo¿esz byæ zmuszony do wykonania kombinacji nastêpuj±cych dzia³añ: IInnssttaallaaccjjaa LLiinnuukkssaa ww iissttnniieejj±±cceejj ssiieeccii IIPP Je¶li chesz zainstalowaæ Linuksa w istniej±cej sieci IP powiniene¶ skontaktowaæ siê z administratorem sieci i poprosiæ go o nastêpuj±ce informacje: · Adres IP komputera · Adres IP sieci · Adrs og³oszeniowy (broadcast) · Netmaska · Adres routera · Adres serwera DNS Nastêpnie powiniene¶ skonfigurowaæ urz±dzenie sieciowe podaj±c uzyskane informacje. Nie mo¿esz wzi±æ ich z powietrza i oczekiwaæ, ¿e wszystko bêdzie dzia³aæ poprawnie. BBuuddoowwaanniiee nnoowweejj ssiieeccii,, kkttóórraa nniiggddyy nniiee bbêêddzziiee ppoodd³³±±cczzoonnaa ddoo internetu" Je¶li budujesz prywatn± sieæ i nie masz zamiaru pod³±czaæ j± do Internetu to mo¿esz wybraæ zupe³nie dowolne numery IP. Jednak dla bezpieczeñstwa i porz±dku powiniene¶ skorzystaæ z grupy adresów IP pozostawionych dok³adnie w tym celu. S± one okre¶lone w dokumencie RFC1597: ----------------------------------------------------------- | Zarezerwowane prywatne adresy IP | ----------------------------------------------------------- | Klasa | Netmaska | Adres komputera | | sieci | | | ----------------------------------------------------------- | A | 255.0.0.0 | 10.0.0.0 - 10.255.255.255 | | B | 255.255.0.0 | 172.16.0.0 - 172.31.255.255 | | C | 255.255.255.0 | 192.168.0.0 - 192.168.255.255 | ----------------------------------------------------------- Powiniene¶ siê wpierw zdecydowaæ jak wielka bêdzie twoja sieæ, a nastêpnie wybraæ tyle adresów IP ile potrzebujesz. 55..22.. GGddzziiee uummiiee¶¶cciiææ ppoolleecceenniiaa kkoonnffiigguurraaccyyjjnnee ?? Istnieje kilka sposobów realizacji procedury uruchamiania systemu Linux. Po za³adowaniu j±dra uruchamiany jest program o nazwie `init'. Program init odczytuje swój plik konfiguracyjny /etc/inittab i kontynuuje proces uruchamiania systemu. Istnieje kilka odmian programu init i to jest w³a¶nie przyczyna ró¿nic w konfiguracji miêdzy ró¿nymi dystrybucjami czy komputerami. Zwykle plik /etc/inittab zawiera pozycjê wygl±daj±c± mniej wiêcej tak: si::sysinit:/etc/init.d/boot Ten wiersz okre¶la nazwê skryptu który ostatecznie jest odpowiedzialny za procedurê startow±. Jest to mniej wiêcej odpowiednik pliku AUTOEXEC.BAT w DOSie. Skrypt startowy uruchamia zwykle ró¿ne inne skrypty i sieæ jest konfigurowana zwykle jednym z takich skryptów. Poni¿sza tabela mo¿e pos³u¿yæ jako przewodnik po twoim systemie: ------------------------------------------------------------------------------- Dystryb. |Konfiguracja interfeju(karty)/routingu | Inicjalizacja ------------------------------------------------------------------------------- Debian |/etc/init.d/network |/etc/init.d/netbase | |/etc/init.d/netstd_init | |/etc/init.d/netstd_nfs | |/etc/init.d/netstd_misc ------------------------------------------------------------------------------- Slackware|/etc/rc.d/rc.inet1 |/etc/rc.d/rc.inet2 ------------------------------------------------------------------------------- RedHat |/etc/sysconfig/network-scripts/ifup-<ifname>|/etc/rc.d/init.d/network ------------------------------------------------------------------------------- Wiêkszo¶æ nowocze¶nych dystrybucji zawiera program, który umo¿liwi konfiguracjê wielu podstawowych interfejsów sieciowych. Je¶li masz taki program powiniene¶ sprawdziæ czy jest on dla ciebie wystarczaj±cy, zanim zdecydujesz siê na rêczn± modyfikacje. ----------------------------------------- Dystryb. | Program konfiguracji sieci ----------------------------------------- RedHat | /sbin/netcfg Slackware | /sbin/netconfig ----------------------------------------- 55..33.. TTwwoorrzzeenniiee iinntteerrffeejjssóóww ssiieecciioowwyycchh.. W wiêkszo¶ci systemów Unix urz±dzenia sieciowe znajduj± siê w katalogu _d_e_v. W Linuksie tak nie jest. Linux tworzy urz±dzenia sieciowe dynamicznie, dlatego nie wymaga istnienia plików urz±dzeñ sieciowych. W wiêkszo¶ci przypadków urz±dzenia sieciowe s± tworzone automatycznie przez sterowniki tych urz±dzeñ w czasie ich inicjacji i rozpoznawania sprzêtu. Na przyk³ad sterowniki sieciowych kart ethernetowych tworz± interfejsy o nazwach eth[0..] sekwencyjnie w miarê rozpoznawania kolejnych urz±dzeñ. Pierwsz znaleziona karta ethernetowa staje siê urz±dzeniem eth0, druga eth1 itd. Jednak w niektórych przypadkach, zwykle kiedy korzystamy z protoko³ów SLIP lub PPP, urz±dzenia sieciowe s± tworzone na ¿±danie programów wykonywanych przez u¿ytkownika. Odbywa siê podobny sekwencyjny przydzia³ nazw urz±dzeñ, lecz nie dzieje siê to w sposób automatyczny w czasie ³adowania systemu. Dzieje siê tak dlatego, ¿e w przeciwieñstwie do kart ethetnetowych liczba aktywnych interfejsów slip lub ppp w ca³ym okresie pracy komputera mo¿e siê zmieniaæ. Powiemy o tym dok³adniej w dalszej czê¶ci. 55..44.. KKoonnffiigguurraaccjjaa iinntteerrffeejjssuu ssiieecciioowweeggoo.. Je¶li posiadasz ju¿ wszelkie niezbêdne oprogramowanie i informacje o potrzebnych adresach sieciowych mo¿esz rozpocz±æ konfiguracjê interfejsu. Kiedy mówimy o konfiguracji interfejsu sieciowego mamy na my¶li proces przydzielenia mu odpowiedniego adreu IP i nadania odpowiednich warto¶ci innym jego parametrom. W tym celu najczê¶ciej pos³ugujemy siê programem _i_f_c_o_n_f_i_g (interface configure). Zwykle u¿ywa siê go sposób podobny do podanego poni¿ej: # ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up W tym przypadku konfigurujê kartê ethernetow± `eth0' nadaj±c jej adres IP `192.168.0.1' i netmaskê `255.255.255.0'. Parametr `_u_p' na koñcu wiersza oznacza, ¿e intefejs powinien zostaæ aktywowany (rozpocz±æ pracê). J±dro konfiguruj±c interfejsy sieciowe przyjmuje pewne domy¶lne warto¶æi parametrów. Na przyk³ad móg³by¶ podaæ adres IP i adres og³oszeniowy (broadcast) danego interfejsu, lecz je¶li tego nie zrobisz j±dro znajdzie sensowne warto¶ci dla tych parametrów na podstawie klasy konfigurowanego adresu IP. W moim przyk³adzie j±dro przyjmie, ¿e jest interfejs jest konfigurowany w sieci klasy C i nada adresowi sieci warto¶æ `192.168.0.0', a adresowi og³oszeniowemu `192.168.0.255'. Polecenie _i_f_c_o_n_f_i_g posiada znacznie wiêcej opcji. Najwa¿niejsze z nich to: uupp w³±cznie interfejsu. ddoowwnn wy³±czenie interfejsu. [[--]]aarrpp w³±czenie lub wy³±czenie korzystania z protoko³u ARP na tym interfejsie [[--]]aallllmmuullttii w³±czenie lub wy³±czenie korzystania z trybu zmuszone do odbierania wszelkich pakietów, a nie tylko tych adresowanych bezpo¶rednio do niego. Jest bardzo wa¿na dla programów _t_c_p_d_u_m_p i innych podgl±daczy pakietów. mmttuu NN ustawienie wielko¶ci parametru _M_T_U danego urz±dzenia. nneettmmaasskk aaddddrr adres sieci, do której nale¿y (jest pod³±czony) interfejs. iirrqq aaddddrr ten parametr ma zastosowanie tylko dla niektórych modu³ów sprzêtowych. Pozwala na ustawienie warto¶ci przerwania IRQ z którego powinno korzystaæ dane urz±dzenie. [[--]]bbrrooaaddccaasstt [[aaddddrr]] pozwala na w³±czenie odbierania pakietów skierowanych na podany adres og³oszeniowy, lub na zablokowanie odbierania tych pakietów. [[--]]ppooiinnttooppooiinntt [[aaddddrr]] pozwala na podanie adresu komputera na drugim koñsu po³±czenia point-to-point obs³ugiwanego przez ten interfejs. Ma to miejsce w przypadku takich protoko³ów jak _s_l_i_p czy ppp. hhww <<ttyyppee>> <<aaddddrr>> pozwala na okre¶lenie adresu sprzêtowego urz±dzenia lecz tylko dla ograniczonego rodzaju urz±dzeñ. Nie jest czêsto u¿ywany w sieciach Ethernet, za to czêsto wykorzystuje siê go w sieciach AX.25. Polecenie _i_f_c_o_n_f_i_g mo¿na stosowaæ dla ka¿dego interfejsu sieciowego. Niektóre programy u¿ytkownika, jak _p_p_p_d czy _d_i_p korzystaj± z niego w celu skonfigurowania interfejsu sieciowego, tu¿ po jego utworzeniu. W takim przypadku nie jest potrzebna rêczna konfiguracja tych urz±dzeñ. 55..55.. KKoonnffiigguurraaccjjaa rreessoollvveerraa nnaazzww.. `_R_e_s_o_l_v_e_r _n_a_z_w ' jest czêsci± standardowej biblioteki Linuksa. Jego podstawow± funkcj± jest zamiana wygodnych dla cz³owieka nazw komputerów, jak `ftp.funet.fi' na ich adres 128.214.248.6, którym pos³uguj± siê komputery. 55..55..11.. CCoo ttoo jjeesstt nnaazzwwaa?? Prawdopodobnie spotka³e¶ siê z nazwami komputerów, lecz byæ mo¿e nie wiesz w jaki sposób s± konstruowane lub rozk³adane. Nazwy domen internetowych s± w swojej naturze hierachiczne, to znaczy posiadaj± strukturê drzewiast±. _d_o_m_e_n_a jest rodzin±, grup± nazw. _D_o_m_e_n_a mo¿e byæ podzielona na _p_o_d_d_o_m_e_n_y (subdomain). _D_o_m_e_n_a _n_a_j_w_y_¿_s_z_e_g_o _p_o_z_i_o_m_u (top level domain) jest domen±, która jednocze¶nie nie jest poddomen±. Domeny najwy¿szego poziomu s± okre¶lone w dokumencie RFC-920. Poni¿ej kilka przyk³adów domen najwy¿szego poziomu. CCOOMM organizacje komercyjne EEDDUU organizacje edukacyjne GGOOVV organizacje rz±dzowe MMIILL organizacje wojskowe OORRGG inne organizacje oozznnaacczzeenniiee kkrraajjuu dwuliterowe kody pañstw, reprezentuj±ce konkretne pañstwo. Ka¿da z domen najwy¿szego poziomu posiada poddomeny. Domey najwy¿szego poziomu o nazwach odpowiadaj±cych kodom pañstw, s± zwykle podobnie podzielone, jak domeny najwy¿szego poziomu tzn. mo¿na tzm znale¼æ poddomeny com, edu, gov, mil i org. Na koniec otrzymujemy com.au i gov.au dla organizacji komercyjnych i rz±dowych w Australii. Z przyczyn historycznych wiêkszo¶æ domen nale¿±cych do domen najwy¿szego poziomu dotyczy organizacji amerykañskich, choæ Stany Zjednoczone maj± równie¿ w³asn± domenê `.us'. Nastêpny poziom podzia³u odzwierciedla zwykle nazwê instytucji/organizacji. Dalsze poddomeny ró¿ni± siê w swojej naturze, czêsto ten poziom domen jest zale¿ny od wewnêtrznej struktury instytucji, lecz mo¿e byæ zale¿ny od dowolnego, rozs±dnego kryterium przyjêtego przez osoby zarz±dzaj±ce sieci± w danej instytucji. Ostatni w strukturze cz³on domeny, lecz pierwszy z lewej w jej nazwie oznacza _n_a_z_w_ê _k_o_m_p_u_t_e_r_a (hostname) i musi byæ jednoznaczny w danej poddomenie. Pozosta³a czê¶æ jezt nazywana _d_o_m_e_n_± danego komputera (domainname), a ca³o¶æ jest nazywana `_F_u_l_l_y _Q_u_a_l_i_f_i_e_d _D_o_m_a_i_n _N_a_m_e _F_Q_D_M' - Pe³na nazwa domenowa. Bior±c za przyk³ad mój komputer pocztowy, jego FQDN to `perf.no.itg.telstra.com.au'. To znaczy, ¿e komputer nazywa siê `perf', a domena `no.itg.telstra.com.au'. Nazwa mojej domeny rozpoczyna siê od cz³onu oznaczaj±cego kraj, Australiê. Poniewa¿ jeste¶my organizacj± komercyjn± kolejnym poziomem jest `com'. `telstra' oznacza nazwê firmy (star±), a dalsze cz³ony s± pochodn± wewnêtrznej struktury naszej firmy. Moj komputer nale¿y do Information Technolog Group w sekcji Network Operations. 55..55..22.. JJaakkiiee iinnffoorrmmaaccjjee bbêêdd±± nniieezzbbêêddnnee.. Musisz wiedzieæ do jakiej domeny nale¿y twój komputer. Oprogramowanie resolwera nazw wykonuje swoj± pracê odwo³uj±c siê do _s_e_r_w_e_r_a _D_N_S (Domain Name Server), bêdziesz potrzebowa³ adres IP najbli¿szego serwera DNS. Musisz poprawiæ trzy pliki. Omówiê ka¿dy z nich. 55..55..33.. //eettcc//rreessoollvv..ccoonnff /etc/resolv.conf jest g³ównym plikiem konfiguracyjnym resolwera nazw. Posiada bardzo prosty format. Jest to plik tekstowy zawieraj±cy jedno polecenie na wiersz. Najczêscie¶ciej stosuje siê trzy s³owa kluczowe: ddoommaaiinn okre¶la nazwê domeny, do której nale¿y dany komputer sseeaarrcchh okre¶la listê domen, które maj± byæ przeszukiwane w poszukiwaniu podanej nazwy komputera (w przypadku gdy nazwa komputera nie zosta³a podana w postaci FQDN) nnaammeesseerrvveerr mo¿e byæ powtórzone wielokrotnie, okre¶la adres serwera DNS przyk³adowy plik /etc/resolv.conf móg³by wygl±daæ nastepuj±co: domain maths.wu.edu.au search maths.wu.edu.au wu.edu.au nameserver 192.168.10.1 nameserver 192.168.12.1 W przyk³adzie podali¶my, ¿e podstawow± domen±, do której nale¿y komputer i która bêdzie dodawana do nazwy komputera, je¶li nie zosta³a podana w formacie FQDN jest maths.wu.edu.au. Je¶li komputer nie zostanie znaleziony w tej domenie resolwer przeszuka jeszcze domenê wu.edu.au. Podano równie¿ adresy IP dwóch serwerów DNS. 55..55..44.. //eettcc//hhoosstt..ccoonnff Plik /etc/host.conf to plik, które okre¶la niektóre zachowania resolvera. Jego format jest dok³adnie opisany na stronie podrêcznika (man resolv+). W wiêkszo¶ci przypadków wystarczy taki plik: order hosts,bind multi on Ta konfiguracja informuje resolver, ¿e poszukuj±c nazwy komputera nale¿y wpierw sprawdzaæ zawarto¶æ pliku /etc/hosts, zanim zacznie siê zadawaæ pytania serwerowi DNS. Oznacza równie¿, ¿e nale¿y przekazywaæ wszystkie znalezione w tym pliku adresy IP odpowiadaj±ce nazwie poszukiwanego komputera, a nie tylko pierwszy z nich. 55..55..55.. //eettcc//hhoossttss Plik /etc/hosts jest to miejsce, gdzie umieszcza siê nazwy i adresy lokalnych komputerów. Je¶li umie¶cisz w tym pliku nazwê i adres komputera, nie musisz pytaæ siê o jego adres serwera DNS. Wad± tego rozwi±zania jest to, ¿e musisz pamiêtaæ aby informacje zawarte w tym pliku by³y aktualne. W dobrze zarz±dzanym sytemie w niniejszym pliku mo¿na zwykle znale¼æ nazwê interfejsu pêtli zwrotnej i nazwy lokalnych komputerów. # /etc/hosts 127.0.0.1 localhost loopback 192.168.0.1 nazwa.tego.komputera Mo¿esz podaæ wiêcej ni¿ jedn± nazwê odpowiadaj±c± danemu numerowi IP, jak to zrobili¶my w powy¿szym przyk³adzie w przypadku lokalnej pêtli zwrotnej. 55..66.. KKoonnffiigguurraaccjjaa iinntteerrffeejjssuu ppêêttllii zzwwrroottnneejj Interfejs pêtli zwrotnej (`loopback' interface) jest interfejsem specjalnego rodzaju, umo¿liwiaj±cym nawi±zywanie po³±czeñ z samym sob±. Istnieje wiele przyczyn, dla których mog³by¶ chcieæ to robiæ. Na przyk³ad w celu przetestowania oprogramowania sieciowego, bez konieczno¶ci zawracania g³owy komukolwiek innemu. Adres `127.0.0.1' zosta³ przypisany specjalnie dla tego interfejsu. Dlatego niezale¿nie na którym komputerze bedziesz pracowa³, je¶li po³±czysz siê z komputerem o adresie 127.0.0.1 zawsze to bêdzie ten komputer, z którego próbujesz nawi±zaæ po³±czenie. Skonfigurowanie interfejsu pêtli zwrotnej jest proste, musisz siê upewniæ, ¿e przy starcie sytemu wykonuje siê nastêpuj±ce polecenie: # ifconfig lo 127.0.0.1 # route add -host 127.0.0.1 lo Wiêcej na temat polecenia _r_o_u_t_e powiemy w nastêpnym rozdziale. 55..77.. TTrraassoowwaanniiee ((rroouuttiinngg)).. Trasowanie ruchu (routing) to ogromny temat. Mo¿na na ten temat napisaæ bardzo du¿o. Wiêkszo¶æ z was spotka siê z ca³kiem prostymi konfiguracjami trasowania, a czê¶æ nie. Opowiem o podstawowych prawach trasowania ruchu. Je¶li potrzebujesz bardziej szczegó³owych informacji radzê zapoznaæ siê z dokumentami wspomnianymi na pocz±tku. Rozpocznijmy od definicji. Co to jest trasowanie pakietów IP. Oto jedna z definicji, któr± ja u¿ywam: Trasowanie pakietów IP to proces, w którym komputer z przy³±czeniami do wielu sieci decyduje, gdzie wys³aæ otrzy mane pakiety. Zilustrujmy to przyk³adem. Wyobra¼my sobie typowy biurowy router. Móg³by mieæ po³±czenie PPP z internetem, kilka segmentów ethernetowych obs³uguj±cych stacje robocze i jeszcze jedno po³±czenie PPP do innego biura. Kiedy router otrzymuje datagram z jednego ze swoich przy³±czeñ sieciowych, trasowanie jest mechanizmem stosowanym przez niego do wyboru portu przy³±czeniowego, do którego trzeba przes³aæ ten datagram. Zwyk³e komputery te¿ musz± wykonywaæ trasowanie, wszystkie komputery w Internecie posiadaj± dwa urz±dzenia sieciowe, jedno z nich to urz±dzenie pêtli zwrotnej (loopback interface) opisane powy¿ej, a drugie to te, którego u¿ywa do porozumiewania siê z reszt± sieci. Mo¿e to byæ karta ethernetowa lub port PPP, czy SLIP. OK, w jaki sposób dzia³a trasowanie? Ka¿dy z komputerów przechowuje listê zasad trasowania, zwan± tabel± trasowania (routing table). Ka¿dy wiersz tej tabeli zawiera co najmniej trzy pola, pierwsze oznaczaj±ce adres docelowy, drugie zawiera nazwê interfejsu przez który nale¿y wys³aæ datagram, a trzecie, opcjonalne, to adres IP innego komputera (tzw. gateway), który przeniesie datagram dalej w jego drodze przez sieæ. Pod Linuksem tabelê trasowania mo¿na zobaczyæ wydaj±c polecenie: # cat /proc/net/route Proces trasowania jest ca³kiem prosty: otrzymujemy przychodz±cy datagram, adres docelowy (do kogo jest adresowany ten datagram) zostaje porównany z pozycjami tabeli routingu. Wybiera siê pozycje, kóra najbardziej pasuje do tego adresu i datagram zostaje przes³any przez okre¶lony w tej pozycji interfejs. Je¶li pole gatewaya nie jest puste, wtedy datagram zostaje przes³any do tego komputera przez okre¶lony w tej pozycji interfejs seciowy, w przeciwnym wyopadku zak³ada siê, ¿e adres docelowy le¿y na sieci obs³ugiwanej przez podany interfejs. Do manipulacji pozycjami tabeli trasowania s³u¿y specjalne polecenie. Wymaga podania w wierszu poleceñ dodatkowych parametrów i zamienia je na wywo³ania funkcji systemowych, które prosz± j±dro o dodanie, zmodyfikowanie lub usuniêcie pozycji w tabeli trasowania (która znajduje siê w gestii j±dra Linuksa). Polecenie to nazywa siê `_r_o_u_t_e'. Prosty przyk³ad. Wyobra¼my sobie, ¿e mamy sieæ ehernetow±. Powiedziano nam, ¿e jest to sieæ klasy C o adresie 192.168.1.0. Nasz komputer otrzyma³ adres 192.168.1.10 i powiedziano nam, ¿e router przy³±czony do internetu ma adres 192.168.1.1. Pierwszym krokiem jest poprawne skonfigurowanie interfejsu, w sposób opisany wcze¶niej: # ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up Teraz musimy dodaæ pozycjê do tabeli trasowania, aby powiedzieæ j±dru, ¿e datagramy do komputerów, których adresy pasuj±do wzorca 192.168.1.* powinny byæ wysy³ane przez interfejs ethernetowy. Stosuje siê w tym celu polecenie zbli¿one do tego: # route add -net 192.168.0.0 netmask 255.255.255.0 eth0 Zwróæ uwagê na argument `-net', który mówi programowi route, ¿e ta pozycja oznacza trasê do ca³ej podsieci (network route). Inn± mo¿liwo¶ci± jest pozycja okre¶laj±ca trasê do konkretnego adresu IP tzw. 'host route'. Powy¿sza pozycja tabeli trasowania umo¿liwi nam komunikacjê ze wszystkimi komputerami znajduj±cymi siê w naszym segmencie ethernetowym. A co z wszystkimi innymi adresami IP spoza naszego segmentu? Dodanie trasy do ka¿dej sieci.komputera z którym chcieliby¶my siê kiedykolwiek komunikowaæ by³oby ogromnym zadaniem. Dlatego wprowadzono tzw _t_r_a_s_ê _d_o_m_y_¶_l_n_± (default route). Trasa _d_o_m_y_¶_l_n_a pasuje do ka¿dego adresu docelowego, lecz najgorzej jak tylko jest to mo¿liwe. Dlatego, je¶li istnieje inna pozycja pasuj±ca do tego adresu, to ona zostanie wykorzystana zamiast pozycji _d_o_m_y_¶_l_n_e_j. Ide± trasy domy¶lnej jest umo¿liwienie zrealizowania polecenia 'wszystko inne wys³aæ têdy'. W naszym przyk³adzie oznacza to nastêpuj±ce polecenie: # route add default gw 192.168.1.1 eth0 Argument `gw' informuje program route, ¿e nastêpny argument oznacza adres IP. lub nazwê gatewaya lub routera, do którego nale¿y przesy³aæ wszystkie datagramy pasuj±cego do tej pozycji. Dalszym przes³aniem tych datagramów zajmie siê w³a¶nie ten komputer. Tak wiêc nasza pe³na konfiguracja wygl±da³a by nastêpuj±co: # ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up # route add -net 192.168.0.0 netmask 255.255.255.0 eth0 # route add default gw 192.168.1.1 eth0 Je¶li dobrze siê przyjrzysz plikom `rc' zajmuj±cymi siê sieci±, zobaczysz, ¿e przynajmniej jeden z nich wygl±da bardzo podobnie. Jest to bardzo populana konfiguracja. Zajmijmy siê troszkê bardziej skomplikowanym przypadkiem. Za³ó¿my, ¿e zajmujemy siê konfiguracj± routera o którym mówili¶my wcze¶niej, tym który posiada po³±czenie PPP z Internetem, kilka segmentów sieci lokalnej. Niech konkretnie bêd± to trzy segmenty eternetowe i jedno ³±cze PPP. Konfiguracja trasowania w tym przypadku wygl±da³a by nastêpuj±co: # route add 192.168.1.0 netmask 255.255.255.0 eth0 # route add 192.168.2.0 netmask 255.255.255.0 eth1 # route add 192.168.3.0 netmask 255.255.255.0 eth2 # route add default ppp0 Ka¿da ze stacji roboczych u¿ywa³aby prostszej formy prezentowanej wcze¶niej. Tylko router musi okre¶liæ oddzielnie trasê do ka¿dej z sieci, poniewa¿ w przypadku stacji roboczej pozycja _d_o_m_y_¶_l_n_a obs³u¿y wszystkie po³±czenia pozostawiaj±c routerowi zmartwienie odpowiedniego podzia³u ruchu. Mo¿esz siê zastanawiaæ, dlaczego trasa domy¶lna na routerze nie posiada argumentu gw. Przyczyna jest prosta. Protoko³y urz±dzeñ szeregowych, takich jak PPP czy SLIP, zawsze maj± w swojej sieci tylko dwa komputery, po jednym na ka¿dym koñcu. Wskazywanie komputera po drugiej stronie po³±czenia jako gatewaya jest niepotrzebne i nadmiarowe, poniewa¿ nie ma innej mo¿liwo¶ci ni¿ przes³aæ pakiety na drugi koniec po³±czenia PPP. Dlatego nie jest potrzebne okre¶anie w tego rodzaju po³±czeniach gatewaya. Podania gatewaya wyagaj± w takiej sytuacji inne rodzaje sieci, np. ethernet, arcnet, token ring, które obs³uguj± wiele komputerów na jednym segmencie. 55..77..11.. DDoo cczzeeggoo ss³³uu¿¿yy pprrooggrraamm rroouutteedd ?? Konfiguracja trasowania opisana powy¿ej nadaje siê dla prostych konfiguracji sieci, gdzie zawsze istnieje tylko jedna droga do celu. W przypadku bardziej skomplikowanych konfiguracji sieci, sprawy nieco siê komplikuj±. Na szczê¶cie wiêkszo¶ci was to nie dotyczy. Najwieksze k³opoty jakie sprawia 'trasowanie rêczne' lub inaczej mówi±c 'statyczne', polegaj± na tym, ¿e w przypadku przerwania ³±cza do komputera docelowego, jedyn± metod± nawi±zania komunikacji inn± drog± (je¶li taka istnieje) jest rêczna interwencja w tabelê trasowania (rêczne uruchomienie odpowiednich poleceñ). Naturalnie jest to bardzo powolne, niepraktyczne i ryzykowne. Zosta³y rozwiniête techniki w celu automatycznej modyfikacji tabeli trasowania w przypadku awarii po³±czeñ w celu prze³±czenia ruchu na drogi obej¶ciowe, wszystkie te metody nazywane s± ogólnie 'trasowaniem dynamicznym'. Byæ mo¿e s³ysza³e¶ o najbardziej popularnych protoko³ach dynamicznego trasowania. Najczêsciej wystêpuj±cym jes RIP (Routing Information Protocol) i OSPF (Open Shortest Path First Protocol). RIP jest bardzo populany w ma³ych sieciach takich jak ma³ego rozmiaru sieci korporacyjne lub sieci miêdzy budynkami. OSPF jest nowocze¶niejszym i bardziej sprawnym protoko³em, lepiej nadaj±cym siê do obs³ugi du¿ych konfigracji sieci i lepiej nadaje siê do zastosowania w ¶rodowiskach, gdzie istnieje du¿a liczba mo¿liwych tras przesy³ania pakietu. Powszechnymi implementacjami tych protoko³ów s± programy _r_o_u_t_e_d -RIP i _g_a_t_e_d -RIP,OSPF i inne. _r_o_u_t_e_d jest zwykle w ka¿dej dystrybucji Linuksa, lub mo¿na go znale¼æ w pakiecie `NetKit' opisanym wcze¶niej. Przyk³ad, który mog³by wymagaæ zastosowania dynamicznego trasowania móg³by wygl±daæ nastêpuj±co: 192.168.1.0 / 192.168.2.0 / 255.255.255.0 255.255.255.0 - - | | | /-----\ /-----\ | | | |ppp0 // ppp0| | | eth0 |---| A |------//---------| B |---| eth0 | | | // | | | | \-----/ \-----/ | | \ ppp1 ppp1 / | - \ / - \ / \ / \ / \ / \ / \ / \ / \ / ppp0\ /ppp1 /-----\ | | | C | | | \-----/ |eth0 | |---------| 192.168.3.0 / 255.255.255.0 Mamy tutaj trzy routery A,B i C. Ka¿dy obs³uguje segment sieci klasy C (netmaska 255.255.255.0). Ka¿dy router posiada równie¿ ³±cze PPP do ka¿dego z pozosta³ych routerów. Sieæ tworzy trójk±t. Powinno byæ ju¿ oczywiste, ¿e tabela trasowania na routerza A wygl±da nastêpuj±co: # route add -net 192.168.1.0 netmask 255.255.255.0 eth0 # route add -net 192.168.2.0 netmask 255.255.255.0 ppp0 # route add -net 192.168.3.0 netmask 255.255.255.0 ppp1 Taka konfiguracja bêdzie dzia³a³a poprawnie, dopóki po³±czenie pomiêdzy routerami A i B bêdzie pracowaæ poprawnie. Je¶li nast±pi awaria tego po³±czenia komputery na segmencie A nie bêd± w stanie osi±gn±æ komputerów segmentu B i na odwrót poniewa¿ ich datagramy bêd± kierowane do interfejsu ppp0 routera A, który uleg³ w³a¶nie awarii. Jednak komputery z segmentu B bêd± mog³y nadal komunikowaæ siê z segmentem D i na odwrót poniewa¿ po³±czenie PPP pomiêdzy komputerami pozosta³o nietkniête. Zaczekaj! Skoro A mo¿e komunikowaæ siê z C i C mo¿e komunikowaæ siê z B dlaczego nie przesy³aæ datagramów adresowanych do B przez C zrzucaj±c na niego dostarczenie ich do B? To jest w³a¶nie rodzaj problemu, do rozwi±zania którego powsta³y protoko³y trasowania dynamicznego, jak np. RIP. Gdyby na ka¿dym z routerów by³ uruchominy program _r_o_u_t_e_d wtedy tablice trasowania zosta³yby automatycznie poprawione, tak aby odzwierciedla³y nowy stan sieci w przypadku awarii któregokolwiek po³±czenia. Utworzenie takiej konfiuracji jest proste. Na ka¿dym z routerów nale¿y zrobiæ dwie rzeczy. W przypadku routera A: # route add -net 192.168.1.0 netmask 255.255.255.0 eth0 # /usr/sbin/routed Demon `_r_o_u_t_e_d' tu¿ po uruchomieniu automatycznie znajdzie aktywne porty przy³±czeñ sieciowych, nastêpnie bêdzie do nich rozsy³a³ i nas³uchiwa³ przychodz±cych z nich komunikatów pozwalaj±c w ten sposób okre¶lenie poprawnej tabeli trasowania. To by³ bardzo krótki opis trasowania dynamicznego i jego zastosowañ. Je¶li potrzebujesz wiêcej informacji powiniene¶ zapoznaæ siê dokumentami, do których referencje znajdziesz na pocz±tku tego dokumentu. Istotne sprawy dotycz±ce dynamicznego trasowania: 1. Potrzeba uruchomienia demona protoko³u dynamicznego trasowania zachodzi jedynie wtedy, gdy twój Linux ma mo¿liwo¶æ wyboru trasy do komputera docelowego. 2. Demon trasowania dynamicznego bêdzie automatycznie modyfikowa³ tabelê trasowania dopasowuj±c j± do zmian w strukturze sieci. 3. RIP nadaje siê do sieci ma³ych i ¶rednich. 55..88.. KKoonnffiigguurraaccjjaa sseerrwweerróóww ii uuss³³uugg ssiieecciioowwyycchh.. Serwery i us³ugi sieciowe s± to te programy, które pozwalaj± zdalnemu u¿ytkownikowi staæ siê u¿ytkownikiem twojego komputera. Zdalny u¿ytkownik ustanawia po³±czenie sieciowe z twoim komputerem i programem oferuj±cym us³ugê, lub demonem sieciowym, nas³uchuj±cym na danym porcie, akceptuje po³±czenie i wykonuje program. Istniej± dwa tryby pracy demonów sieciowych. Oba s± równie czêsto stosowane. Oto one: nniieezzaallee¿¿nnyy program-demon sieciowy nas³uchuje na okre¶lonych portach sieciowych i w momencie zestawienia przychodz±cego po³±czenia, sam zarz±dza tym po³±czeniem w celu udostêpnienia danej us³ugi. ppooddppoorrzz±±ddkkoowwaannyy sseerrwweerroowwii _i_n_e_t_d serwer _i_n_e_t_d jest specjalnym programem-demonem sieciowym specjalizuj±cym siê w obs³udze zestawiania po³±czeñ sieciowych. Posiada w³asny plik konfiguracyjny, który mówi mu, który program obs³ugi us³ugi powinien zostaæ uruchomiony dla zaistnia³ej kombinacji typu po³±czenia (tcp lub udp) i numeru portu. Porty s± opisane w innym pliku, o którym opowiemy ju¿ nied³ugo. Istniej± dwa wa¿ne pliki konfiguracyjne. S± to /etc/services: plik, który kojarzy nazwy z numerami portów i /etc/inetd.conf: plik konfiguracyjny demona _i_n_e_t_d. 55..88..11.. //eettcc//sseerrvviicceess Plik /etc/services jest prost± baz±, która kojarzy ³atwe dla cz³owieka nazwy portów z wykorzystywanymi przez komputery numerami. Posiada bardzo prosty format. Jest to plik tekstowy, którego ka¿dy wiersz jest jednym rekordem informacji. Ka¿dy rekord sk³ada siê z trzech pól, rozdzielonych dowoln± ilo¶ci± bia³ych znaków (tabulator lub odstêp): nazwa port/protokó³ aliasy # komentarz nnaazzwwaa jedno s³owo reprezentuj±ce opisywan± us³ugê. ppoorrtt//pprroottookkóó³³ to pole jest podzielone na dwie czê¶ci ppoorrtt numer okre¶laj±cy numer portu pod którym bêdzie dostêpna dana us³uga. Wiekszo¶æ popularnych us³ug ma ju¿ przydzielone numery portów. S± opisane w RFC-1340. pprroottookkóó³³ mo¿e to byæ albo tcp albo udp. Nale¿y zapamiêtaæ, ¿e pozycja 18/tcp jest zupe³nie inna ni¿ pozycja 18/udp i nie ma ¿adnych technicznych uwarunkowañ, dlaczego dana us³uga mia³aby istnieæ w obu przypadkach. Nale¿y zachowaæ zdrowy rozs±dek. Je¶li która¶ z us³ug jest rzeczywi¶cie dostêpna zarówno przez tcp, jak i przez udp, wtedy rzeczywi¶cie w /etc/services znajd± siê obie te pozycje. aalliiaassyy inne nazwy, pod którymi bêdzie znana ta us³uga. Dowolny tekst w wierszu po znaku `#' jest traktowany jako komentarz i ignorowany. 55..88..11..11.. PPrrzzyykk³³aadd pplliikkuu //eettcc//sseerrvviicceess .. Wszystkie nowe dystrybucje Linuksa dostarczaj± dobry plik /etc/services. Na wszelki wypadek, gdyby¶ chcia³ zbudowaæ swój komputer od zera oto kopia pliku /etc/services jaki jest dostarczany razem z dystrybucj± Debian <http://www.debian.org/>. # /etc/services: # $Id: NET-3-HOWTO.pl.sgml,v 1.4 2001/12/15 09:56:17 bart Exp $ # # Network services, Internet style # # Note that it is presently the policy of IANA to assign a single well-known # port number for both TCP and UDP; hence, most entries here have two entries # even if the protocol doesn't support UDP operations. # Updated from RFC 1340, ``Assigned Numbers'' (July 1992). Not all ports # are included, only the more common ones. tcpmux 1/tcp # TCP port service multiplexer echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp qotd 17/tcp quote msp 18/tcp # message send protocol msp 18/udp # message send protocol chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp 21/tcp ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol telnet 23/tcp # 24 - private smtp 25/tcp mail # 26 - unassigned time 37/tcp timserver time 37/udp timserver rlp 39/udp resource # resource location nameserver 42/tcp name # IEN 116 whois 43/tcp nicname re-mail-ck 50/tcp # Remote Mail Checking Protocol re-mail-ck 50/udp # Remote Mail Checking Protocol domain 53/tcp nameserver # name-domain server domain 53/udp nameserver mtp 57/tcp # deprecated bootps 67/tcp # BOOTP server bootps 67/udp bootpc 68/tcp # BOOTP client bootpc 68/udp tftp 69/udp gopher 70/tcp # Internet Gopher gopher 70/udp rje 77/tcp netrjs finger 79/tcp www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protocol link 87/tcp ttylink kerberos 88/tcp kerberos5 krb5 # Kerberos v5 kerberos 88/udp kerberos5 krb5 # Kerberos v5 supdup 95/tcp # 100 - reserved hostnames 101/tcp hostname # usually from sri-nic iso-tsap 102/tcp tsap # part of ISODE. csnet-ns 105/tcp cso-ns # also used by CSO name server csnet-ns 105/udp cso-ns rtelnet 107/tcp # Remote Telnet rtelnet 107/udp pop-2 109/tcp postoffice # POP version 2 pop-2 109/udp pop-3 110/tcp # POP version 3 pop-3 110/udp sunrpc 111/tcp portmapper # RPC 4.0 portmapper TCP sunrpc 111/udp portmapper # RPC 4.0 portmapper UDP auth 113/tcp authentication tap ident sftp 115/tcp uucp-path 117/tcp nntp 119/tcp readnews untp # USENET News Transfer Protocol ntp 123/tcp ntp 123/udp # Network Time Protocol netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp netbios-ssn 139/tcp # NETBIOS session service netbios-ssn 139/udp imap2 143/tcp # Interim Mail Access Proto v2 imap2 143/udp snmp 161/udp # Simple Net Mgmt Proto snmp-trap 162/udp snmptrap # Traps for SNMP cmip-man 163/tcp # ISO mgmt over IP (CMOT) cmip-man 163/udp cmip-agent 164/tcp cmip-agent 164/udp xdmcp 177/tcp # X Display Mgr. Control Proto xdmcp 177/udp nextstep 178/tcp NeXTStep NextStep # NeXTStep window nextstep 178/udp NeXTStep NextStep # server bgp 179/tcp # Border Gateway Proto. bgp 179/udp prospero 191/tcp # Cliff Neuman's Prospero prospero 191/udp irc 194/tcp # Internet Relay Chat irc 194/udp smux 199/tcp # SNMP Unix Multiplexer smux 199/udp at-rtmp 201/tcp # AppleTalk routing at-rtmp 201/udp at-nbp 202/tcp # AppleTalk name binding at-nbp 202/udp at-echo 204/tcp # AppleTalk echo at-echo 204/udp at-zis 206/tcp # AppleTalk zone information at-zis 206/udp z3950 210/tcp wais # NISO Z39.50 database z3950 210/udp wais ipx 213/tcp # IPX ipx 213/udp imap3 220/tcp # Interactive Mail Access imap3 220/udp # Protocol v3 ulistserv 372/tcp # UNIX Listserv ulistserv 372/udp # # UNIX specific services # exec 512/tcp biff 512/udp comsat login 513/tcp who 513/udp whod shell 514/tcp cmd # no passwords used syslog 514/udp printer 515/tcp spooler # line printer spooler talk 517/udp ntalk 518/udp route 520/udp router routed # RIP timed 525/udp timeserver tempo 526/tcp newdate courier 530/tcp rpc conference 531/tcp chat netnews 532/tcp readnews netwall 533/udp # -for emergency broadcasts uucp 540/tcp uucpd # uucp daemon remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem klogin 543/tcp # Kerberized `rlogin' (v5) kshell 544/tcp krcmd # Kerberized `rsh' (v5) kerberos-adm 749/tcp # Kerberos `kadmin' (v5) # webster 765/tcp # Network dictionary webster 765/udp # # From ``Assigned Numbers'': # #> The Registered Ports are not controlled by the IANA and on most systems #> can be used by ordinary user processes or programs executed by ordinary #> users. # #> Ports are used in the TCP [45,106] to name the ends of logical #> connections which carry long term conversations. For the purpose of #> providing services to unknown callers, a service contact port is #> defined. This list specifies the port used by the server process as its #> contact port. While the IANA can not control uses of these ports it #> does register or list uses of these ports as a convienence to the #> community. # ingreslock 1524/tcp ingreslock 1524/udp prospero-np 1525/tcp # Prospero non-privileged prospero-np 1525/udp rfe 5002/tcp # Radio Free Ethernet rfe 5002/udp # Actually uses UDP only bbs 7000/tcp # BBS service # # # Kerberos (Project Athena/MIT) services # Note that these are for Kerberos v4, and are unofficial. Sites running # v4 should uncomment these and comment out the v5 entries above. # kerberos4 750/udp kdc # Kerberos (server) udp kerberos4 750/tcp kdc # Kerberos (server) tcp kerberos_master 751/udp # Kerberos authentication kerberos_master 751/tcp # Kerberos authentication passwd_server 752/udp # Kerberos passwd server krb_prop 754/tcp # Kerberos slave propagation krbupdate 760/tcp kreg # Kerberos registration kpasswd 761/tcp kpwd # Kerberos "passwd" kpop 1109/tcp # Pop with Kerberos knetd 2053/tcp # Kerberos de-multiplexor zephyr-srv 2102/udp # Zephyr server zephyr-clt 2103/udp # Zephyr serv-hm connection zephyr-hm 2104/udp # Zephyr hostmanager eklogin 2105/tcp # Kerberos encrypted rlogin # # Unofficial but necessary (for NetBSD) services # supfilesrv 871/tcp # SUP server supfiledbg 1127/tcp # SUP debugging # # Datagram Delivery Protocol services # rtmp 1/ddp # Routing Table Maintenance Protocol nbp 2/ddp # Name Binding Protocol echo 4/ddp # AppleTalk Echo Protocol zip 6/ddp # Zone Information Protocol # # Debian GNU/Linux services rmtcfg 1236/tcp # Gracilis Packeten remote config server xtel 1313/tcp # french minitel cfinger 2003/tcp # GNU Finger postgres 4321/tcp # POSTGRES mandelspawn 9359/udp mandelbrot # network mandelbrot # Local services 55..88..22.. //eettcc//iinneettdd..ccoonnff Plik /etc/inetd.conf jest plikiem konfiguracyjnym programu _i_n_e_t_d. Jego rol± jest poinformowanie _i_n_e_t_d co powinien zrobiæ w momencie otrzymania po³±czenia z konkretn± us³ug±. Musisz powiedzieæ programowi _i_n_e_t_d, który program obs³ugi uruchomiæ i jak to zrobiæ. Musisz to zrobiæ dla ka¿dej us³ugi, której po³±czenia maj± byæ obs³ugiwane przez program _i_n_e_t_d. Format tego pliku jest ca³kiem prosty. Jest to plik tekstowy, którego k±zy wiersz jest niezale¿ny rekordem danych opisuj±cych jedn± z us³ug jak± chcesz obs³ugiwaæ. Dowolny tekst w wierszu po znaku `#' jest traktowany jako komentarz i pomijany. Ka¿dy wiersz sk³ada siê z siedmiu pól rodzielonych bia³ymi znakami (tabulator lub odstêp) w formacie: service socket_type proto flags user server_path server_args us³uga rodzaj_gniazda protokó³ flagi u¿ytkownik ¶cie¿ka_dostêpu arguemnty uuss³³uuggaa nazwa us³ugi pobrana przez inetd z /etc/services rrooddzzaajj ggnniiaazzddaa to pole okre¶la rodzaj gniazda jakie zostanie utworzone, dozwolone warto¶ci to : stream, dgram, raw, rdm, or seqpacket. Dok³adny opis jest do¶æ skomplikowany ale jako pierwsze przybli¿enie mo¿na potraktowaæ zasadê, ¿e niemal wszystkie us³ugi korzystaj±ce z tcp u¿ywaj± stream i niemal wszystkie us³ugi korzystaj±ce z udp u¿ywaj± dgram. Inne kombinacje parametrów wystêpuj± w bardzo rzadkich przypadkach specjalizowanych serwerów us³ug. pprroottookkóóll nazwa protoko³u danej pozycji. Powinien pasowaæ do odpowiedniej pozycji pliku /etc/serwer i zwykle jest to tcp lub udp. Us³ugi oparte na Sun RPC (Remote Procedure Call) bêd± korzysta³y z rpc/tcp lub rpc/udp. ffllaaggii istniej± tylko dwie warto¶ci jakie mo¿e przyjmowaæ to pole. Informuj± one program inetd czy uruchomiony program obs³ugi zwalnia gniazdo co pozwala na uruchomienie kolejnego przy nastêpnym po³±czeniu do tej us³ugi, czy _i_n_e_t_d powinien zaczekaæ na zakoñczenie dzia³ania programu obs³ugi, który sam bêdzie obs³ugiwa³ ¿±dania zestawienia po³±czenia. Ponownie dok³adny opis jest dosyæ skomplikowany, lecz w przybli¿eniu mozna powiedzieæ, ¿e wszystkie us³ugi typu tcp powinny w tym polu mieæ warto¶æ nowait i wiêkszo¶æ us³ug typu udp powinny przyjmowaæ warto¶æ wait. Pamiêtaj, ¿e istniej± znacz±ce wyj±tki od tej regu³y. uu¿¿yyttkkoowwnniikk okre¶la, który u¿ytkownik zdefiniowany w pliku /etc/passwd statnie siê w³a¶cicielem uruchomionego demona sieciowego. Jest to po¿yteczne, gdy chcesz zwiêkszyæ bezpieczeñstwo swojego systemu. Mo¿esz temu polu nadaæ warto¶æ nobidy aby w przypadku z³amania zabezpieczeñ programów obs³ugi wyrz±dzone straty by³y jak najmniejsze. Zwykle to pole przyjmuje warto¶æ root, poniewa¿ wiêkszo¶æ programów obs³ugi do wykonania poprawnie swych zadañ wymaga uprawnieñ administatora. ¶¶cciiee¿¿kkaa__ddoossttêêppuu to pole oznacza pe³n± scie¿kê dostêpu do programu obs³ugi, który nale¿y uruchomiæ. aarrgguummeennttyy zawiera pozosta³± czê¶æ wiersza poleceñ uruchamianego programu obs³ugi. Jest to parametr opcjonalny. To w³a¶nie tutaj mo¿esz umie¶ciæ dowolne parametry, które zostan± przekazane programowi obs³ugi w momencie jego uruchomienia przez program inetd. 55..88..22..11.. PPrrzzyykk³³aadd pplliikkuu //eettcc//iinneettdd..ccoonnff Podobnie jak w przypadku pliku /etc/services wszystkie nowoczesne dystrybucje zawieraj± poprawny plik /etc/inetd.conf. Na wszelki wypadek poni¿ej mo¿na znale¼æ plik /etc/inetd.conf dostarczany z dystrybucj± Debian <http://www.debian.org/> . # /etc/inetd.conf: see inetd(8) for further informations. # # Internet server configuration database # # # Modified for Debian by Peter Tobias <tobias@et-inf.fho-emden.de> # # <service_name> <sock_type> <proto> <flags> <user> <server_path> <args> # # Internal services # #echo stream tcp nowait root internal #echo dgram udp wait root internal discard stream tcp nowait root internal discard dgram udp wait root internal daytime stream tcp nowait root internal daytime dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal time stream tcp nowait root internal time dgram udp wait root internal # # These are standard services. # telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd #fsp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.fspd # # Shell, login, exec and talk are BSD protocols. # shell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd login stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind #exec stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rexecd talk dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.talkd ntalk dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.ntalkd # # Mail, news and uucp services. # smtp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.smtpd #nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/in.nntpd #uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico #comsat dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.comsat # # Pop et al # #pop-2 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop2d #pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d # # `cfinger' is for the GNU finger server available for Debian. (NOTE: The # current implementation of the `finger' daemon allows it to be run as `root'.) # #cfinger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.cfingerd #finger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.fingerd #netstat stream tcp nowait nobody /usr/sbin/tcpd /bin/netstat #systat stream tcp nowait nobody /usr/sbin/tcpd /bin/ps -auwwx # # Tftp service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." # #tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd #tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /boot #bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120 # # Kerberos authenticated services (these probably need to be corrected) # #klogin stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind -k #eklogin stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind -k -x #kshell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd -k # # Services run ONLY on the Kerberos server (these probably need to be corrected) # #krbupdate stream tcp nowait root /usr/sbin/tcpd /usr/sbin/registerd #kpasswd stream tcp nowait root /usr/sbin/tcpd /usr/sbin/kpasswdd # # RPC based services # #mountd/1 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.mountd #rstatd/1-3 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rstatd #rusersd/2-3 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rusersd #walld/1 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rwalld # # End of inetd.conf. ident stream tcp nowait nobody /usr/sbin/identd identd -i 55..99.. IInnnnee pplliikkii kkoonnffiigguurraaccyyjjnnee zzwwii±±zzaannee zz ssiieeccii±±.. Linux posiada jeszcze kilka plików konfiguracyjnych, które maj± wp³yw na pracê sieci, z którymi powinno siê zapoznaæ. Byæ mo¿e nigdy nie wyst±pi potrzeba ich modyfikacji, lecz warto wiedzieæ jakie informacje zawieraj± i czego dotycz±. 55..99..11.. //eettcc//pprroottooccoollss Plik /etc/protocols zawiera informacje przyporz±dkowuj±ce nazwom protoko³ów odpowiednie numery. Jest wykorzystywany przez ró¿ne programy pozwalaj±c na podawanie nazw protoko³ów zamiast numerów oraz inne programy, jak np tcpdump, które mog± wy¶wietlaæ nazwy protoko³ów zamiast ich liczbowej reprezentacji. Sk³adnia pliku jest nastêpuj±ca: protocolname number aliases nazwa_protoko³u numer aliasy Plik /etc/protocols dostarczany w dystrybucji Debian <http://www.debian.org/> wygl±da nastêpuj±co: # /etc/protocols: # $Id: NET-3-HOWTO.pl.sgml,v 1.4 2001/12/15 09:56:17 bart Exp $ # # Internet (IP) protocols # # from: @(#)protocols 5.1 (Berkeley) 4/17/89 # # Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992). ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # Internet Group Management ggp 3 GGP # gateway-gateway protocol ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') st 5 ST # ST datagram mode tcp 6 TCP # transmission control protocol egp 8 EGP # exterior gateway protocol pup 12 PUP # PARC universal packet protocol udp 17 UDP # user datagram protocol hmp 20 HMP # host monitoring protocol xns-idp 22 XNS-IDP # Xerox NS IDP rdp 27 RDP # "reliable datagram" protocol iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 xtp 36 XTP # Xpress Tranfer Protocol ddp 37 DDP # Datagram Delivery Protocol idpr-cmtp 39 IDPR-CMTP # IDPR Control Message Transport rspf 73 RSPF # Radio Shortest Path First. vmtp 81 VMTP # Versatile Message Transport ospf 89 OSPFIGP # Open Shortest Path First IGP ipip 94 IPIP # Yet Another IP encapsulation encap 98 ENCAP # Yet Another IP encapsulation 55..99..22.. //eettcc//nneettwwoorrkkss Plik /etc/networks ma funkcjê zbli¿on± do funkcji pliku /etc/hosts. Jest prost± baz± danych nazw i adresów sieci. Jego format ró¿ni siê tylko tym, ¿e mo¿e zawieraæ jedynie dwa pola w wierszu w nastêpujacym formacie: # networkname networkaddress # nazwa_sieci adres_sieci Przyk³adowy plik móg³by wygl±daæ tak: loopnet 127.0.0.0 localnet 192.168.0.0 amprnet 44.0.0.0 W przypadku u¿ywania programu _r_o_u_t_e je¶li punkt docelowy jest sieci±, a sieæ ta znajduje siê w pliku /etc/networks, wtedy polecenie route zamiast adresu IP sieci wy¶wietli jej nazwê. 55..1100.. BBeezzppiieecczzeeññssttwwoo ssiieecciioowwee ii sstteerroowwaanniiee ddoossttêêppeemm.. Pozwól, ¿e rozpocznê ten rozdzia³ stwierdzeniem, ¿e zabezbieczanie komputera i sieci przed z³o¶liwymi atakami jest trudn± i skomplikowan± sztuk±. Nie uwa¿am siê za aksperta w tej dziedzinie i choæ opisywane przeze mnie mechanizmy pomog± byæ bardziej bezpiecznym to je¶li bardzo ci zale¿y na bezpieczeñstwie twojego systemu radzi³bym ci rozejrzeæ siê dok³adniej w tym temacie. W internecie mo¿na znale¼æ wiele dobrych referencji na ten temat. Podstawowa zasada brzmi: `NNiiee uurruucchhaammiiaajj sseerrwweerróóww ((pprrooggrraammóóww oobbss³³uuggii)),, kkttóórryycchh nniiee zzaammiieerrzzaasszz uu¿¿yywwaaææ..'. Wiele dystrybucji posiada mnóstwo ró¿nego rodzaju oprogramowania, automatycznie konfigurowanego i uruchamianego. Aby zapewniæ sobie minimalny poziom bezpieczeñstwa powinno siê przyjrzeæ siê plikowi /etc/inetd.conf i skomentowaæ te us³ugi, których nie zamierzasz u¿ywaæ. Dobrymi kandydatami s±: shell, login, exec, uucp, ftp i serwisy informacyjne, jak: finger, netstat i systat. Istnieje wiele mechanizmów sterowania dostêpem do oferowanych us³ug sieciowych, wymieniê podstawowe. 55..1100..11.. //eettcc//ffttppuusseerrss Plik /etc/ftpusers jest prostym mechanizmem pozwalaj±cym na zabronienie wej¶cia do systemu przez us³ugê ftp niektórym u¿ytkownikom twojego komputera. /etc/ftpusers jest odczytywany przez program obs³uguj±cy us³ugê ftp (_f_t_p_d) w momencie nawi±zania przychodz±cego po³±czenia. Plik zawiera listê tych u¿ytkowników, którzy nie maj± pozwolenia wchodzenie do systemu przez us³ugê ftp. Móg³by wygladaæ mniej wiêcej tak: # /etc/ftpusers - u¿ytkownicy, którzy nie mog± dostac siê do systemu # przez ftp root uucp bin mail 55..1100..22.. //eettcc//sseeccuurreettttyy Pli /etc/securetty pozwala na okre¶lenie listy urz±dzeñ tty, przez które mo¿e logowaæ siê administrator. Plik /etc/securetty jest wczytywany przez program weryfikuj±cy u¿ytkownika (zwykle _/_b_i_n_/_l_o_g_i_n). Jest to lista nazw urz±dzeñ, które mog± byæ wykorzystywane przez administratora na wej¶cie do systemu. Wej¶cie do systemu przez administratora przez inne urz±dzenia jest niemo¿liwe. # /etc/securetty - terminale tty przez które administrator mo¿e # zalogowaæ siê do systemu tty1 tty2 tty3 tty4 55..1100..33.. MMeecchhaanniizzmm sstteerroowwaanniiaa ddoossttêêppeemm ppaakkiieettuu ttccppdd .. Program _t_c_p_d jaki prawdopodobnie widzia³e¶ w pliku /etc/inetd.conf dostarcza mechanizmów rejestracji i sterowania dostêpem do us³ug, do ochrony których zosta³ skonfigurowany. W momencie uruchamiania przez program _i_n_e_t_d odczytuje swoje dwa pliki konfiguracyjne, zawieraj±ce zasady dostêpu i albo zezwala, albo odmawia dostêpu do us³ugi, któr± ochrania. Przeszukuje zasady znajduj±ce siê plikach konfiguracyjnych, a¿ do napotkania pierwszej, która pasuje do zaistnia³ej sytuacji. Je¶li takiej nie znalaz³ zak³ada, ¿e nale¿y pozwoliæ na dostêp. Pliki które przeszukuje to w kolejno¶ci: /etc/hosts.allow i /etc/hosts.deny. Pokrótce opiszê zawarto¶æ ka¿dego z nich. Pe³ny opis mo¿liwo¶ci programu _t_c_p_d znajdziesz na stronach podrêcznika (man hosts_allow). 55..1100..33..11.. //eettcc//hhoossttss..aallllooww Plik /etc/hosts.allow jest plikiem konfiguracyjnym programu _/_u_s_r_/_s_b_i_n_/_t_c_p_d. Plik hosts.allow zawiera informacje okre¶laj±ce, które komputery _m_o_g_± uzyskaæ dostêp do chronionej us³ugi w twoim systemie. Format pliku jest bardzo prosty: # /etc/hosts.allow # # <lista us³ug>: <lista komputerów> [: polecenie] lista us³ug jest odzielona przecinkami list± nazw programów obs³ugi chronionej us³ugi do której ma zastosowanie dana regu³a. Na przyk³ad: ftpd, telnetd i fingerd. lista komputerów jest rozdzielon± przecinkami list± nazw komputerów lub adresów IP. Mo¿na równie¿ okre¶laæ wzroce adresów lub naz komputerów stsuj±c znaki specjalne, umo¿liwiajæ tworzenie wzorców reprezentujacych grupy komputerów. Np. gw.v2ktj.ampr.org oznacz konkretny komputer, .uts.edu.au oznacza dowolny komputer, którego pe³na nazwa koñczy siê podanym ci±giem znaków, 44. oznacza dowolny adres IP zawieraj±cy te cyfry. W celu uproszczenia konfiguracji wprowadzono kilka specjalnych oznaczeñ: ALL okre¶laj±ce wszystkie komputery, LOCAL reprezentuj±cy wszystkei komputery, których nazwa nie zawiera znaku `.' tzn. nale¿± do tej samej domeny co twój komputer, PARANOID oznaczaj±cy wszystkie komputery, których nazwa nie odpowiada ich adresowi (name spoofing). I ostatni element bardzo u¿yteczny, to EXCEPT pozwalaj±cy na podanie listy z wyj±tkami. Omówimy to dok³adnie pó¼niej na przyk³adzie. polecenie jest opcjonalnym parametrem. Jest to pe³na ¶cie¿ka dostêpu do polecenia (programu), który nale¿y uruchomiæ za ka¿dym razem, kiedy dana regu³a zostanie dopasowana. Mo¿e to byæ polecenie, które bêdzie próbowa³o zidentyfikowaæ, kto znajduje siê w tej chwili na komputerze próbuj±cym nawi±zaæ po³±czenia, lub wy¶le wiadomo¶æ lub inny komunikat adresowany do administratora systemu informuj±c o próbie po³±czenia. Isnieje kilka wzorców, które zostan± podmienione, najczê¶ciej wykorzystywane to: %h jest zamieniane na nazwê komputera nawi±zuj±cego po³±czenie lub jego adres je¶li nie posiada nazwy, %d na nazwê programu obs³ugi, który zosta³ wywo³any. Przyk³ad: # /etc/hosts.allow # # dostêp do poczty dla wszystkich in.smtpd: ALL # po³±czenie telnet i ftp tylko z komputerów z lokalnej domeny i # mojego komputera domowego telnetd, ftpd: LOCAL, myhost.athome.org.au # Pozwól na finger z dowolnego komputera, lecz rejestruj kto siê z # nami ³±czy³ fingerd: ALL: (finger @%h | mail -s "finger from %h" root) 55..1100..33..22.. //eettcc//hhoossttss..ddeennyy Plik /etc/hosts.deny jest plikiem konfiguracyjnym programu _/_u_s_r_/_s_b_i_n_/_t_c_p_d. hosts.deny zawiera listê komputerów, które nie mog± uzyskaæ dostêpu do chronionej us³ugi w twoim systemie. Prosty przyklad wygl±da³ by mniej wiêcej tak: # /etc/hosts.deny # # Zabroñ dostêpu wszystkim komputerom o podejrzanych nazwach ALL: PARANOID # # Zabroñ dostêpu wszystkim do wszystkiego ALL: ALL PARANOID jest w tym przypadku niepotrzebne, poniewa¿ nastêpna pozycja przechwytuje wszystkie przypadki. Jedna z tych pozycji jest dobrym punktem wyj¶ciowym do budowy pliku konfiguracyjnego, zale¿nym od twoich oczekiwañ i wymagañ. Posiadanie opcji ALL: ALL w /etc/hosts.deny i zezwalanie na dostêp do konkretnych us³ug konkretnym komputerom (grupom komputerów) w pliku /etc/hosts.allow jest najbezpieczniejszym podej¶ciem. 55..1100..44.. //eettcc//hhoossttss..eeqquuiivv Plik hosts.equiv jest wykorzystywany nadawania innym komputerom i zdalnym u¿ytkownikom niektórych uprawnieñ dostêpu do naszych zasobów, bez konieczno¶ci podawania przez nich has³a. Jest to u¿yteczne w bezpiecznym ¶rodowisku sieciowym, gdzie posiadamy kontrolê nad wszystkimi komputerami lecz w innym przypadku jest to bardzo ryzykowne ze wzglêdu na bezpieczeñstwo naszego komputera. W takim przypadku twój komputer jest tak bezpieczny, jak najmniej bezpieczny z zaufanych komputerów. Aby zwiêkszyæ bezpieczeñstwo swojego systemu nie u¿ywaj tego mechanizmu i zachêcaj swoich u¿ytkowników do nie korzystania z pliku .rhosta. 55..1100..55.. PPrraawwiidd³³oowwaa kkoonnffiigguurraaccjjaa ddeemmoonnaa ffttpp .. Wiele miejsc bêdzie zainteresowynych dzia³aj±cym serwerem anonimowego _f_t_p, aby umo¿liwiæ innym pobieranie i wstawianie plików, bez konieczno¶ci podawania konkretnego identyfikatora u¿ytkownika. Je¶li zdecydujesz siê udostêpniæ tê us³ugê, pamiêtaj aby prawidlowo skonfigurowaæ demon _f_t_p_d. Wiekszo¶æ stron podrêcznika dotycz±cych _f_t_p_d_(_8_) opisuje jak to powino byæ zrobione. Powiniene¶ siê upewniæ, ¿e zawsze stosujesz siê do tych instrukcji. Bardzo wa¿ne jest, aby¶ nie u¿ywa³ w tym celu kopii swego pliku /etc/passwd w katalogu etc serwera ftpd. Musisz pamiêtaæ aby usun±æ wszelkie niepotrzebne informacje dotycz±ce kont, za wyj±tkiem tych niezbêdnych, w przeciwnym wypadku bêdziesz nara¿ony na ataki wynik³e ze z³amania hase³ prezentowanych w pliku passwd. 55..1100..66.. FFiirreewwaallllee.. Bardzo dobrym ¶rodkiem na zapewnienie bezpieczeñstwa swojemu systemowi jest zabronienie dostêpu do twojego komputera wszystkim niepo¿±danym pakietom. Jest to dokladnie opisane w Firewall-HOWTO <Firewall- HOWTO.pl.html>. 55..1100..77.. IInnnnee ssuuggeessttiiee.. Oto inne, potencjalnie religijne sugestie, które powiniene¶ rozwa¿yæ. sseennddmmaaiill niezale¿nie od swojej popularno¶ci demon z przera¿aj±c± regularno¶ci± pojawiaj± siê ostrze¿enia o b³êdach w programie _s_e_n_d_m_a_i_l. Wszystko zale¿y od ciebie, lecz ja bym go nie uruchamia³. NNFFSS ii iinnnnee uuss³³uuggii SSuunn RRPPCC powiniene¶ siê ich baæ. Istnieje wiele sposobów wykorzystania b³êdów w tych us³ugach. Bardzo trudno jest zast±piæ NFS czym¶ innym, dok³adnie upewnij siê komu pozwalasz na montowanie swoich dysków. 66.. IInnffoorrmmaaccjjee ssppeeccyyffiicczznnee tteecchhnnoollooggiiii ssiieecciioowweejj Kolejne podrozdzia³y s± specyficzne dla konkretnych technologi sieciowych. Informacje tam zawarte nie musz± mieæ zastosowania do innego rodzaju technologii sieciowych. 66..11.. AARRCCNNeett Urz±dzenia ARCNET posiadaj± nazwy `arc0s', `arc1e', `arc2e' itd. Pierwsza karta wykryta przez j±dro otrzymuje nazwê `eth0', a dalsze otrzymuj± nazwy z kolejnymi numerami. Litera na koñcu nazwy oznacza ¿e wybra³e¶ 'ethernet encapsulation' lub standard pakietu zgodny z RFC1051. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Network device support ---> [*] Network device support <*> ARCnet support [ ] Enable arc0e (ARCnet "Ether-Encap" packet format) [ ] Enable arc0s (ARCnet RFC1051 packet format) Je¶li posiadasz ju¿ prawid³owo skompilowane j±dro potrafi±ce obs³ugiwaæ kartê, jej konfiguracja jest bardzo prosta. Zwykle bêdziesz musia³ wydaæ nastêpuj±ce polecenia: # ifconfig arc0e 192.168.0.1 netmask 255.255.255.0 up # route add 192.168.0.0 netmask 255.255.255.0 arc0e Proszê zapoznaj siê z zawarto¶ci± pliku /usr/src/linux/Documentation/networking/arcnet-hardware.txt. Obs³uga sieci ARCNet zosta³a wykonana przez Averyego Pennaruna, apenwarr@foxnet.net. 66..22.. AApppplleettaallkk (( AAFF__AAPPPPLLEETTAALLKK )) Obs³uga sieci Appletalk nie wprowadza ¿±dnych dodatkowych nazw urz±dzeñ sieciowych. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> <*> Appletalk DDP Obs³uga Appletalk pozwala twojemu Linuksowi komunikowaæ siê z sieciami Apple. Bardzo wa¿nym wykorzystywaniem tej mo¿liwo¶ci jest wspó³dzielenie miêdzy twoim Linuksem i komputerami Apple zasobów takich jak drukarki, czy dyski. Wymagane jest do tego dodatkowe oprogramowanie o nazwie _n_e_t_a_t_a_l_k. Pakiet _n_e_t_a_t_a_l_k udostêpniaj±cy oprogramowanie implementuj±ce protokó³ Appletalk oraz kilka po¿ytecznych programów narzêdziowych stworzy³ wraz z grup± `Research Systems UnixGroup' na uniwersytecie Michigan reprezentuj±cy ten zespó³ Wesley Craig netatalk@umich.edu . Pakiet _n_e_t_a_t_a_l_k powiniene¶ otrzymaæ w swojej dystrybucji Linuksa, lub mo¿esz go pobraæ przez ftp ze ¼ród³a :University of Michigan <ftp://terminator.rs.itd.umich.edu/unix/netatalk/> Aby zbudowaæ i zainstalowaæ pakiet, musisz wydaæ nastêpuj±ce polecenia: # cd /usr/src # tar xvfz .../netatalk-1.4b2.tar.Z - W tym momencie mo¿esz zmieniæ plik `Makefile', np. w celu zmiany katalogu docelowego DESTDIR. Domy¶lnie zostanie zainstalowany w /usr/local/atalk co jest dosyæ bezpiecznym wyborem. # make - jako administrator: # make install 66..22..11.. KKoonnffiigguurraaccjjaa oopprrooggrraammoowwaanniiaa AApppplleettaallkk.. Pierwsz± rzecz± jak± musisz zrobiæ aby zaczê³o dzia³aæ to dodanie nowych pozycji do pliku /etc/services. A mianowicie: rtmp 1/ddp # Routing Table Maintenance Protocol nbp 2/ddp # Name Binding Protocol echo 4/ddp # AppleTalk Echo Protocol zip 6/ddp # Zone Information Protocol Kolejnym krokiem bêdzie utworzenie plików konfiguracyjnych pakietu w katalogu usr/local/atalk/etc (lub tam gdzie go zainstalowa³e¶). Pierwszym plikiem, który nale¿y utworzyæ jest /usr/local/atalk/etc/atalkd.conf. Pocz±tkowo potrzebuje od jedynie dodania wiersza okre¶laj±cego nazwê urz±dzenia sieciowego, które obs³uguje sieæ, na której znajduj± siê komputery Apple. eth0 Demon Appletalk po jego uruchomieniu do³o¿y kilka szczegó³ow. 66..22..22.. EEkkssppoorrttoowwaanniiee pplliikkóóww LLiinnuukkssaa pprrzzeezz AApppplleettaallkk.. Mo¿esz eksportowaæ swoje pliki, tak aby inne komputery sieci Appletalk mia³y do nich dostêp. W tym celu nale¿y odpowiednio zmieniæ plik konfiguracyjny /usr/local/atalk/etc/AppleVolumes.system. Istnieje równie¿ inny plik konfiguracyjny o nazwie /usr/local/atalk/etc/AppleVolumes.default w takim samym formacie opisuj±cy który system plików zostanie udostêpniony pod³±czaj±cym siê do nas u¿ytkownikom posiadaj±cym przywileje go¶cia (guest). Szczegó³owe informacje na temat konfiguracji tych plików, oraz opis znaczenia wszystkich opcji mo¿na znale¼æ na stronie podrêcznika po¶wiêconej _a_f_p_d (man afpd). Krótki plik przyk³adowy, móg³by wygl±daæ nastêpuj±co: /tmp Scratch /home/ftp/pub "Obszar ogólnie dostêpny" W tym przyk³adzie eksportujemy katalog /tmp jako system plików AppleShare o nazwie `Scratch' oraz katalog anonimowego ftp jako AppleShare Volume o nazwie "Obszar ogólnie dostêpny". Nazwy wolumenów nie s± obowi±zkowe, demon wybierz± jak±¶ za ciebie, lecz przecie¿ nic ciê nie kosztuje podanie nazwy. 66..22..33.. UUddoossttêêppnniiaanniiee ttwwoojjeejj ddrruukkaarrkkii ppoodd LLiinnuukksseemm ww ssiieeccii AApppplleettaallkk.. Wspó³dzielenie drukarki Linuksa z innymi komputerami sieci Appletalk jest ca³kiem proste. Musisz uruchomiæ program _p_a_p_d, Printer Access Protocol Daemon. Po uruchomieniu bêdzie akceptowa³ ¿±dania wydrukowania dokumentu, gromadzi³ go a nastêpnie drukowa³ korzystaj¹c z programów obs³ugi drukarki pod Linuksem. Konfiguracja tego programu polega na edycji pliku /usr/local/atalk/etc/papd.conf. Sk³adnia jest taka sama, jak pliku /etc/printcap. Nazwa jak± nadasz drukarce zostanie zarejestrowana za pomoc± NBP, protoko³u nazw sieci Appletalk. Prosta konfiguracja mog³aby wygl±daæ nastêpuj±co: TricWriter:\ :pr=lp:op=cg: Utworzona zosta³a drukarka o nazwie `TricWriter' udostêpniona sieci Appletalk. Zadania wys³ane na tê drukarkê, bêd± drukowane na drukarce `lp' (zdefiniowanej w pliku /etc/printcap) przy pomocy programu _l_p_d. Pozycja `op=cg' mówi, ¿e operatorem tej drukarki jest u¿ytkownik Linuksa o nazwie `_c_g'. 66..22..44.. UUrruucchhaammiiaanniiee oopprrooggrraammoowwaanniiaa AApppplleettaallkk.. Ok, w tej chwili powiniene¶ byæ ju¿ gotowy do sprawdzenia podstawowej konfiguracji. Pakiet _n_e_t_a_t_a_l_k dostarcza pliku _r_c_._a_t_a_l_k, który powinieñ nadawaæ siê dla ciebie. Powiniene¶ jedynie go uruchomiæ: # /usr/local/atalk/etc/rc.atalk Wszystko powinno siê uruchomiæ i dzia³aæ poprawnie. Nie powiniene¶ zobaczyæ, ¿adnych komunikatów o b³êdach, lecz jedynie komunikaty wys³ane na konsole informuj±ce o zakoñczeniu kolejnych etapów uruchamiania oprogogramowania. 66..22..55.. TTeesstt oopprrooggrraammoowwaanniiaa AApppplleettaallkk.. Aby sprawdziæ, czy oprogramowanie pracuje poprawnie, po³±cz sieæ z jednym z twoich komputerów Apple, rozwiñ menu g³ówne, wybierz Chooser, kliknij na AppleShare i powiniene¶ zobaczyæ tam swojego Linuksa. 66..22..66.. UUwwaaggii nnaa tteemmaatt kkoorrzzyyssttaanniiaa zz oopprrooggrraammoowwaanniiaa AApppplleettaallkk.. · Byæ mo¿e bedziesz musia³ uruchamiaæ obs³ugê sieci Appletalk przed skonfigurowaniem sieci IP. Je¶li napotkasz na k³opot uruchamiaj±c oprogramowania Appletalk, lub po jego uruchomieniu masz k³opoty ze swoj± sieci± IP, wtedy spróbuj uruchomiæ oprogramowanie Appletalk przed uruchomieniem skryptu rc.inet1. · _a_f_p_d (Apple Filing Protocol Daemon) robi po¿±dny ba³agan na twardym dysku. Poni¿ej punktów montowañ tworzy szereg podkatalogów: .AppleDesktop i Network Trash Folder. Nastêpnie dla ka¿dego katalogu, do którego siêgniesz utworzy w nim .AppleDouble aby mieæ gdzie przechowywaæ /, pó¼niej spêdzisz wiele mi³ych chwil sprz±taj±c po nim. · program _a_f_p_d oczekuje przesy³ania z Maców hase³ czystym tekstem. To bardzo os³abia bezpieczeñstwo twojego systemu. Musisz byæ bardzo ostro¿ny uruchamiaj±c ten program na komputerze pod³±czonym do internetu. Je¶li kto¶ zrobi co¶ z³ego bêdziesz wini³ samego siebie. · Istniej±ce oprogramowanie diagnostyczne np. _n_e_t_s_t_a_t i _i_f_c_o_n_f_i_g nie obs³uguje Appletalk. Surowa informacja na ten temat *je¶li jej potrzebujesz) jest dostêpna przez katalog /proc/net. 66..22..77.. WWiiêêcceejj iinnffoorrmmaaccjjii Wiêcej szczegó³owej informacji w jaki sposób skonfigurowaæ Appletalk dla Linuksa znajdziesz w _L_i_n_u_x _N_e_t_a_t_a_k_-_H_O_W_T_O : thehamptons.com <http://thehamptons.com/anders/netatalk>. 66..33.. AATTMM Projekt obs³ugi Asynchronous Transfer Mode pod Linuksem jest prowadzony przez Wernera Almesbergera <werner.almesberger@lrc.di.epfl.ch>. Aktualne informacje na ten temat mo¿na znale¼æ tutaj: lrcwww.epfl.ch <http://lrcwww.epfl.ch/linux- atm/>. 66..44.. AAXX2255 (( AAFF__AAXX2255 )) Urz±dzenia AX.25 w j±drze wersji 2.0.* to `sl0', `sl1', itd. w 2.1.* s± to `ax0', `ax1', itd. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> [*] Amateur Radio AX.25 Level 2 Protoko³y AX25, Netrom i Rose s± opisane w AX25-HOWTO <AX25-HOWTO.html>. Stosowane s± przez krótkofalowców w eksperymentach z przesy³aniem pakietów drog± radiow±. Wiêkszo¶æ pracy zwi±zanej z udostêpnieniem tej funkcji pod Linuksem wykona³ Jonathon Naylor, jsn@cs.not.ac.uk. 66..55.. DDEECCNNeett W chwili obecnej prowadzone s± prace nad obs³ug± sieci DECNet. Powinna siê pojawiæ w pó¼nych wersjach j±dra serii 2.1.x. 66..66.. EEQQLL -- mmuullttiippllee lliinnee ttrraaffffiicc eeqquuaalliisseerr Urz±dzenie EQL nosi nazwê `eql'. W standtardowej wersji j±dra mo¿esz mieæ w komputerze tylko jedno urz±dzenie EQL. EQL umo¿liwia wykorzystanie kilku po³±czeñ point-to-point (np. PPP, SLIP, plip) jako pojedynczego ³±cza logicznego przenosz±cego ruch tcp/ip. Czêsto taniej jest skorzystaæ z kilku linii o ni¿szej prêdko¶ci ni¿ z jednej linii o wysokiej prêdko¶ci. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Network device support ---> [*] Network device support <*> EQL (serial line load balancing) support Obs³uga tego mechanizmu wymaga, aby drugi koniec po³±czenia równie¿ obs³ugiwa³ EQL. Linux, Livingstone Portmasters i nowsze serwery dostêpowe udostêpniaj± tê us³ugê. Aby skonfigurowaæ EQL bêdziesz potrzebowaæ odpowiednich narzêdzi, dostêpnych z: sunsite.unc.edu <ftp://sunsite.unc.edu/pub/linux/system/Serial/eql-1.2.tar.gz>. Sama konfiguracja jest ca³kiem prosta. Rozpoczyna siê od skonfigurowania interfejsu eql. Jest to taki samo urz±dzenie, jak ka¿de inne urz±dzenie sieciowe. Konfiguracja adresu IP i wielko¶ci mtu odbywa siê tak samo za pomoc± programu _i_f_c_o_n_f_i_g: ifconfig eql 192.168.10.1 mtu 1006 route add default eql Nastêpnie musisz rêcznie zainicjowaæ ka¿d± w linii, któr± bêdziesz u¿ywa³. Sposób inicjacji po³±czenia bêdzie zale¿a³ od rodzaju tej linii, wiêcej informacji na ten temat znajdziesz w odpowiednim podrozdziale. Na koniec potrzebujesz skojarzyæ po³±czenie przez port szeregowy z urz±dzenie EQL, nazywa siê to `enslaving' i dokonuje siê za pomoc± polecenia _e_q_l___e_n_s_l_a_v_e: eql_enslave eql sl0 28800 eql_enslave eql ppp0 14400 Parametr `_s_z_a_c_o_w_a_n_a _p_r_ê_d_k_o_¶_æ' (estimated speed), który podajesz w poleceniu _e_q_l___s_l_a_v_e nie ma bezpo¶redniego wp³ywu na dzia³anie systemu. Jest wykorzystywany przez sterownik EQL do okre¶lenia stopnia podzia³u datagramów które powinny byæ otrzymywane przez urz±dzenie, mo¿esz w ten sposób dok³adnie dopasowaæ równomierne obci±¿enie wszystlich linii. W celu od³±czenia linii od urz±dzenia EQL stosuje siê polecnie _e_q_l___a_m_a_n_c_i_p_a_t_e: eql_emancipate eql sl0 Budowa tablicy trasowania odbywa siê w taki sam sposób, jak w przypadku zwyk³ego po³±czenia point-to-point, za wyj±tkiem tego, ¿e wszystkie trasy zamiast do urz±dzeñ ppp*, sl* powinny siê odnosiæ do urz±dzenia eql. Zwykle polecenia wygl±daj± mniej wiêcej tak: route add default eql0 Sterownik EQL zosta³ opracowany przez Simona Janesa, simon@ncm.com. 66..77.. EEtthheerrnneett Urz±dzenia kart ethernetowych nosz± nazwy `eth0', `eth1', `eth2' itd. Pierwsza karta wykryta przez j±dro otrzymuje nazwê `eth0', a reszta kolejne nazwy w miarê rozpoznawania kart przez system. Je¶li chcesz siê nauczyæ, jak pracuj± karty ethernetowe pod Linuksem, przeczytaj Ethernet-HOWTO <Ethernet-HOWTO.html>. Kiedy j±dro poprawnie rozpoznaje posiadane przez ciebie karty ethernetowe, ich dalsza konfiguracja jest prosta. Zwykle wystarcz± takie polecenia: # ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up # route add 192.168.0.0 netmask 255.255.255.0 eth0 Wiêkszo¶æ sterowników kart ethernetowych zosta³a opracowana przez Donalda Beckera becker@CESDIS.gsfc.nasa.gov. 66..88.. FFDDDDII Urz±dzenia standardu FDDI nosz± nazwy `fddi0', `fddi1', `fddi2' itd. Pierwsze urz±dzenie rozpoznane przez j±dro otrzymuje nazwê `fddi0', a pozosta³e kolejne nazwy w miarê ich rozpoznawania przez system. Sterownik kart Digital Equipment Corporation FDDI EISA o PCI zosta³ opracowany przez Lawrencea V. Stefaniego, stefani@lkg.dec.com. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Network device support ---> [*] FDDI driver support [*] Digital DEFEA and DEFPA adapter support Kiedy j±dro poprawnie rozpoznaje posiadane przez ciebie karty, konfiguracja interfejsu FDDI jest niemal identyczna, jak inicjalizacja kart ethernetowych. Po prostu jako argument programów _i_f_c_o_n_f_i_g i _r_o_u_t_e podajesz jedynie nazwê odpowiedniego urz±dzenia FDDI. 66..99.. FFrraammee RReellaayy Istniej± dwa rodzaje urz±dzeñ standardu Frame Relay w j±drze Linuksa, DLCI o nazwach `dlci00', `dlci01' itd. oraz FRAD o nazwach `sdla0', `sdla1' itd. Frame Relay jest now± technologi± sieciow±, przeznaczon± przede wszystkim dla ruchu ruchu o nieci±g³ej, przerywanej naturze. Do sieci Frame Relay pod³±cza siê za pomoc± urz±dzenia Frame Relay Access Device (FRAD). Frame Realy pod Linuksem obs³uguje przesy³anie pakietów IP zgodnie z opisem przedstawionym w RFC-1490. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Network device support ---> <*> Frame relay DLCI support (EXPERIMENTAL) (24) Max open DLCI (8) Max DLCI per device <*> SDLA (Sangoma S502/S508) support Obs³uga protoko³u Frame Relay, oraz niezbêdne do tego narzêdzia zosta³y napisane przez Mikea McLagana, mike.mclagan@linux.org. W chwili obecnej, jedynym obs³ugiwanym urz±dzeniem FRAD jest Sangoma Technologies <http://www.sangoma.com/> S502A, S502E and S508. Po prawid³owym skompilowaniu j±dra, do skonfigurowania urz±dzeñ FRAD i DLCI s± niezbêdne narzêdzia konfiguracyjne: ftp.invlogic.com <ftp://ftp.invlogic.com/pub/linux/fr/frad-0.15.tgz>. Komplilacja i instalacja narzêdzi jest prosta, niestety brak g³ównego pliku Makefile, powoduje, ¿e trzeba to zrobiæ rêcznie. # cd /usr/src # tar xvfz .../frad-0.15.tgz # cd frad-0.15 # for i in common dlci frad; do cd $i; make clean; make; cd ..; done # mkdir /etc/frad # install -m 644 -o root -g root bin/*.sfm /etc/frad # install -m 700 -o root -g root frad/fradcfg /sbin # install -m 700 -o root -g root dlci/dlcicfg /sbin Po zainstalowaniu narzêdzi, trzeba utworzyæ plik /etc/frad/router.conf. Mo¿esz skorzystaæ z poni¿szego wzoru, który jest zmodyfikowanym plikiem przyk³adowym: # /etc/frad/router.conf # Jest to wzorzec pliku konfiguracyjnego urz±dzeñ Frame Relay # Zawiera wszystkie mo¿liwe opcje. Warto¶ci domy¶lne s± ustawione # na podstawie kodu sterowników karty Sangoma S502A dla MSDOSu. # # Znak '#' w dowolnym miejscu wiersza rozpoczyna komentarz # Puste miejsca s± ignorowane (mo¿esz tabulatorem ³adnie sformatowaæ # ca³y plik # Nieznane pozycje [] i s³owa kluczowe s± ignorowane # [Devices] Count=1 # Liczba urz±dzeñ do skonfigurowania Dev_1=sdla0 # nazwa urz±dzenia #Dev_2=sdla1 # nazwa urz±dzenia # Podane tutaj parametry maj± zastosowanie do wszystkich urz±dzeñ, # lecz dla ka¿dego urz±dzenia indywidualnie mo¿e byæ podana inna warto¶æ # Access=CPE Clock=Internal KBaud=64 Flags=TX # # MTU=1500 # Maksymalna d³ugo¶æ ramki IFrame, domy¶lnie 4096 # T391=10 # T391 value 5 - 30, domy¶lnie 10 # T392=15 # T392 value 5 - 30, domy¶lnie 15 # N391=6 # N391 value 1 - 255, domy¶lnie 6 # N392=3 # N392 value 1 - 10, domy¶lnie 3 # N393=4 # N393 value 1 - 10, domy¶lnie 4 # Podane tutaj parametry maj± zastosowanie do wszystkich urz±dzeñ # CIRfwd=16 # CIR forward 1 - 64 # Bc_fwd=16 # Bc forward 1 - 512 # Be_fwd=0 # Be forward 0 - 511 # CIRbak=16 # CIR backward 1 - 64 # Bc_bak=16 # Bc backward 1 - 512 # Be_bak=0 # Be backward 0 - 511 # # # Konfiguracja poszczególnych urz±dzeñ # # # # Pierwsze urz±dzenie - Sangoma S502E # [sdla0] Type=Sangoma # Rodzaj urz±dzenia do skonfigurowania, # rozpoznawana jest tylko SANGOMA # # Poni¿sze parametry s± specyficzne dla typu Sangoma # # Rodzaj karty ¶angoma - S502A, S502E, S508 Board=S502E # # Nazwa firmowego oprogramowania testowego dla karty Sangoma # Testware=/usr/src/frad-0.10/bin/sdla_tst.502 # # Nazwa firmowego oprogramowania FR # Firmware=/usr/src/frad-0.10/bin/frm_rel.502 # Port=360 # Port uzywany przez tê kartê Mem=C8 # Adres okna pamiêci, A0-EE, zale¿ny od karty IRQ=5 # Numer przerwania IRQ , nie potrebny w przypadku S502A DLCIs=1 # Liczba urz±dzeñ DLCI przy³±czonych do tego urz±dzenia DLCI_1=16 # numer pierwszego urz±dzenia DLCI, 16 - 991 # DLCI_2=17 # DLCI_3=18 # DLCI_4=19 # DLCI_5=20 # # Podane poni¿ej opcje maj± zastosowanie tylko do tego urz±dzenia # i zastêpuj± warto¶cidomy¶lne podane wcze¶niej # # Access=CPE # CPE lub NODE, domy¶lnie CPE # Flags=TXIgnore,RXIgnore,BufferFrames,DropAborted,Stats,MCI,AutoDLCI # Clock=Internal # External lub Internal, domy¶lnie Internal # Baud=128 # Okre¶lona prêdko¶æ (bodów) przy³±czonych CSU/DSU # MTU=2048 # Maksymalna d³ugo¶æ ramki IFrame, domy¶lnie 4096 # T391=10 # T391 value 5 - 30, domy¶lnie 10 # T392=15 # T392 value 5 - 30, domy¶lnie 15 # N391=6 # N391 value 1 - 255, domy¶lnie 6 # N392=3 # N392 value 1 - 10, domy¶lnie 3 # N393=4 # N393 value 1 - 10, domy¶lnie 4 # # Drugim urz±dzeniem jest zupe³nie inna karta # # [sdla1] # Type=¦miesznaKarta # Rodzaj konfigurowanego urz±dzenia # Board= # Rodzaj karty Sangoma # Key=Value # Parametry specyficzne dla tego urz±dzenia # # Domy¶lne parametry konfiguracyjne urz±dzeñ DLCI # Mog± zostaæ zastêpione w konkretnych sekcjach konfiguracyjnych DCI # CIRfwd=64 # CIR forward 1 - 64 # Bc_fwd=16 # Bc forward 1 - 512 # Be_fwd=0 # Be forward 0 - 511 # CIRbak=16 # CIR backward 1 - 64 # Bc_bak=16 # Bc backward 1 - 512 # Be_bak=0 # Be backward 0 - 511 # # Konfiguracja DLCI # Wszystkie parametry s± opcjonalne. Nazewnictwo: # [DLCI_D<devicenum>_<DLCI_Num>] # [DLCI_D1_16] # IP= # Net= # Mask= # Flags defined by Sangoma: TXIgnore,RXIgnore,BufferFrames # DLCIFlags=TXIgnore,RXIgnore,BufferFrames # CIRfwd=64 # Bc_fwd=512 # Be_fwd=0 # CIRbak=64 # Bc_bak=512 # Be_bak=0 [DLCI_D2_16] # IP= # Net= # Mask= # Flags defined by Sangoma: TXIgnore,RXIgnore,BufferFrames # DLCIFlags=TXIgnore,RXIgnore,BufferFrames # CIRfwd=16 # Bc_fwd=16 # Be_fwd=0 # CIRbak=16 # Bc_bak=16 # Be_bak=0 Po stworzeniu pliku /etc/frad/router.conf pozosta³o jedynie skonfigurowaæ rzeczywiste urz±dzenia. Jest to tylko troszkê sprytniejsze ni¿ konfigurowanie zwyk³ych urz±dzeñ sieciowych. Musisz pamiêtaæ aby przed uruchomieniem urz±dzeñ DLCI uruchomiæ wpierw urz±dzenie FRAD. # Konfiguracja karty FRAD i parametrów DLCI /sbin/fradcfg /etc/frad/router.conf || exit 1 /sbin/dlcicfg file /etc/frad/router.conf # # Podnoszenie urz±dzenia FRAD ifconfig sdla0 up # # Konfiguracja interfejsów DLCI i trasowania ifconfig dlci00 192.168.10.1 pointopoint 192.168.10.2 up route add 192.168.10.0 netmask 255.255.255.0 dlci00 # ifconfig dlci01 192.168.11.1 pointopoint 192.168.11.2 up route add 192.168.11.0 netmask 255.255.255.0 dlci00 # route add default dev dlci00 # 66..1100.. ZZlliicczzaanniiee rruucchhuu ((IIPP AAccccoouunnttiinngg)) Cechy j±dra Linuksa dotycz±ce zliczania ruchu umo¿liwiaj± gromadzenie i analizê informacji na temat wykorzystania sieci. Gromadzone dane zawieraj± liczbê pakietów, liczbê odpowiadaj±cych im bajtów przes³anych od ostatniego zerowania liczników. Mo¿esz zliczaæ ruch na wiele ró¿nych sposobów, odpowiednio grupuj±c ruch tak aby gromadzone informacje zawiera³y odpowiednie, interesuj±ce ciê statystyki. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> [*] IP: accounting Po skompilowaniu i zainstalowaniu nowego j±dra, musisz skorzystaæ z narzêdzia o nazwie _i_p_f_w_a_d_m, s³u¿±cego do wprowadzania i zmiany regu³ zliczania ruchu. Istnieje wiele regu³ zliczania ruchu, które móg³by¶ zastosowaæ. Wybra³em kilka prostych, które mog± byæ u¿yteczne, zapoznaj siê ze stron± podrêcznika dotycz±c± programu _i_p_f_w_a_d_m. Scenariusz: Posiadasz sieæ ethernetow± przy³±czon± do Internetu za pomoc± po³±czenia PPP. Na segmencie ethernetowym znajduje siê komputer oferuj±cy szereg us³ug. Jeste¶ zainteresowany jaki ruch jest generowany przez telnet, rlogin, ftp i www. Mo¿esz skorzystaæ z poni¿szego zestawu poleceñ: # # Usuñ istniej±ce regu³y zliczania ruchu ipfwadm -A -f # # dodaj regu³y dotycz±ce lokalnego segmentu ethernetowego ipfwadm -A in -a -P tcp -D 44.136.8.96/29 20 ipfwadm -A out -a -P tcp -S 44.136.8.96/29 20 ipfwadm -A in -a -P tcp -D 44.136.8.96/29 23 ipfwadm -A out -a -P tcp -S 44.136.8.96/29 23 ipfwadm -A in -a -P tcp -D 44.136.8.96/29 80 ipfwadm -A out -a -P tcp -S 44.136.8.96/29 80 ipfwadm -A in -a -P tcp -D 44.136.8.96/29 513 ipfwadm -A out -a -P tcp -S 44.136.8.96/29 513 ipfwadm -A in -a -P tcp -D 44.136.8.96/29 ipfwadm -A out -a -P tcp -D 44.136.8.96/29 ipfwadm -A in -a -P udp -D 44.136.8.96/29 ipfwadm -A out -a -P udp -D 44.136.8.96/29 ipfwadm -A in -a -P icmp -D 44.136.8.96/29 ipfwadm -A out -a -P icmp -D 44.136.8.96/29 # # Regu³y domy¶lne ipfwadm -A in -a -P tcp -D 0/0 20 ipfwadm -A out -a -P tcp -S 0/0 20 ipfwadm -A in -a -P tcp -D 0/0 23 ipfwadm -A out -a -P tcp -S 0/0 23 ipfwadm -A in -a -P tcp -D 0/0 80 ipfwadm -A out -a -P tcp -S 0/0 80 ipfwadm -A in -a -P tcp -D 0/0 513 ipfwadm -A out -a -P tcp -S 0/0 513 ipfwadm -A in -a -P tcp -D 0/0 ipfwadm -A out -a -P tcp -D 0/0 ipfwadm -A in -a -P udp -D 0/0 ipfwadm -A out -a -P udp -D 0/0 ipfwadm -A in -a -P icmp -D 0/0 ipfwadm -A out -a -P icmp -D 0/0 # # Wy¶wietl listê obowi±zuj±cych regu³ ipfwadm -A -l -n # Ostatnie polecenie wy¶wietla listê regu³ zliczania ruchu wraz ze zgromadzonymi informacjami. Analizuj±c wielko¶æ ruchu IP nale¿y pamiêtaæ, ¿e bbêêddzziiee zzwwiiêêkksszzaannyy lliicczznniikk kkaa¿¿ddeejj rreegguu³³yy,, kkttóórraa ppaassuujjee ddoo aannaalliizzoowwaanneeggoo ppaakkiieettuu, aby uzyskaæ wyniki ró¿nicowe, trzeba wykonaæ proste dzia³ania matematyczne. Gdybym chcia³ znaæ liczbê przes³anych bajtów poza us³ugami telnet, rlogin, ftp i www musia³bym od wielko¶ci ruchu dla wszystkich portów odj±æ zmierzone wielko¶ci dla poszczególnych regu³. # ipfwadm -A -l -n IP accounting rules pkts bytes dir prot source destination ports 0 0 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 20 0 0 out tcp 44.136.8.96/29 0.0.0.0/0 20 -> * 0 0 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 23 0 0 out tcp 44.136.8.96/29 0.0.0.0/0 23 -> * 10 1166 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 80 10 572 out tcp 44.136.8.96/29 0.0.0.0/0 80 -> * 242 9777 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 513 220 18198 out tcp 44.136.8.96/29 0.0.0.0/0 513 -> * 252 10943 in tcp 0.0.0.0/0 44.136.8.96/29 * -> * 231 18831 out tcp 0.0.0.0/0 44.136.8.96/29 * -> * 0 0 in udp 0.0.0.0/0 44.136.8.96/29 * -> * 0 0 out udp 0.0.0.0/0 44.136.8.96/29 * -> * 0 0 in icmp 0.0.0.0/0 44.136.8.96/29 * 0 0 out icmp 0.0.0.0/0 44.136.8.96/29 * 0 0 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 20 0 0 out tcp 0.0.0.0/0 0.0.0.0/0 20 -> * 0 0 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 23 0 0 out tcp 0.0.0.0/0 0.0.0.0/0 23 -> * 10 1166 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 80 10 572 out tcp 0.0.0.0/0 0.0.0.0/0 80 -> * 243 9817 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 513 221 18259 out tcp 0.0.0.0/0 0.0.0.0/0 513 -> * 253 10983 in tcp 0.0.0.0/0 0.0.0.0/0 * -> * 231 18831 out tcp 0.0.0.0/0 0.0.0.0/0 * -> * 0 0 in udp 0.0.0.0/0 0.0.0.0/0 * -> * 0 0 out udp 0.0.0.0/0 0.0.0.0/0 * -> * 0 0 in icmp 0.0.0.0/0 0.0.0.0/0 * 0 0 out icmp 0.0.0.0/0 0.0.0.0/0 * # 66..1111.. IIPP AAlliiaassiinngg Istniej± programy sieciowe, które wymagaj± aby jedno urz±dzenie sieciowe posiada³o wiele numerów IP. Dostawcy internetu czêsto korzystaj± z tej cechy do tworzenia wirtualnych serwerów WWW i ftp oferuj±c klientowi utworzenie serwera o innym adresie ni¿ ich w³asny. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> .... [*] Network aliasing .... <*> IP: aliasing support Po skompilowaniu i zainstalowaniu j±dra z obs³ug± IP_Alias, konfiguracja jest bardzo prosta. Aliasy s± dodawane do wirtualnych urz±dzeñ sieciowych stowarzyszonych z istniej±cymu urz±dzeniami sieciowymi. Stosuje siê prost± konwencjê nazywania tych urz±dzeñ, a mianowicie <devname>:<numer urz±dzenia wirtualnego>, np. eth0:0, ppp0:10 etc. Za³ó¿my, ¿e posiadasz sieæ ethernetow±, która obs³uguje jednocze¶nie dwie ró¿ne podsieci IP. Chcia³by¶ aby twój komputer mia³ bezpo¶redni dostêp do obu tych podsieci: # # ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0 up # route add -net 192.168.1.0 netmask 255.255.255.0 eth0:0 # # ifconfig eth0:1 192.168.10.1 netmask 255.255.255.0 up # route add -net 192.168.10.0 netmask 255.255.255.0 eth0:0 # Aby usun±æ alias nale¿y do jego nazwy do³±czyæ znak `-' podczas nastêpnego odwo³ania siê do niego, np. tak: # ifconfig eth0:0- 0 Wraz z usuniêciem tego aliasu z tabeli trasowañ zostan± usuniête wrzystkie trasy korzystaj±ce z tego aliasu. 66..1122.. FFiillttrroowwnniiee ppaakkiieettóóww ((IIPP FFiirreewwaalllliinngg)) Filtrowanie pakiet i zasady przy tym obowi±zuj±ce s± dok³adniej omówione w Firewall-HOWTO <Firewall-HOWTO.html>. IP Firewalling pozwala na zabezpieczenia twojego komputera przed nieuprawnionym dostêpem przez sieæ, wykorzystuj±c w tym celu filtrowanie pakietów. Istniej± trzy ró¿ne klasy regu³: filtrowanie pakietów przychodz±cych, filtrowanie pakietów wychodz±cych i filtrowanie pakietów przekazywanych dalej (forwarding). Regu³y filtrowania pakietów przychodz±cych dotycz± pakietów otrzymanych przez urz±dzenie sieciowe. Regu³y filtrowania pakietów wychodz±cych, dotycz± pakietów tu¿ przed wys³aniem przez urz±dzenie sieciowe. Regu³y fitrowania pakietów przesy³anych dotycz± pakietów, które zosta³y przez nasz komputer odebrane, lecz nie jest on ich ostatecznym adresatem, tzn. pakiety, które bêd± poddane trasowaniu. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> [*] Network firewalls .... [*] IP: forwarding/gatewaying .... [*] IP: firewalling [ ] IP: firewall packet logging Wprowadzanie regu³ filtrowania pakietów IP wykonuje siê za pomoc± programu _i_p_f_w_a_d_m. Jak wspomina³em wcze¶niej nie jestem ekspertem od zabezpieczeñ sieci komputerowych, wiêc choæ prezentujê przyk³ad, z którego mo¿esz skorzystaæ, powiniene¶ samodzielnie zapoznaæ siê z tym tematem i opracowaæ w³asne regu³y filtrowania pakietów, oczywi¶cie tylko wtedy, gdy jest dla ciebie wa¿ne bezpieczeñstwo twojego systemu. Prawdopodobnie najczêstszym wykorzystaniem filtrowania pakietów jest sytuacja, gdy twój Linux pracuje jako router i filtr pakietów chroni±cy lokaln± sieæ przed nieuprawnionym dostêpem z sieci zewnêtrznej. Przedstawiona poni¿ej konfiguracja jest oparta na sugestiach przes³anych przez Arnta Gulbrandsena, <agulbra@troll.no>. Przyk³ad opisuje konfiguracjê regu³ filtra pakietów prauj±cego na Linuksie, wykorzystywanym w sposób przedstawiony na poni¿szym schemacie: - - \ | 172.16.37.0 \ | /255.255.255.0 \ --------- | | 172.16.174.30 | Linux | | NET =================| f/w |------| ..37.19 | PPP | router| | -------- / --------- |--| Mail | / | | /DNS | / | -------- - - Poni¿sze polecenia zwykle s± umieszczane w jednym z plików rc, aby by³y automatycznie wykonywane przy ka¿dym uruchomieniu systemu. Aby maksymalnie zwiêkszyæ bezpieczeñstwo systemu, powinny byæ wykonywane tu¿ po skonfigurowaniu urz±dzeñ sieciowych, lecz tu¿ przed ich w³±czeniem. W ten sposób niwelujemy chwilê s³±bo¶ci zwi±zan± z restartem komputera. #!/bin/sh # Oczy¶æ tabelê regu³ przesy³ania pakietów (forwarding) # Zmieñ domy¶ln± polityk± na 'accept' (akceptuj): # /sbin/ipfwadm -F -f /sbin/ipfwadm -F -p accept # # .. i dla ruchu przychodz±cego (Incoming) # /sbin/ipfwadm -I -f /sbin/ipfwadm -I -p accept # Po pierwsze zabezpiecz interfejs PPP # Chêtnie zamiast '-a deny' wstawi³bym '-a reject -y', lecz wtedy nie # by³oby mo¿liwe rozpoczynanie po³±czeñ wychodz±cych przez ten # interfejs. Parametr -o pozwala rejestrowaæ odrzucane datagramy. # Kosztem przestrzeni dyskowej zajêtej przez informacje sysloga # uzyskujemy informacje na temat niechcianego ruchu IP. # /sbin/ipfwadm -I -a reject -y -o -P tcp -S 0/0 -D 172.16.174.30 # Odrzuæ pewnego rodzaju pakiety: # Nic nie powinno przychodziæ z adresów multicast/anycast/broadcast # /sbin/ipfwadm -F -a deny -o -S 224.0/3 -D 172.16.37.0/24 # # nic nie powinno przychodziæ z adresu pêtli zwrotnej # /sbin/ipfwadm -F -a deny -o -S 127.0/8 -D 172.16.37.0/24 # Zezwól na po³±czenia SMTP i DNS, lecz jedynie do serwera Mail/DNS # /sbin/ipfwadm -F -a accept -P tcp -S 0/0 -D 172.16.37.19 25 53 # # DNS korzysta z UDP i TCP, musisz pozwoliæ na oba rodzaje po³±czeñ # /sbin/ipfwadm -F -a accept -P udp -S 0/0 -D 172.16.37.19 53 # # Nie pozwalamy na "odpowiedzi" przychodz±ce do tak niebezpiecznych # portów jak NFS czy rozszerzenie NFSu Larryego McVoya. Je¶li # korzystasz ze squida dopisz tutaj jego port # /sbin/ipfwadm -F -a deny -o -P udp -S 0/0 53 \ -D 172.16.37.0/24 2049 2050 # odpowiedzi do innych portów s± OK # /sbin/ipfwadm -F -a accept -P udp -S 0/0 53 \ -D 172.16.37.0/24 53 1024:65535 # Odrzuæ po³±czenia przychodz±ce do identd # korzystamy tutaj z 'reject', aby ³±cz±cy siê komputer wiedzia³, ¿e # nie ma co próbowaæ nawi±zaæ po³±czenia. W przeciwnym wypadku narazimy # siê na opó¼nienia wywo³ane dzia³aniem programu ident po drugiej # stronie nawi±zywanego przez nas po³±czenia # /sbin/ipfwadm -F -a reject -o -P tcp -S 0/0 -D 172.16.37.0/24 113 # Pozwól na popularne us³ugi pochodz±ce z sieci 192.168.64 i 192.168.65 # /sbin/ipfwadm -F -a accept -P tcp -S 192.168.64.0/23 \ -D 172.16.37.0/24 20:23 # akceptuj i przesy³aj wszystko co wziê³o siê z sieci lokalnej # /sbin/ipfwadm -F -a accept -P tcp -S 172.16.37.0/24 -D 0/0 # zabroñ wiêkszo¶ci innych po³±czeñ TCP i rejestruj je # (je¶li masz k³opot z dzia³aniem ftp dodaj 1:1023) # /sbin/ipfwadm -F -a deny -o -y -P tcp -S 0/0 -D 172.16.37.0/24 # ... for UDP too # /sbin/ipfwadm -F -a deny -o -P udp -S 0/0 -D 172.16.37.0/24 Dobra konfiguracja filtra jest niemal sztuk±. Powy¿szy przyk³ad powinien byæ rozs±dnym punktem startowym. Strona podrêcznika dotycz±ca _i_p_f_w_a_d_m oferuje dodatkowe informacje na ten temat. Je¶li planujesz za³o¿enie filtra upewnij siê, ¿e zebra³e¶ wokó³ maksymalnie wiele porad ze ¼róde³, którym mo¿esz ufaæ i popro¶ kogo¶ aby sprawdzi³ dzia³anie twojego filtra z zewn±trz. 66..1133.. IIPPXX (( AAFF__IIPPXX )) Protokó³ IPX jest powszechnie wykorzystywany w lokalnych sieciach Novell Netware(tm). Linux potrafi obs³ugiwaæ ten protokó³ i mo¿e zostaæ skonfigurowany do pracy jako koñcówka sieci Novell Netware(tm) lub jako router pakietów IPX. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> [*] The IPX protocol [ ] Full internal IPX network Protokó³ IPX i standard NCPFS s± dok³adniej omówione w IPX-HOWTO <IPX- HOWTO.html>. 66..1144.. IIPPvv66 W³a¶nie gdy zaczê³o ci siê wydawaæ, ¿e zaczynasz rozumieæ sieci IP, zasady siê zmieni³y! IPv6 jest skrótem oznaczaj±cym wersjê 6 protoko³u IP. IPv6 zosta³ opracowany w celu rozwiania obaw spo³eczno¶ci internetowej zwi±zanych z wyczerpywaniem siê wolnych adresów IP. Adresy protoko³u IPv6 s± budowane na 32 bajtach (128 bitów), pozwoli to na lepsze zarz±dzanie sieciami, ni¿ ma to obecnie. J±dra Linuksa serii 2.1.* ju¿ posiadaj± dzia³aj±c±, choæ niepe³n± implementacje protoko³u IPv6. Je¶li chcesz poeksperymentowaæ z t± now± generacj± technologii internetowych, lub jest ci to do czego¶ potrzebne, powiniene¶ przeczytaæ IPv6-FAQ dostêpny pod adresem: www.terra.net <http://www.terra.net/ipv6/>. 66..1155.. IISSDDNN Sieæ cyfrowa zintegrowanych us³ug (Integrated Services Digital Network - ISDN) sk³ada siê z serii standardów definuj±cych cyfrow± sieæ pakietow± ogólnego przeznaczenia. ISND jest zwykle dostarczana ³±czami o wysokiej prêdko¶ci, podzielonymi na wiele kana³ów. Istniej± dwa ró¿ne rodzaje kana³ów, kana³y typu 'B' rzeczywi¶cie przenosz±ce dane u¿ytkownika, oraz kana³ typu 'D' wykorzystywany do przesy³ania informacji steruj±cej do centrali ISDN w celu zestawiania po³±czeñ i innych funkcji. Dla przyk³adu w Australii ISDN mo¿e byæ dostarczony ³±czem 2Mbps podzielonym na 30 kana³ów B po 64kbps ka¿dy i jeden kana³ D. W tej samej chwili mo¿e byæ wykorzystywana dowolna liczba kaba³ów w dowolnej kombinacji. Jest mo¿liwe np, zestawienie 30 ró¿nych po³±czeñ z 30toma ró¿nymi punktami docelowymi, ka¿de po 64kbps lub 15 po³±czeñ z 15toma ró¿nymi punktami docelowymi, ka¿de po 128 kbps (jedno po³±czenie wykorzystuje dwa kana³y), lub zestawienie ma³ej liczby po³±czeñ pozostawiaj±c pozosta³± czê¶æ pasma niewykorzytan±. Pierwotn± przyczyn± powstania ISDN, by³o umo¿liwienie firmom telekomunikacyjnym udostêpniania jednej us³ugi przesy³ania danych, która mog³aby byæ wykorzystywana dla telefonii (wykorzystuj± cyfrowe przetworniki g³osu) lub do przesy³ania danych bez konieczno¶ci wykonywania przez klienta jakichkolwiek zmian. Istnieje kilka ró¿nych metod pod³±czenia komputera do sieci ISDN. Jedn± z nich jest wykorzystanie urz±dzenia o nazwie `Terminal Adaptor', które w³±cza siê do koñcówki sieciowej (Network Terminating Unit), zainstalowanej przez twojego dostawcê us³ugi ISDN, udostêpniaj±cego z drugiej strony kilka portów szeregowych. Jeden z tych portów s³u¿y do wprowadzania poleceñ w celu skonfigurowania i nawi±zania po³±czeñ, pozosta³e s± pod³±czone do urz±dzeñ sieciowych, które bêd± bezpo¶rednio korzysta³y z zestawionych kana³ów transmisji danych. W takiej konfiguracji Linux bêdzie pracowa³ poprawnie bez konieczno¶ci wykonywania jakichkolwiek modyfikacji. Korzystamy z portu szeregowego urz±dzenia 'Terminal Adaptor' w taki sam sposób, jak ze zwyk³ego portu szeregowego. Innym sposobem przy³±czenia Linuksa do sieci ISDN, w czym wspomagaæ nas bêdzie kod obs³ugi ISDN zawarty w j±drze Linuksa jest zainstalowanie karty ISDN bezpo¶rednio w Linuksie. Wtedy modu³ obs³ugi ISDN w j±drze Linuksa jest odpowiedzialny za obs³ugê urz±dzenia, protoko³ów i zestawianie po³±czeñ. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: ISDN subsystem ---> <*> ISDN support [ ] Support synchronous PPP [ ] Support audio via ISDN < > ICN 2B and 4B support < > PCBIT-D support < > Teles/NICCY1016PC/Creatix support Implementacja ISDN w j±drze Linuksa rozpoznaje szereg ró¿nych typów wewnêtrznych kart ISDN. Ich lista jest przedstawiona podczas konfiguracji j±dra: · ICN 2B and 4B · Octal PCBIT-D · Teles ISDN-cards and compatibles Czê¶æ z tych kart wymaga za³adowania do ich wewnêtrznej pamiêci odpowiedniego oprogramowania. S³u¿y do tego oddzielne narzêdzie. Szczegó³owy opis jak skonfigurowaæ obs³ugê ISDN pod Linuksem jest dostêpny w katalogu /usr/src/linux/Documentation/isdn/. Istnieje równie¿ FAQ po¶wiêcony tej tematyce: _i_s_d_n_4_l_i_n_u_x jest dostêpny pod adresem www.lrz-muenchen.de <http://www.lrz- muenchen.de/~ui161ab/www/isdn/>. (po po³±czeniu, aby otrzymaæ wersjê angielsk±, musisz klikn±æ na angielskiej fladze) UUwwaaggaa nnaa tteemmaatt PPPPPP. Rodzina protoko³ów PPP pracuje na ³±czach szeregowych synchronicznych lub asynchronicznych. Rozpowszechniany powszechnie program `_p_p_p_d' obs³uguje jedynie tryb asynchroniczny. Je¶li zamierzasz uruchamiaæ po³±czenie PPP wykorzystuj±æ jako no¶nik us³ugê ISDN, potrzebujesz specjaln±, zmodyfikowan± wersjê tego programu. Wskazówki, gdzie j± mo¿na znale¼æ znajdziesz w dokumentacji, o której wspomnieli¶my wcze¶niej. 66..1166.. IIPP MMaassqquueerraaddee Wielu ludzi do po³±czenia z Internetem ma zwyk³e konto u dostawcy Internetu. Niemal ka¿dy korzystaj±cy z takiej konfiguracji otrzymuje od swojego dostawcy Internetu jeden adres IP. Zwykle jest to wystarczaj±ce na pod³±czenie do Internetu tylko jednego komputera. Maskarada adresu IP jest sprytn± sztuczk± umo¿liwiaj±c± jednoczesne korzystanie z tego jednego adresu IP przez wiele komputerów, sprawiaj±c, ¿e dla ¶wiata zewnêtrzengo komputery te wygl±daj± tak, jak gdyby by³y komputerem obs³uguj±cy po³±czenie modemowe z Internetem. Istnieje ma³a niedogodno¶æ, a mianowicie w wiêkszo¶ci przypadków maskarada adresów IP dzia³a tylko w jedn± stronê, to znaczy komputery, które z niej korzystaj± mog± nawi±zywaæ po³±czenia z komputerami w sieci Internet, lecz same nie mog± otrzymywaæ po³±czeñ z zewn±trz. To oznacza, ¿e niektóre us³ugi sieciowe np. _t_a_l_k nie dzia³±j±, a inne np. _f_t_p musz± byæ skonfigurowane do pracy w trybie pasywnym (PASV). Na szczêscie wiêkszo¶æ us³ug internetowych takich, jak _t_e_l_n_e_t, _W_W_W i _i_r_c dzia³a bardzo dobrze. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Networking options ---> [*] Network firewalls .... [*] TCP/IP networking [*] IP: forwarding/gatewaying .... [*] IP: masquerading (EXPERIMENTAL) Wpierw twój Linux musi obs³ugiwaæ po³±czenie z internetem (zwykle przez SLIP lub PPP) w taki sam sposób, jak gdyby by³jedynym komputerme, który bêdzie z tego po³±czenia korzysta³. Nastêpnie nale¿y skonfigurowaæ dodatkowe urz±dzenie sieciowe, zwykle kartê sieci ethernet, zwykle korzystaj±c z puli numerów IP zarezerwowanych dla sieci prywatnych, których nie wykorzystuje siê w sieci Internet. Komputery korzystaj±ce z maskarady adresów IP bed± w³a¶nie na tej sieci. Ka¿dy z nich otrzyma adres IP i zostanie skonfigurowany w ten sposób, ¿e jego gatewayem (routerem) stanie siê interfejs karty ethernetowej naszego Linuksa. Typowa konfiguracja wygl±da mnie wiêcej tak: - - \ | 192.168.1.0 \ | /255.255.255.0 \ --------- | | | Linux | .1.1 | NET =================| masq |------| | PPP/slip | router| | -------- / --------- |--| host | / | | | / | -------- - - Najwa¿niejsze polecenia konfiguracyjne dla tego przyk³adu: # Trasa do sieci na segmencie ethernetowym route add 192.168.1.0 netmask 255.255.255.0 eth0 # # Domy¶lna trasa do Internetu route add default ppp0 # # Wszystkie komputery w sieci 192.168.1/24 korzystaj± z maskarady # adresów IP ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 Wiêcej informacji na temat maskarady adresów IP pod Linuksem znajdziesz tutaj:IP Masquerade Resource Page <http://www.hwy401.com/achau/ipmasq/>, lub w dokumencie IP-Masquerade- HOWTO <IP-Masquerade-HOWTO.pl.html>. 66..1177.. IIPP TTrraannssppaarreenntt PPrrooxxyy Przezroczyste proxy IP jest udogodnieniem, które umo¿liwia przekierowanie po³±czeñ do us³ug lub serwerów na innym komputerze do us³ug lub serwerów znajduj±cych siê na tym komputerze. Zwykle jest to u¿yteczne w sytuacji gdy twój Linux pracuje jako router i jednocze¶nie pracuje jako serwer proxy. W takim przypadku mo¿esz przekierowaæ do lokalnego serwera proxy wszystkie po³±czenia do serwerów proxy znajduj±cych siê za routerem. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Networking options ---> [*] Network firewalls .... [*] TCP/IP networking .... [*] IP: firewalling .... [*] IP: transparent proxy support (EXPERIMENTAL) Konfiguracjê przezroczystego proxy wykonuje siê programem _i_p_f_w_a_d_m. Prosty przyk³ad, który mo¿e byæ u¿yteczny: ipfwadm -I -a accept -D 0/0 80 -r 8080 W powy¿szym przyk³adzie przekierowujemy wszystkie po³±czenia skierowane na port 80 (www) dowolnego komputera, na po³±czenia do portu 8080 naszego Linuksa. Ten sposób móg³by byæ u¿yty (gdyby by³ poprawny - bo nie jest ...pp) do przekierowania ca³ego ruchu www do lokalnego serwera proxy. 66..1188.. MMoobbiillee IIPP Termin 'IP mobility' opisuje zdolno¶æ komputera do przemieszczania swojego punktu styku z internetem z jednej sieci do innej sieci bez konieczno¶ci zmiany w³asnego adresu IP i bez utraty nawi±zanych po³±czeñ. Zwykle gdy komputer zmienia swój punkt przy³±czenia do sieci, musi równie¿ zmieniæ adres IP. Udogodnienie IP Mobility przezwyciê¿a tê niedogodno¶æ przydzielaj±c komputerowi jeden, ustalony adres IP i wykorzystuje tunelowanie (IP tunneling) i automatyczne trasowanie zapewniaj±c, ¿e datagramy skierowane do tego komputera s± kierowane do adresu IP, z którego korzysta. Istnieje projekt maj±cy zapewniæ powstanie kompletu narzêdzi dla udogodnienia 'IP mobility' pd Linuksem. Aktualny stan prac mo¿na poznaæ zagl±daj±c na stronê: Linux Mobile IP Home Page <http://anchor.cs.binghamton.edu/~mobileip/>. 66..1199.. MMuullttiiccaasstt IP Multicast pozwala na jednoczesne trasowanie datagramów do wielu ró¿nych komputerów znajduj±cych siê w zupe³nie innych podsieciach. Korzysta siê z tego mechanizmu rozpowszechniania w internecie audio i video lub innych nowoczesnych us³ug. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> [*] TCP/IP networking .... [*] IP: multicasting Wymagany jest minimalny zestaw narzêdzi i ma³a rekonfiguracja sieci. Dobrym ¼ród³em informacji na temat istalacji i konfiguracji tego udogodnienia pod Linuksem jest strona www.teksouth.com <http://www.teksouth.com/linux/multicast/>. 66..2200.. NNeettRRoomm (( AAFF__NNEETTRROOMM )) Urz±dzenia NetRom nosz± nazwy `nr0', `nr1', itd. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> [*] Amateur Radio AX.25 Level 2 [*] Amateur Radio NET/ROM Protoko³y AX25, NetRom i Rose s± opisane w AX25-HOWTO <AX25-HOWTO.html>. S± wykorzystywane g³ównie przez krótkofalowców (packet radio). Wiekszo¶æ pracy w implementacji tych protoko³ów pod Linuksem wykona³ Jonathon Naylor, jsn@cs.not.ac.uk. 66..2211.. PPLLIIPP Urz±dzenia PLIP nosz± nazwy `plip0', `plip1, itd. Pierwsze konfigurowane urz±dzenie otrzymuje numer `0', a nastêpne otrzymuj± kolejne numery. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> <*> PLIP (parallel port) support _p_l_i_p (Parallel Line IP), jest podobny do SLIP, to znaczy zapewnia po³±czenie _p_u_n_k_t_-_d_o_-_p_u_n_k_t_u (point-to-point) miêdzy dwoma komputerami, lecz wykorzystuje w tym celu porty równoleg³e komputera (zamiast portów szeregowych, jak to ma miejsce w przypadku protoko³u SLIP). Poniewa¿ port równoleg³y umo¿liwia w jednej chwili transmisjê wiêcej ni¿ jednego bitu, wykorzystuj±c interfejs _p_l_i_p mo¿emy osi±gn±æ znacznie wiêksze prêdko¶æi transmisji, ni¿ ma to miejsce w przypadku portu szeregowego. Co wiêcej, do plip mo¿e byæ wykorzystany nawet najprostszy rodzaj portu szeregowego, port drukarkowy, gdy do pe³nego wykorzystania portów szeregowych konieczne jest zakupienie dosyæ drogich uk³adów UART 15550AFN. Nale¿y zwróciæ uwagê, ¿e niektóre laptopy u¿ywaj± uk³adów, które nie bêd± poprawnie wspó³pracowaæ z PLIP, poniewa¿ nie zezwalaj± na przesy³anie pewnego rodzaju sygna³ów, na których polega PLIP, a z których nie korzystaj± drukarki. Interfejs _p_l_i_p pod Linuksem jest zgodny z _C_r_y_n_w_y_r _P_a_c_k_e_t _D_r_i_v_e_r _P_L_I_P, a to oznacza, ¿e mo¿esz przy³±czyæ do swojego Linuksa, komputer pracuj±cy pod MSDOS, na którym dzia³a oprogramowanie TCP/IP korzystaj±ce ze standardu 'packet drivera', korzystaj±e z sterownika plip. Podczas kompilacji j±dra jedyny plik, któremu warto siê bli¿ej przyjrzeæ to /usr/src/linux/driver/net/CONFIG. Zawiera parametry czasowe sterownika _p_l_i_p podane w milisekundach. Warto¶ci domy¶lne s± prawdopodobnie poprawne w wiêkszo¶ci przypadków. Je¶li twój komputer jest wyj±tkowo wolny, mo¿esz siê zastanowiæ nad zwiêkszeniem tych paramterów, ale na komputerze po drugiej stronie po³±czenia. Sterownik przyjmuje nastêpuj±ce warto¶ci domy¶lne parametrów: urz±dzenie adres IRQ we/wy ------ -------- ----- plip0 0x3BC 5 plip1 0x378 7 plip2 0x278 2 (9) Je¶li parametry portów równoleg³ych twojego komputera nie pasuj± do ¿adnej z przedstawionych powy¿ej kombinacji, jeste¶ w stanie zmieniæ przerwanie IRQ wykorzystywane przez port (za pomoc± programu _i_f_c_o_n_f_i_g). Pamiêtaj aby w³±czyæ w BIOSie korzystanie przez porty równoleg³e z przerwañ IRQ, oczywi¶cie o ile BIOS posiada tak± opcjê. W celu skonfigurowania interfejsu _p_l_i_p musisz do plików rc konfiguruj±cych sieæ _d_o_d_a_æ nastêpuj±ce polecenia: # # Przy³±cz interfejs PLIP # # skonfiguruj pierwszy port równoleg³y jako urz±dzenie plip /sbin/ifconfig plip0 IPA.IPA.IPA.IPA pointopoint IPR.IPR.IPR.IPR up # # End plip Gdzie: IIPPAA..IIPPAA..IIPPAA..IIPPAA oznacza twój adres IP. IIPPRR..IIPPRR..IIPPRR..IIPPRR oznacza adres IP komputera zdalnego. Parametr _p_o_i_n_t_o_p_o_i_n_t ma tutaj takie samo znaczenie, co w przypadku protoko³u SLIP, a mianowicie okre¶la adres IP komputera po drugiej stronie po³±czenia. Urz±dzenie _p_l_i_p niemal pod ka¿dym wzglêdem mo¿esz traktowaæ tak samo jak urz±denie _s_l_i_p, poza tym, ¿e ani _d_i_p ani _s_l_a_t_t_a_c_h nie musz± i nie mog± byæ wykorzystywane. 66..2211..11.. SScchheemmaatt kkaabbllaa ddoo ppoo³³±±cczzeenniiaa PPLLIIPP.. _p_l_i_p zosta³ opracowany w taki sposób, aby wykorzystywa³ kable o takim samym uk³adzie, co kable, z których korzystaj± inne popularne programy do transferu danych przez port równoleg³y pracuj±ce w ¶rodowisku MSDOS. Schemat po³±czeñ (wziêty z /usr/src/linux/drivers/net/plip.c) znajduje siê poni¿ej: Nazwa Po³±czenie --------- ----------------- GROUND 25 - 25 D0->ERROR 2 - 15 ERROR->D0 15 - 2 D1->SLCT 3 - 13 SLCT->D1 13 - 3 D2->PAPOUT 4 - 12 PAPOUT->D2 12 - 4 D3->ACK 5 - 10 ACK->D3 10 - 5 D4->BUSY 6 - 11 BUSY->D4 11 - 6 D5 7* D6 8* D7 9* STROBE 1* FEED 14* INIT 16* SLCTIN 17* Uwagi: Nie nale¿y ³±czyæ koñcówek oznaczonych `*'. Dodatkowe uziemienia to 18,19,20,21,22,23 i 24. Je¶li kabel z którego korzystasz jest ekranowany, ekran powinien byæ pod³±czony do obudowy wtyczki DB-25 ttyyllkkoo nnaa jjeeddnnyymm kkooññccuu. OOssttrrzzee¿¿eenniiee:: kkaabbeell zzee ¼¼llee wwyykkoonnaannyymmii ppoo³³±±cczzeenniiaammii mmoo¿¿ee ffiizzyycczznniiee zznniisszzcczzyyææ kkaarrttêê kkoonnttrroolloorraa ttwwoojjeeggoo kkoommppuutteerraa.. B±d¼ bardzo ostro¿ny i dwukrotnie sprawdzaj ka¿de po³±czenie, aby nie naraziæ siê na niepotrzebny ból g³owy lub atak serca. Choæ mo¿e siê udaæ, ¿e po³±czenie PLIP bêdzie pracowaæ na du¿e odleg³o¶ci, nale¿y jednak tego unikaæ. Specyfikacja kabla pozwala na wykonania kabla o d³ugo¶ci ok 1m. B±d¼ ostro¿ny u¿ywaj±c d³u¿szych kabli, poniewa¿ ¼ród³a silnych pó³ elekromagnetycznych (pioruny, linie wysokiego napiêcia, nadajniki radiowe) mog± zak³óciæ pracê a czasami doprowadziæ do uszkodzenia sterownika. Je¶li zale¿y ci na po³±czeniu dwóch komputerów na naprawdê du¿± odleg³o¶æ, powiniene¶ zopatrzyæ siê w parê tanich kart ethernetowych pracuj±cych na cienkim kablu koncentrycznym. 66..2222.. PPPPPP Urz±dzenia PPP nosz± nazwy `ppp0', `ppp1, itd. Urz±dzenia otrzymuj± kolejne numery poczynaj±c od `0'. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> <*> PPP (point-to-point) support Szczegó³owy opis konfiguracji PPP mo¿na znale¼æ w PPP-HOWTO <PPP- HOWTO.html>. 66..2222..11.. UUttrrzzyymmyywwaanniiee zzaa ppoommoocc±± pppppp ssttaa³³eeggoo ppoo³³±±cczzeenniiaa zz IInntteerrnneetteemm.. Je¶li masz na tyle szczê¶cia, aby posiadaæ pó³sta³e po³±czenie z sieci± i chcia³by¶, aby twój komputer automatycznie zestawia³ po³±czenie PPP, gdy z jakiego¶ powodu zostanie przerwane, pomo¿e ci w tym prosta sztuczka. Skonfiguruj PPP w taki sposób, aby by³o uruchamiane przez administratora systemu za pomoc± polecenia: # pppd UUppeewwnniijj ssiiêê, ¿e w pliku /etc/ppp/options znajduje siê opcja `-detach'. Nastêpnie dodaj do pliku /etc/inittab, poni¿ej definicji _g_e_t_t_y nastêpuj±cy wiersz: pd:23:respawn:/usr/sbin/pppd W ten sposób program _i_n_i_t bêdzie uruchamia³ i monitorowa³ program _p_p_p_d i za ka¿dym razem, gdy pppd skoñczy pracê, bêdzie uruchamia³ go ponownie. 66..2233.. RRoossee pprroottooccooll (( AAFF__RROOSSEE )) Urz±dzenia protoko³u Rose nosz± nazwy `rs0', `rs1', itd. Dostêpne s± w j±drach w wersji 2.1.*. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Networking options ---> [*] Amateur Radio AX.25 Level 2 <*> Amateur Radio X.25 PLP (Rose) Protoko³y AX25, NetRom i Rose s± dok³adnie omówione w AX25-HOWTO <AX25-HOWTO.html>. S± wykorzystywane przez krótkofalowców (packet radio). Wiêkszo¶æ pracy zwi±zanej z implementacj± tych protoko³ów pod Linuksem wykona³ Jonathon Naylor, jsn@cs.not.ac.uk. 66..2244.. SSAAMMBBAA -- ``NNeettBBEEUUII'',, ``NNeettBBiiooss'' ssuuppppoorrtt.. SAMBA jest implemnetacj± protoko³u SMB (Session Management Block). Pozwala na korzystanie z dysków i drukarek komputera pracuj±cego pod Linuksem, komputerom pracuj±cym pod systemami firmy Microsoft lub pod systemem OS2 SAMBA i jej konfigiracja jest szczegó³owo omówiona w SMB-HOWTO <SMB- HOWTO.html>. 66..2255.. KKlliieenntt pprroottookkoo³³uu SSLLIIPP Urz±dzenia protoko³u SLIP s± nazywane `sl0', `sl1' itd. Pierwsze skonfigurowane urz±dzenie otrzymuje numer `0', pozosta³e otrzymuj± kolejne numery, w momencie ich konfiguracji. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Network device support ---> [*] Network device support <*> SLIP (serial line) support [ ] CSLIP compressed headers [ ] Keepalive and linefill [ ] Six bit SLIP encapsulation Protokó³ SLIP (Serial Line Internet Protocol) pozwala na zestawienie po³±czenia TCP/IP przez liniê szeregow±, np. po³±czenie modemowe przez liniê telefoniczn± lub dzier¿awion±. Oczywi¶cie aby móc korzystaæ z protoko³u SLIP nale¿y mieæ wpierw dostêp do _s_e_r_w_e_r_a _S_L_I_P. Wiele uniwersytetów i firm komercyjnych udostêpniaj± us³ugê SLIP. SLIP wykorzystuje porty szeregowe komputera do przesy³ania datagramów IP. W tym celu musi przej±æ sterowanie portu szeregowego. Urz±dzenia SLIP nosz± nazwy _s_l_0, _s_l_1 itd. Jak to siê ma do urz±dzeñ portów szeregowych? Oprogramowanie sieciowe korzysta z funkcji _i_o_c_t_l (i/o control) za pomoc± których mo¿e za¿±daæ zamiany urz±dzenia portu szeregowego w urz±dzenie SLIP. Dwa popularne programy potrafi± to zrobiæ. Jeden z nich to _d_i_p, drugi _s_l_a_t_t_a_c_h. 66..2255..11.. ddiipp _d_i_p (Dialup IP) to zmy¶lny program umo¿liwiaj±cy ustawienie prêdko¶ci portów szeregowych, sterowanie modemem w celu wybrania odpowiedniego numeru, zautomatyzowane wej¶cie do zdalnego systemu, przesukiwanie i wybieranie informacji przesy³anych przez zdalny serwer (np. przydzielonego nam na czas sesji adresu IP), korzystanie z funkcji _i_o_c_t_l w celu przestawienia portu szeregowego w urz±dzenie SLIP. Program _d_i_p posiada rozbudowany jêzyk przeznaczony do pisania skryptów, dziêki czemu mo¿na bardzo ³atwo zautomatyzowaæ procedurê zestawiania po³±czenia SLIP. Jest dostêpny pod adresem: sunsite.unc.edu <ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/dip/dip337o- uri.tgz>. Aby go zainstalowaæ spróbuj wydaæ nastêpuj±ce polecenia: # # cd /usr/src # gzip -dc dip337o-uri.tgz | tar xvf - # cd dip-3.3.7o <je¶li to konieczne popraw plik Makefile> # make install # Plik Makefile zak³ada istnienie w twoim systemie grupy o nazwie _u_u_c_p, lecz mo¿esz to zmieniæ np na _d_i_p, lub _s_l_i_p zale¿nie od twojej konfiguracji. 66..2255..22.. ssllaattttaacchh _s_l_a_t_t_a_c_h w przeciwieñstwie do _d_i_p jest bardzo prostym programem, bardzo ³atwym w u¿ytkowaniu, nie posiadaj±cym bogatych opcji programu _d_i_p. Nie posiada mo¿liwo¶ci tworzenia skryptów, jedyne co robi to konfiguracja urz±dzenia portu szeregowego, jako urz±dzenia SLIP. Zak³ada, ¿e posiadasz wszystkie informacje niezbêdne do zestawienia po³±czenia oraz, ¿e po³±czenie fizyczne miêdzy portami jest ju¿ zestawione. _s_l_a_t_t_c_h jest idealne do wykorzystania w sta³ych po³±czeniach z serwerem, np. przez kabel ³±cz±cy bezpo¶rednio dwa porty szeregowe lub przez linie dzier¿awion±. 66..2255..33.. KKiieeddyy uu¿¿yywwaaææ kkaa¿¿ddeeggoo zz ttyycchh pprrooggrraammóóww ?? Skorzysta³bym z programu _d_i_p zawsze wtedy, gdy ³±czy³byn komputer z serwerem SLIP przez modem i liniê telefoniczn±. Skorzysta³bym z programu _s_l_a_t_t_a_c_h wtedy, gdy zestawia³bym po³±czenie przez liniê dzier¿awion± lub kabel bezpo¶rednio miêdzy serwerem i moim komputerem i gdy nie muszê wykonywaæ ¿adnych czynno¶ci do fizycznego zestawienia po³±czenia miêdzy moim komputerem a serwerem. Patrz rozdzia³ 'Sta³e po³±czenie SLIP'. Konfiguracja urz±dzenia SLIP jest zbli¿ona do konfiguracji urz±dzenia karty ethernetowej. (przeczytaj rozdzia³ 'Konfiguracja karty ethernetowej). Jednak¿e istniej± dwie zasadnicze ró¿nice: Po pierwsze SLIP w przeciwieñstwie do sieci ethernetowych ³±czy bezpo¶rednio ze sob± tylko dwa komputery, po jednym na ka¿dym koñcu po³±czenia. O ile pod³±czenie kabla sieci ethernet do komputera oznacza jej natychmiastow± gotowo¶æ do pracy, o tyle w przypadku protoko³u SLIP mo¿e byæ wymagana wcze¶niejsza inicjacja fizycznego po³±czenia miêdzy komputerami. Je¶li korzystasz z programu _d_i_p, to zwykle inicjacja ³±cza odbywa siê nie tu¿ po uruchomieniu systemu, lecz pó¼niej, gdy jeste¶ gotowy do korzystania z po³±czenia. Mo¿na ca³± tê procedurê zautomatyzowaæ. Je¶li korzystasz z programu slattch wtedy prawdopodobnie zechcesz zmodyfikowaæ plik startowy rc.inet1. Jak to zrobiæ powiemy za chwilê. Istniej± dwa podstawowe serwery udostêpniaj±ce SLIP. Ró¿ni± siê sposobem przydzia³u adresu IP, mog± to robiæ statycznie (za ka¿dym razem otrzymujesz ten sam adres IP) i dynamicznie (po nawi±zaniu po³±czenia serwer podaje, jakiego adresu powiniene¶ u¿ywaæ). Niemal ka¿dy serwer SLIP bedzie wymaga³ przedstawienia siê i podania has³a. _d_i_p potrafi zautomatyzowaæ wszystkie te procedury. 66..2255..44.. SSttaattyycczznnyy sseerrwweerr SSLLIIPP zz lliinnii±± mmooddeemmooww±± ii pprrooggrraammeemm DDIIPP.. Statyczny serwer SLIP to skrót oznaczaj±cy serwer SLIP przydzielaj±cy adresy IP w sposób statyczny. Otrzymany adres IP jest wy³±cznie twój. Za ka¿dym razem, gdy przy³±czysz siê do serwera bêdziesz konfigurowa³ port SLIP swojego komputera tym samym adresem IP. Serwer odpowie na po³±czenie rozpoczête przez twój modem, prawdopodobnie poprosi o podanie identyfikatora i has³a, a nastêpnie po przej¶ciu w tryb SLIP bêdzie przesy³a³ wszystkie datagramy adresowane na twój adres IP przez nazwi±zane przez ciebie po³±czenie. Je¶li korzystasz ze statycznego serwera SLIP, mo¿esz chcieæ dodaæ do pliku /etc/hosts pozycjê z nazw± i adresem IP twojego komputera. Powiniene¶ równie¿ skonfigurowaæ kilka innych plików, miêdzy innymi rc.inet2, host.conf, resolv.conf, /etc/HOSTNAME i rc.local. Pamiêtaj, ¿e modyfikuj±c rc.inet1 nie musisz podawaæ ¿adnych poleceñ specyficznych dla po³±czenia SLIP, poniewa¿ to dopiero _d_i_p wykona ca³± ciê¿k± robotê konfiguruj±c interfejs SLIP, po tym jak nawi±¿e po³±czenie modemowe i zaloguje siê na serwer. Je¶li tak w³a¶nie pracuje serwer SLIP z którego korzystasz mo¿esz przej¶æ do rozdzia³u 'Korzystanie z programu dip', tam dowiesz siê jak poprawnie skonfigurowaæ ten program. 66..2255..55.. DDyynnaammiicczznnyy sseerrwweerr SSLLIIPP zz lliinnii±± mmooddeemmooww±± ii pprrooggrraammeemm DDIIPP.. _D_y_n_a_m_i_c_z_n_y serwer SLIP to skrót oznaczaj±cy serwer SLIP, który z pewnej puli przydziela adresy IP w sposób dynamiczny (za ka¿dym razem, gdy siê z nim po³±czysz mo¿esz otrzymaæ inny adres IP). To znaczy, ¿e nie masz gwarancji, ¿e ³±cz±c siê otrzymasz konkretny adres IP, mo¿e on byæ wykorzystywany przez kogo¶ innego, wtedy gdy nie korzystasz z po³±czenia. Administrator sieci, który skonfigurowa³ serwer przydzieli³ mu pewn± pulê adresów IP z której mo¿e korzystaæ. Obs³uguj±c kolejne przychodz±ce po³±czenie znajduje pierwszy niewykorzystany w danym momencie adres IP, przeprowadza u¿ytkownika przez procedurê weryfikacyjn± wy¶wietlaj±c na koniec informacje zawieraj±c± adres IP, który zosta³ przydzielony temu u¿ytkownikowi na czas trwania nawi±zanego w³a¶nie po³±czenia. Konfiguracja do korzystania z tego rodzaju serwera jest podobna do tej dla serwera statycznego. Trzeba jedynie dodaæ fragment pobrania adresu IP przydzielonego nam przez serwer na czas trwania po³±czenia, a nastêpnie kontynuowaæ konfigurowanie SLIPa z tym w³a¶nie adresem. Ponownie, _d_i_p wykonuje tê ciê¿k± pracê, a jego nowsze wersje s± na tyle sprytne, ¿e potrafi± nie tylko zalogowaæ ciê do systemu, ale równie¿ potrafi± odczytaæ automatycznie adres IP wy¶wietlany przez serwer, zachowuj±c go do pó¼niejszego wykorzystania przy konfigurowaniu interfejsu SLIP. Je¶li tak w³a¶nie pracuje serwer SLIP z którego korzystasz mo¿esz przej¶æ do rozdzia³u 'Korzystanie z programu dip', tam dowiesz siê jak poprawnie skonfigurowaæ ten program. 66..2255..66.. KKoorrzzyyssttaanniiee zz pprrooggrraammuu ddiipp.. Jak wyja¶nili¶my wcze¶niej _d_i_p jest potê¿nym programem, który potrafi upro¶ciæ i zautomatyzowaæ proces ³±czenia siê z serwerem SLIP, logowania siê na ten serwer, uruchamiania tam odpowiedniego oprogramowania i konfigurowania lokalnych urz±dzeñ SLIP za pomoc± odpowiednich poleceñ korzystaj±cych z programów _i_f_c_o_n_f_i_g i _r_o_u_t_e. Podstawowym sposobem korzystania z programu _d_i_p jest pisanie i uruchamianie specjalnych skryptów, sk³adaj±cych siê z listy poleceñ rozumianych przez program _d_i_p. Przyjrzyj siê plikowi sample.dip znajduj±cemu siê w dystrybucji programu _d_i_p. Dip jest potê¿nym programem posiadaj±cym wiele opcji, nie bedziemy ich tu wszystkich przedstawiaæ, je¶li ciê to interesuje, przyjrzyj siê stronom podrêcznika po¶wiêconym programowi dip, plikom README i innym plikom przyk³adowym znajduj±cym siê w pakiecie dystrybucyjnym programu. Prawdopodobnie zauwa¿y³e¶, ¿e plik sample.dip zak³ada, ¿e korzystasz ze statycznego serwera SLIP, tzn. ¿e wiesz jaki jest twój adres IP, zanim po³±czysz siê z serwerem. W przypadku korzystania z dynamicznego serwera SLIP nowsze wersje programu dip zosta³y zaopatrzone w dodatkowe polecenie, które potrafi automatycznie odczytaæ i skonfigurowæ lokalne urz±dzenie SLIP z adresem IP przydzielonym przez serwer. Poni¿sza próbka jest zmodyfikowanym plikiem sample.dip dostarczanym w pakiecie _d_i_p_3_3_7_j_-_u_r_i_._t_g_z i w twoim przypadku prawdopodobnie jest dobrym punktem startowym. Mo¿esz go zachowaæ jako np. /etc/dipscript i dostosowaæ go do swoich warunków. # # sample.dip Dialup IP connection support program. # # This file (should show) shows how to use the DIP # This file should work for Annex type dynamic servers, if you # use a static address server then use the sample.dip file that # comes as part of the dip337-uri.tgz package. # # # Version: @(#)sample.dip 1.40 07/20/93 # # Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> # main: # Next, set up the other side's name and address. # My dialin machine is called 'xs4all.hacktic.nl' (== 193.78.33.42) get $remote xs4all.hacktic.nl # Set netmask on sl0 to 255.255.255.0 netmask 255.255.255.0 # Set the desired serial port and speed. port cua02 speed 38400 # Reset the modem and terminal line. # This seems to cause trouble for some people! reset # Note! "Standard" pre-defined "errlevel" values: # 0 - OK # 1 - CONNECT # 2 - ERROR # # You can change those grep'ping for "addchat()" in *.c... # Prepare for dialing. send ATQ0V1E1X4\r wait OK 2 if $errlvl != 0 goto modem_trouble dial 555-1234567 if $errlvl != 1 goto modem_trouble # We are connected. Login to the system. login: sleep 2 wait ogin: 20 if $errlvl != 0 goto login_trouble send MYLOGIN\n wait ord: 20 if $errlvl != 0 goto password_error send MYPASSWD\n loggedin: # We are now logged in. wait SOMEPROMPT 30 if $errlvl != 0 goto prompt_error # Command the server into SLIP mode send SLIP\n wait SLIP 30 if $errlvl != 0 goto prompt_error # Get and Set your IP address from the server. # Here we assume that after commanding the SLIP server into SLIP # mode that it prints your IP address get $locip remote 30 if $errlvl != 0 goto prompt_error # Set up the SLIP operating parameters. get $mtu 296 # Ensure "route add -net default xs4all.hacktic.nl" will be done default # Say hello and fire up! done: print CONNECTED $locip ---> $rmtip mode CSLIP goto exit prompt_error: print TIME-OUT waiting for sliplogin to fire up... goto error login_trouble: print Trouble waiting for the Login: prompt... goto error password:error: print Trouble waiting for the Password: prompt... goto error modem_trouble: print Trouble occurred with the modem... error: print CONNECT FAILED to $remote quit exit: exit Powy¿szy przyk³ad zak³ada, ¿e ³±czysz siê z _d_y_n_a_m_i_c_z_n_y_m serwerem SLIP. Je¶li ³±czysz siê z serwerem _s_t_a_t_y_c_z_n_y_m powiniene¶ skorzystaæ z pliku sample.dip dostarczanego razem z _d_i_p_3_3_7_j_-_u_r_i_._t_g_z. Gdy _d_i_p otrzyma polecenie _g_e_t _$_l_o_c_a_l przeszukuje tekst przesy³any przez serwer SLIP w poszukiwaniu ci±gu znaków wygl±daj±cego jako adres IP, tzn. ci±gi cyfr rozdzielone kropk± '.'. Zosta³a ona wprowadzone dla osób korzystaj±cych z _d_y_n_a_m_i_c_z_n_y_c_h serwerów SLIP, aby dip móg³ sam, automatycznie odczytaæ adres IP przydzielony przez serwer. W powy¿szym przyk³adzie po zestawieniu po³±czenia SLIP zostanie automatycznie dodana domy¶lna trasa skierowana w³a¶nie przez to po³±czenie. Je¶li nie tego oczekujesz, mo¿esz np. posiadaæ inne po³±czenie przez sieæ ethernetow±, przez które ma byæ skierowana domy¶lna trasa, usuñ z powy¿szego pliku wiersz z poleceniem _d_e_f_a_u_l_t. Je¶li po zakoñczeniu dzia³ania tego skryptu wydasz polecenie _i_f_c_o_n_f_i_g zobaczysz, ¿e pojawi³o siê nowe urz±dzenie _s_l_0. To jest w³a¶nie urz±dzenie SLIP. W miarê potrzeb mo¿esz zmieniæ konfiguracjê sieci rêcznie, po zakoñczeniu dzia³ania programu _d_i_p, za pomoc± pogramów _i_f_c_o_n_f_i_g i _r_o_u_t_e. Nale¿y pamietaæ, ¿e _d_i_p pozwala na wybranie jednego z wielu ró¿nych protoko³ów wykorzystywanych w poleceniu mode. Najczê¶ciej jest to _c_S_L_I_P oznaczaj±cy SLIP z kompresj± nag³ówków. Pamiêtaj, ¿e oba koñce po³±czenia musz± pracowaæ w identycznym trybie. Je¶li zmienisz jakie¶ ustawienia, musisz siê upewniæ, ¿e serwer sobie z nimi poradzi. Powy¿szy przyk³ad jest uniwersalny i powinien poradziæ sobie z wiêkszo¶ci± b³êdów jakie mog± wyst±piæ. Wiêcej informacji znajdziesz na stronie podrêcznika po¶wiêconej programowi _d_i_p (man dip). Oczywi¶cie mo¿esz w taki sposób zmodyfikowaæ ten skrypt, aby w przypadku wystapienia b³êdu próbowa³ powtórnie nawi±zaæ po³±czenie telefoniczne, lub próbowa³ po³±czyæ siê z innymi serwerami, które udostêpniaj± ci wejscie do Internetu. 66..2255..77.. ssllaattttaacchh.. SSttaa³³ee ppoo³³±±cczzeenniiee SSLLIIPP pprrzzeezz lliinniiêê ddzziieerr¿¿aawwiioonn±± -- Je¶li jeste¶ posiadaczem kabla ³±cz±cego dwa komputery, lub szczê¶liwcem posiadaj±cym linie dzier¿awion± lub inne sta³e po³±czenie szeregowe dwóch komputerów, wtedy nie musisz siê k³opotaæ zestawiaj±c ³±cze szeregowe za pomoc± programu _d_i_p. _s_l_a_t_t_a_c_h jest bardzo ³atwym w uzywaniu narzêdziem umo¿liwiaj±cym skonfigurowaæ zestawiane po³aczenie. Poniewa¿ bêdzie to po³±czenie sta³e, prawdopodobnie zechcesz dodaæ kilka poleceñ do pliku rc.inet1. Podsumowuj±c, wszystko co potrzebujesz w przypadku zestawiania po³±czenia przez liniê sta³±, jest poprawne ustawienie prêdko¶ci portów szeregowych i prze³±czenie ich w tryb SLIP. _s_l_a_t_t_a_c_h pozwala wykonaæ to wszystko wydaj±c jedno polecenie. Dodaj do pliku rc.inet1 nastêpuj±ce polecenie: # # Zestaw po³±czenie SLIP ze statycznym adresem IP # # configure /dev/cua0 for 19.2kbps and cslip /sbin/slattach -p cslip -s 19200 /dev/cua0 & /sbin/ifconfig sl0 IPA.IPA.IPA.IPA pointopoint IPR.IPR.IPR.IPR up # # Koniec Gdzie: IIPPAA..IIPPAA..IIPPAA..IIPPAA twój adres IP IIPPRR..IIPPRR..IIPPRR..IIPPRR adres IP po drugim koñcu po³±czenia SLIP _s_l_a_t_t_a_c_h przyporz±dkowuje do urz±dzenia portu szeregowego pierwsze wolne urz±dzenie slip. Rozpoczyna od _s_l_0. To znaczy pierwsze wywo³anie polecenia slattach przyporz±dkowuje portowi szeregowemu urz±dzenie _s_l_0, przy nastêpnym wywo³aniu bêdzie to _s_l_1 itd. _s_l_a_t_t_a_c_h umo¿liwia skonfigurowanie wielu ró¿nych protoko³ów (argument opcji -p). W twoim przypadku w zale¿no¶ci od tego czy bêdziesz chcia³ korzystaæ z kompresji nag³ówków czy nie bêdziesz korzysta³ albo z protoko³u _c_S_L_I_P albo _S_L_I_P. Uwaga: oba koñce po³±czenia musz± u¿ywaæ tego samego protoko³u. 66..2266.. SSeerrwweerr SSLLIIPP.. Je¶li posiadasz komputer, byæ mo¿e przy³±czony do sieci, i chcesz, aby udostêpnia³ innym przez modem serwisy internetowe, to musisz skonfigurowaæ go jako serwer. Je¶li protoko³em, który chcesz u¿ywaæ jest SLIP, to istniej± trzy mo¿liwo¶ci konfiguracji twojego komputera jako serwer. Osobi¶cie preferujê pierwsz± z prezentowanych, _s_l_i_p_l_o_g_i_n. Wydaje siê byæ najprostsz± i naj³atwiejsz± do skonfigurowania i zrozumienia. Przedstawiê opis wszystkich trzech metod, aby¶ móg³ samemu podj±æ decyzjê. 66..2266..11.. SSeerrwweerr kkoorrzzyyssttaajj±±ccyy zz pprrooggrraammuu sslliippllooggiinn .. _s_l_i_p_l_o_g_i_n to program zastêpuj±cy zwyk³± pow³okê (interpreter poleceñ) u¿ytkownika, dla tych, którzy chc± korzystaæ z linii szeregowej w trybie SLIP. Pozwala na skonfigurowanie twojego komputera zarówno jako _s_t_a_t_y_c_z_n_e_g_o _s_e_r_w_e_r_a _S_L_I_P (u¿ytkownicy za ka¿dym razem otrzymuj± ten sam adres IP), lub _d_y_n_a_m_i_c_z_n_e_g_o _s_e_r_w_e_r_a _S_L_I_P (adres IP jest przydzielony raczej do linii szeregowej, a nie u¿ytkownika, wiêc u¿ytkownik nie ma pewno¶ci, ¿e za ka¿dym razem otrzyma ten sam adres IP). U¿ytkownik musi wpierw przej¶æ przez standardow± procedurê wchodzenia do systemu (logowanie siê) podaj±c swój identyfikator i has³o, lecz po wej¶ciu do systemu, zmiast zwyk³ego interpretera poleceñ uruchamiany jest program _s_l_i_p_l_o_g_i_n, który przeszukuje swój plik konfiguracyjny (/etc/slip.hosts) w poszukiwaniu pozycji odpowiadaj±cej identyfikatorowi u¿ytkownika. Po jej znalezieniu, przestawia liniê w tryb 8mio bitowy, a nastêpnie korzystaj±c z odpowiednich funkcji _i_o_c_t_l prze³±cza liniê w tryb SLIP. Po zakoñczeniu tego etapu nastêpuje ostatnia faza, _s_l_i_p_l_o_g_i_n uruchamia skrypt, którego zadaniem jest skonfigurowanie interfejsu SLIP (ustawienie adresu IP, netmaski) dodanie odpowiedniej trasy do tabeli trasowania (routingu) j±dra. Skrypt ten nosi zwykle nazwê /etc/slip.login lecz podobnie jak w przypadku _g_e_t_t_y, je¶li niektórzy u¿ytkownicy wymagaj± specjalnego traktowania mo¿esz utworzyæ skrypt /etc/slip.login.identyfikator_uzytkownika, który w takim przypadku zostanie uruchomiony w miejsce standardowego skryptu. Aby _s_l_i_p_l_o_g_i_n dzia³a³ poprawnie nale¿y zmodyfikowaæ trzy lub cztery pliki. Omówiê szczegó³owo sk±d i jak zdobyæ odpowiednie oprogramowanie i jak je poprawnie skonfigurowaæ. Wspomniane pliki to: · /etc/passwd, definiujacy u¿ytkownik³ów twojego systemu, · /etc/slip.hosts, zawieraj±cy informacje o ka¿dym u¿ytkowniku korzystaj±cym ze SLIPa, · /etc/slip.login, odpowiedzialny z odpowiedni± konfiguracjê systemu, po zalogowaniu siê u¿ytkownika, · /etc/slip.tty wymagany tylko wtedy, gdy konfigurujesz _d_y_n_a_m_i_c_z_n_y _s_e_r_w_e_r _S_L_I_P, a który zawiera tabelê przydzielanych adresów IP, · /etc/slip.logout zawieraj±cy polecenia jakie nale¿y wykonaæ po zakoñczeniu pracy przez u¿ytkownika, lub po zerwaniu po³±czenia. 66..2266..11..11.. SSkk±±dd wwzzii±±ææ sslliippllooggiinn Byæ mo¿e pakiet _s_l_i_p_l_o_g_i_n jest ju¿ zainstalowany na twoim komputerze, jako czê¶æ dystrybucji, je¶li nie, _s_l_i_p_l_o_g_i_n jest dostêpny pod adresem sunsite.unc.edu <ftp://sunsite.unc.edu/pub/linux/system/Network/serial/sliplogin-2.1.1.tar.gz>. Plik tar zawiera pliki ¼ród³owe, skompilowane pliki binarne i dokumentacjê. Aby zapewniæ, ¿e _s_l_i_p_l_o_g_i_n mo¿e byæ uruchamiany przez upowa¿nionych do tego u¿ytkowników, powiniene¶ do pliku /etc/group dodaæ pozycjê podobn± do poni¿szej: .. slip::13:radio,fred .. Podczas instalacji pakietu _s_l_i_p_l_o_g_i_n, Makefile zmieni grupê do której nale¿y program _s_l_i_p_l_o_g_i_n na slip. W ten sposób, prócz w³a¶ciciela bêd± go mogli uruchamiaæ tylko u¿ytkownicy nale¿±cy do grupy SLIP. W powy¿szym przyk³adzie mog± to robiæ tylko u¿ytkownicy radio i fred. Aby zainstalowaæ pliki binarne do katalogu /sbin/, a strony podrêcznika do /man/ nale¿y wykonoaæ nastêpuj±ce polecenia: # cd /usr/src # gzip -dc .../sliplogin-2.1.1.tar.gz | tar xvf - # cd sliplogin-2.1.1 # <..Je¶li nie korzystasz z shadow pasword popraw Makefile..> # make install Je¶li przed instalacj± chcesz samemu skompilowaæ pliki binarne przed make install wykonaj polecenie make clean. Je¶li chcesz zainstalowaæ pliki binarne w innym miejscu, musisz wcze¶niej zmieniæ plik Makefile. Wiêcej informacji znajdziesz w plikach README wewn±trz pakietu. 66..2266..11..22.. KKoonnffiigguurraaccjjaa pplliikkuu //eettcc//ppaasssswwdd .. Zwykle dla osób korzystaj±cych ze SLIPa tworzy siê oddzielne konta. Powszechnie przyjêta konwencja mówi, ¿e jako pseudonim u¿ytkownika nale¿y przyj±æ nazwê ³±cz±cego siê z nami komputera, poprzedzon± wielk± liter± 'S'. Je¶li ³±cz±cy siê z nami komputer nosi nazwê radio, mog³by¶ utworzyæ dla niego pozycjê w pliku /etc/passwd wygl±dajac± mniej wiêcej tak: Sradio:FvKurok73:1427:1:radio SLIP login:/tmp:/sbin/sliplogin Tak na prawdê nie ma znaczenia jaki jest identyfikator konta. Uwaga: u¿ytkownik SLIPa nie potrzebuje w³asnego katalogu macierzystego, poniewa¿ nie bêdzie korzysta³ z pow³oki interpretera poleceñ na naszym komputerze. Dlatego dobrym wyborem w takim przypadku jest katalog /tmp. Pamiêtaj, ¿e zamiast zwyk³ej pow³oki uruchamiany jest program _s_l_i_p_l_o_g_i_n. 66..2266..11..33.. KKoonnffiigguurraaccjjaa pplliikkuu //eettcc//sslliipp..hhoossttss Plik /etc/slip.hosts jest przeszukiwany przez _s_l_i_p_l_o_g_i_n w poszukiwaniu szczegó³ów konfiguracyjnych dla u¿ytkownika, przez którego zosta³ uruchomiony. W tym w³a¶nie pliku podaje siê adres IP i netmaskê które bêd± przydzielone temu u¿ytkownikowi i wykorzystywane do konfiguracji. Przyk³adowe dwie pozycje, jedn± dla statycznej konfiguracji dla komputera radio i drug±, dynamiczna konfiguracja dla komputera albert mog³y by wygl±daæ nastêpuj±co: # Sradio 44.136.8.99 44.136.8.100 255.255.255.0 normal -1 Salbert 44.136.8.99 DYNAMIC 255.255.255.0 compressed 60 # Poszczególne pola w wierszu pliku /etc/slip.hosts oznaczaj±: 1. identyfikator u¿ytkownika; 2. adres IP serwera, tzn adres IP tego komputera; 3. adres IP przydzielony komputerowi po drugiej stronie po³±czenia. Je¶li w tym polu wystêpuje s³owo DYNAMIC wtedy adres IP, zostanie przydzielony na podstawie informacji zawartych w pliku /etc/slip.tty. UUwwaaggaa:: to udogodnienie pojawi³o siê dopiero w wersji 1.3 programu sliplogin. 4. netmaska przydzielona ³±cz±cemu siê komputerowi, w notacji dziesiêtnej z kropkami np. 255.255.255.0 netmaska klasy C; 5. tryb pracy SLIP pozwalaj±cy na w³±czenie/wy³±czenie kompresji lub innych udogodnieñ; 6. parametr czasowy okre¶lajacy jak d³ugo linia mo¿e pozostaæ w stanie oczekiwania na przes³anie informacji (brak otrzymanych datagramów), zanim nast±pi automatyczne roz³±czenie. Wielko¶æ ujemna wy³±cza to udogodnienie. 7. parametry opcjonalne. Uwaga: W polach 2 i 3 mo¿na podawaæ zarówna nazwy komputerów, jak i adresy IP. Je¶li podasz nazwê komputera, sprawd¼, czy system potrafi znale¼æ jego adres IP, w przeciwnym razie wykonanie skryptu zakoñczy siê niepowodzeniem. Mo¿esz to sprawdziæ próbuj±c po³±czyæ siê z nim za pomoc± programu telnet. Je¶li zobaczysz komunikat `_T_r_y_i_n_g _n_n_n_._n_n_n_._n_n_n_._._.' to znaczy, ¿e twój komputer potrafi znale¼æ adres IP komputera o podanej przez ciebie nazwie. Je¶li zobaczysz komunikat _U_n_k_n_o_w_n _h_o_s_t', to znaczy, ¿e jednak nie potrafi. Je¶li nie potrafi musisz podawaæ adres IP tego komputera lub sprwad¼ konfiguracjê DNS swojego komputera. Najczê¶ciej wykorzysytwane tryby pracy SLIP to: nnoorrmmaall zwyk³y, nieskompresowny SLIP. ccoommpprreesssseedd kompresja nag³ówków van Jacobsena (cSLIP) Oczywi¶cie s± to dwie wzajemnie wykluczaj±ce siê opcje. Wiêcej informacji na temat dostêpnych opcji znajdziesz na stronie podrêcznika po¶wiêconej programowi sliplogin. 66..2266..11..44.. KKoonnffiigguurraaccjjaa pplliikkuu //eettcc//sslliipp..llooggiinn .. Po przeszukaniu przez _s_l_i_p_l_o_g_i_n pliku /etc/slip.hosts i znalezieniu opowiednich pozycji, zostanie uruchomiony skrypt /etc/sli.login, który w rzeczywisto¶ci wykonuje ca³a pracê zwi±zan± z konfiguracja interfejsów sieciowych, korzystaj±c z przekazanych mu informacji o adresie IP i netmasce sieci. Przyk³adowy plik /etc/slip.login dostarczany w pakiecie _s_l_i_p_l_o_g_i_n wygl±da nastêpuj±co: #!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a SLIP line. sliplogin invokes this with # the parameters: # $1 $2 $3 $4, $5, $6 ... # SLIPunit ttyspeed pid the arguments from the slip.host entry # /sbin/ifconfig $1 $5 pointopoint $6 mtu 1500 -trailers up /sbin/route add $6 arp -s $6 <hw_addr> pub exit 0 # Jak widaæ, powy¿szy skrypt po prostu korzysta z programu _i_f_c_o_n_f_i_g i _r_o_u_t_e. Konfiguruje urz±dzenie SLIP zgodnie z podanymi mu adresem IP i netmask±, nastêpnie modyfikuje tabele trasowania w j±drze. Wykonuje te same polecenia, które nale¿y wykonaæ rêcznie korzystaj±c ze _s_l_a_t_t_a_c_h. Zwróæ uwagê na u¿ycie _P_r_o_x_y _A_R_P w celu zapewnienia komunikacji miêdzy komputerami znajduj±cymi siê na tym samym segmencie sieci co nasz serwer, a komputerem ³±cz±cym siê przez liniê szeregow±. Pole <hw_addr> powinno zawieraæ adres sprzêtowy karty ethernetowej serwera. Je¶li serwer nie jest przy³±czony do sieci ethernetowej mo¿esz pomin±æ ten wiersz ca³kowicie. 66..2266..11..55.. KKoonnffiigguurraaccjjaa pplliikkuu //eettcc//sslliipp..llooggoouutt .. Kiedy nastêpuje przerwanie po³±czenie chcesz byæ pewny, ¿e port szeregowy jest przywracany do swego normalnego stanu i jest gotowy do obs³ugi kolejnego po³±czenia. Do tego celu s³u¿y skrypt /etc/slip.logout. Jest bardzo prosty i jest wywo³ywany z tymi samymi argumentami co /etc/slip.login. #!/bin/sh - # # slip.logout # /sbin/ifconfig $1 down arp -d $6 exit 0 # Wykonywane przez niego czynno¶ci to: wy³±czenie interfejsu slip, spowoduje automatyczne usuniêcie z tabeli trasowania wprowadzonej tam podczas zestawiania po³±czenie pozycji; usuniêcie z tabeli arp wprowadzonej tam rêcznie pozycji. Nie potrzebujesz tego polecenia, je¶li twój serwer nie jest przy³±czony do sieci ethernetowej. 66..2266..11..66.. KKoonnffiigguurraaccjjaa pplliikkuu //eettcc//sslliipp..ttttyy .. Je¶li korzystasz z dynamicznego przydzia³u adresów IP (choæ jeden komputer w pliku /etc/slip.hosts jest skonfigurowany z opcj± DYNAMIC) to musisz równie¿ skonfigurowaæ plik /etc/slip.tty informuj±c system jakie adresy IP s± przydzielone do ka¿dego z wykorzystywanych portów szeregowych. Plik ten jest potrzebny tylko wtedy, gdy twój serwer bêdzie przydziela³ adresy IP u¿ytkownikom w sposób dynamiczny. Plik zawiera tabelê, która ka¿demu wykorzystywanemu urz±dzeniu _t_t_y przyporz±dkowuje adres IP jaki ma zostaæ przydzielony komputerowi ³±cz±cemu siê przez to urz±dzenie _t_t_y. Format niniejszego pliku jest nastêpuj±cy: # slip.tty tty -> adres IP # format: /dev/tty?? xxx.xxx.xxx.xxx # /dev/ttyS0 192.168.0.100 /dev/ttyS1 192.168.0.101 # Pozycje w powy¿szym przyk³adzie oznaczaj±, ¿e wszyscy, którzy po³±cz± siê przez port /dev/ttuS0 i jako swoj adres maj± w pliku /etc/slip.hosts s³owo DYNAMIC otrzymaj± adres 192.168.0.100. W ten sposób potrzebujesz jedynie jednego adresu IP na ka¿dy wykorzystywany port dla wszystkich u¿ytkowników, którzy nie potrzebuj± dedykowanego, sta³ego adresu IP. Dziêki temu liczba adresów potrzebna do obs³ugi wielu u¿ytkowników jest bardzo ma³a. 66..2266..22.. SSeerrwweerr SSLLIIPP kkoorrzzyyssttaajj±±ccyy zz pprrooggrraammuu ddiipp .. Czê¶æ z prezentowanej poni¿ej informacji pochodzi ze stron podrêcznika dotycz±cych programu _d_i_p. Jest tam pokrótce opisane jak wykorzystaæ _d_i_p jako serwer SLIP. Proszê równie¿ zwróciæ uwagê, ¿e podane informacje dotycz± wersji _d_i_p_3_3_7_o_-_u_r_i_._t_g_z i prawdopodobnie nie maj± zastosowania do innych wersji programu. _d_i_p posiada tryb pracy, w którym automatycznie wyszukuje pozycjê dotycz±c± u¿ytkownika, który go wywo³a³ i konfiguruje liniê szeregow± jako po³±czenie SLIP wed³ug parametrów jakie znalaz³ w pliku /etc/diphosts. Ten tryb pracy jest w³±czany wtedy, gdy _d_i_p zostanie uruchominy jako program o nazwie _d_i_p_l_o_g_i_n. To jest w³a¶nie sposób wykrzystania _d_i_pa do stworzenia serwera SLIP. Nale¿y utworzyæ specjalne konta, z programem _d_i_p_l_o_g_i_n jako pow³ok± u¿ytkownika. Pierwsze co musisz zrobiæ, to nastêpuj±ce dowi±zanie symboliczne: # ln -sf /usr/sbin/dip /usr/sbin/diplogin Nastêpnie nale¿y dodaæ odpowiednie pozycje do pliku /etc/passwd i /etc/diphosts. Aby skonfigurowaæ Linuksa jako serwer SLIP wykorzystuj±c do tego program _d_i_p wymaga utworzenia specjalnych kont do obs³ugi SLIPa z pow³ok± u¿ytkownika w postaci programu _d_i_p jako _d_i_p_l_o_g_i_n. Sugerowana konwencja nadawania nazw tym kontom zaleca, aby pseudonim u¿ytkownika rozpoczyna³ siê wielk± liter± 'S', np. `Sfredm'. Przyk³adowa pozycja pliku /etc/passwd konta SLIP mo¿e wygl±daæ nastêpuj±co: Sfredm:ij/SMxiTlGVCo:1004:10:Fred:/tmp:/usr/sbin/diplogin ^^ ^^ ^^ ^^ ^^ ^^ ^^ | | | | | | \__ diplogin jako pow³oka u¿ytkownika | | | | | \_______ katalog domowy | | | | \____________ pe³na nazwa u¿ytkownika | | | \_________________ numer grupy (GID) | | \_____________________ numer u¿ytkownika (UID) | \_______________________________ zakodowane haslo \__________________________________________ pseudonim u¿ytkownika Po zalogowaniu siê u¿ytkownika (je¶li zostanie poprawnie zweryfikowany) program login uruchomi polecenie _d_i_p_l_o_g_i_n. _d_i_p wywo³any jako _d_i_p_l_o_g_i_n zak³ada, ¿e zosta³ uruchomiony jako pow³oka u¿ytkownika. Piersze co robi, to korzysta z funkcji _g_e_t_u_i_d_(_) pobieraj±c pseudonim wywo³uj±cego go u¿ytkownika. Nastêpnie przeszukuje /etc/diphosts w poszukiwaniu pierwszej pozycji, która pasuje do zdobytego identyfikatora lub wykorzystywanego urz±dzenia _t_t_y, a nastêpnie odpowiednio siê konfiguruje. Decyduj±c czy u¿ytkownik powinien mieæ w³asn± pozycjê w pliku /etc/diphosts, czy powinien korzystaæ z konfiguracji domy¶lnej, mo¿esz budowaæ serwer, który korzysta zarówno z dynamicznego i statycznego przydzia³u adresów IP. _d_i_p automatycznie doda pozycjê _P_r_o_x_y_-_A_R_P je¶li zostanie wywo³any jako _d_i_p_l_o_g_i_n. Nie musisz siê martwiæ rêcznym dodawaniem tych pozycji. 66..2266..22..11.. KKoonnffiigguurraaccjjaa pplliikkuu //eettcc//ddiipphhoossttss /etc/diphosts jest wykorzystywany przez _d_i_p do wyszukiwania konfiguracji dla ³±cz±cych siê komputerów. Mog± to byæ pozycje dotycz±ce zarówno komputerów ³±cz±cych siê z twoim Linuksem, lecz równie dobrze mog± to byæ pozycje dotycz±ce komputerów, z którymi ³±czy siê twój Linux. Ogólny format pliku /etc/diphosts wygl±da nastêpuj±co: .. Suwalt::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:CSLIP,1006 ttyS1::145.71.34.3:145.71.34.2:255.255.255.0:Dynamic ttyS1:CSLIP,296 .. Poszczególne pola oznaczaj±: 1. pseudonim u¿ytkownika: identyfikator zwracany przez getpwuid(getuid()) lub nazwa terminala 2. niewykorzystane: zgodno¶æ z formatem passwd 3. adres zdalny: nazwa (adres IP) ³acz±cego siê z nami komputera 4. adres lokalny: nazwa (adres IP) naszego serwera 5. netmaska: netmaska w notacji dziesiêtnej 6. komentarz: mo¿esz tu wstawiæ co chcesz 7. protokó³: Slip, CSlip itp. 8. MTU: liczba Przyk³ady pozycji pliku /etc/net/diphosts dla komputerów ³±cz±cych siê z nami: Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:SLIP,296 definuj±cej po³±czenie SLIP miêdzy naszym serwerem, a komputerem, który otrzyma adres 145.71.34.1, parametr MTU po³±czenia bêdzie wynosi³ 296, lub Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:CSLIP,1006 definiuj±cej po³±czenie cSLIP z komputerem, który otrzyma adres 145.71.34.1. parametr MRU po³±czenia wynosi³ 1008. Dlatego wszyscy u¿ytkownicy którym zezwolisz na przydzielany statycznie adres IP powinni byæ wymienieni w pliku /etc/diphosts. Jeli chcesz aby uzytkownicy ³±cz±cy siê na pewien port mieli przydzielane numery w sposób dynamiczny musisz umie¶ciæ wpis dla wspomnianego portu i usun±æ wszystkie wpisy indywidualnych u¿ytkowników. Upewnij siê aby skonfigurowaæ co najmniej jeden wpis dla ka¿dego z urz±dzeñ tty wykorzystywanego przez twoich u¿ytkowników w celu zapewnienia im poprawnej konfiguracji niezale¿nie od modemu z którym siê po³±cz±. Kiedy u¿ytkownik siê loguje, widzi standardow± zachêtê do podania swojego identyfikatora SLIP i has³a. Jeli po wprowadzeniu ¿±danych informacji zostanie zweryfikowany poprawnie, nie zobaczy ¿adnych specjalnych komunikatów. Powinien wtedy prze³±czyæ siê po swojej stronie w tryb SLIP i mieæ poprawne po³±czenie wed³ug konfiguracji zapisanej w pliku diphosts. 66..2266..33.. SSeerrwweerr SSLLIIPP kkoorrzzyyssttaajj±±ccyy zz ppaakkiieettuu ddSSLLIIPP .. Matt Dillon <dillon@apollo.west.oic.com> stworzy³ pakiet, który s³u¿y nie tylko do inicjowania po³±czenia z serwerem, ale równie dobrze mo¿e obs³ugiwaæ po³±czenia przychodz±ce. Jest to kombinacja ma³ych programów i skryptów zarz±dzaj±cych dla ciebie po³±czeniem. Musisz mieæ zainstalowan± pow³okê _t_c_s_h poniewa¿ przynajmniej jeden ze skryptów jej wymaga. Matt dostarcza binarn± kopiê programu _e_x_p_e_c_t, poniewa¿ wykorzystuje go inny ze skryptów. Prawdopodobnie zmuszenie pakietu do pracy bêdzie od ciebie wymaga³o trochê do¶wiadczenia w obchodzeniu siê z programem _e_x_p_e_c_t, lecz niech ciê to nie odstrêcza. Matt napisa³ dobry zestaw instrukcji instalacyjnych zgromadzonych w pliku README. Nie bêdê ich tutaj powtarza³. Pakiet _d_S_L_I_P mo¿esz pobraæ bezpo¶rednio ze ¼ród³a: aappoolllloo..wweesstt..ooiicc..ccoomm /pub/linux/dillon_src/dSLIP203.tgz lub z: ssuunnssiittee..uunncc..eedduu /pub/Linux/system/Network/serial/dSLIP203.tgz Przeczytaj plik README i dodaj odpowiednie pozycje do pliku /etc/passwd i /etc/group zzaanniimm wydasz polecenie make install. 66..2277.. OObbss³³uuggaa pprroottookkoo³³uu SSTTRRIIPP ((SSttaarrmmooddee RRaaddiioo IIPP)) Urz±dzenia STRIP nosz± nazwy `st0', `st1', itd. OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Network device support ---> [*] Network device support .... [*] Radio network interfaces < > STRIP (Metricom starmode radio IP) STRIP to protokó³ zaprojektowany specjalnie dla radiowych modemów Metricom na uniwersystecie w Stanford w ramach projektu badawczego nosz±cego nazwê MosquitoNet Project <http://mosquitonet.Stanford.EDU/mosquitonet.html>. Zajdziesz tam mnóstwo ciekawych informacji, nawet je¶li nie jeste¶ bezpo¶rednio zainteresowany projektem. Modemy Metricom przy³±cza siê przez port szeregowy komputera, posiadaj± szerokie spektrum technologiczne i s± zdolne do pracy z prêdko¶ci± zbli¿on± do 100kbps. Informacje na temat samych modemów Metricom jest dostêpna tutaj: Metricom Web Server <http://www.metricom.com/>. W chwili obecnej standardowe narz±dzia sieciowe nie obs³uguj± sterownika STRIP. Musisz zdobyæ specjalistyczne narzêdzia dostêpne na serwerze www projektu MosquitoNet. Szczegó³y na temat niezbêdnego oprogramowania znajdziesz tutaj: MosquitoNet STRIP Page <http://mosquitonet.Stanford.EDU/strip.html>. Konfiguracja sieci pracuj±cych ze sterownikiem STRIP polega na wykorzystaniu zmodyfikowanego programu _s_l_a_t_t_a_c_h, które ustawia tryb pracy linii szeregowej na STRIP, a nastêpnie na konfiguracji powsta³ego urz±dzenia `st[0-9]' w taki sam sposób, jak gdyby by³a to zwyk³a karta ethernetowa. Z jednym wyj±tkiem, z przyczyn technicznych STRIP nie obs³uguje protoko³u ARP, dlatego musisz rêcznie skonfigurowaæ tabelê ARP dla wszystkich komputerów w twojej podsieci. Co nie powinno sprawiæ wiêkszego k³opotu. 66..2288.. TTookkeenn RRiinngg Urz±dzenia Token Ring nosz± nazwy `tr0', `tr1' itd. Token Ring jest standardem sieci LAN opracowanym przez IBM, który unika kolizji wprowadzaj±c mechanizm pozwalaj±cy na transmisjê danych w jednej chwili tylko jednej stacji przy³±czonej do sieci. "Token" w danej chwili mo¿e nale¿eæ tylko do jednej stacji i to w³a¶nie ta stacja, która go posiada jest uprawniona do nadawania informacji. Po zakoñczonej transmisji przekazuje "Token" nastêpnej stacji. Przechodzi kolejno pomiêdzy wszystkimi aktywnymi koñcówkami sieci. St±d nazwa "Token Ring". OOppccjjee kkoonnffiigguurraaccjjii jj±±ddrraa: Network device support ---> [*] Network device support .... [*] Token Ring driver support < > IBM Tropic chipset based adaptor support Konfiguracja urz±dzeñ token ring jest identyczna, jak konfiguracja urz±dzeñ ethernetowych, z dok³adno¶ci± do nazwy urz±dzenia podlegaj±cego konfiguracji. 66..2299.. XX..2255 X.25 to obwodowy protokó³ komutacji pakietów zdefiniwany w C.C.I.T.T. (organizacji standaryzacyjnej uznawanej przez firmy telekomunikacyjne wiêkszo¶ci krajów ¶wiata. Ca³y czas trwaj± pracê nad implementacj± X25 u LAPB i najnowsze wersje j±dra 2.1.* zawieraj± kod odzwierciedlaj±cy aktualny stan prac. Jonathon Naylor jsn@cs.nott.ac.uk przewodzi grupie rozwijaj±cej to oprogramowanie i opiekuje siê list± utworzon± do dyskusji na tematy dotycz±ce X25 i Linuksa. Aby siê na ni± zapisaæ nale¿y na adres majordomo@vger.rutgers.edu napisaæ list o tre¶ci "subscribe linux- x25". Wczesne wersje narzêdzi konfiguracyjnych mo¿na uzyskac z archiwum ftp ftp.cs.nott.ac.uk <ftp://ftp.cs.nott.ac.uk/jsn/>. 66..3300.. WWaavveeLLaann CCaarrdd Urz±dzenia Wavelan nosz± nazwy `eth0', `eth1', itd. OOppccjjee kkoommppiillaaccjjii jj±±ddrraa: Network device support ---> [*] Network device support .... [*] Radio network interfaces .... <*> WaveLAN support Karty WaveLan to szerokopasmowe sieciowe karty bezprzewodowe. S± bardzo podobne do kart ethernetowych i praktycznie w wiêkszo¶ci s± konfigurowane w taki sam sposób. Wiêcej informacji na temat kart WaveLan znajdziesz na stronie Wavelan.com <http://www.wavelan.com/>. 77.. KKaabbllee ii ookkaabblloowwaanniiee Ci z was, którzy posiadaj± odpowiednie narzêdzia mog± chcieæ zrobiæ w³asne kable do po³±czenia ze sob± dwóch Linuxów. Poni¿sze schematy powinny wam w tym pomóc. 77..11.. SSzzeerreeggoowwyy kkaabbeekk bbeezzmmooddeemmoowwyy ((SSeerriiaall NNUULLLL MMooddeemm ccaabbllee)) Nie wszystkie kable bezmodemowe s± takie same. Du¿o kabli bezmodemowych oszukuje twój komputer, tak aby my¶la³, ¿e wszystkie potrzebne sygna³y s± obecne i zamienia ze sob± kana³y nadawania i odbioru danych. Taki kabel bêdzie dzia³a³ poprawnie, ale musisz stosowaæ programowe sterowanie przep³ywem danych (XON/XOFF), które jest znacznie mniej wydajne od sterowania sprzêtowego. Poni¿szy schemat przedstawia kabel umo¿liwiajacy transmisjê ze sprzêtowym sterowaniem przep³ywem danych (RTC/CTS). Pin Name Pin Pin Tx Data 2 ----------------------------- 3 Rx Data 3 ----------------------------- 2 RTS 4 ----------------------------- 5 CTS 5 ----------------------------- 4 Ground 7 ----------------------------- 7 DTR 20 -\--------------------------- 8 DSR 6 -/ RLSD/DCD 8 ---------------------------/- 20 \- 6 77..22.. KKaabbeell ppoorrttuu rróówwnnoolleegg³³eeggoo ((kkaabbeell PPLLIIPP)) Je¶li zamierzasz korzystaæ z protoko³u PLIP, to kabel wykonany wg. poni¿szego schematu bêdzie dzia³a³ niezale¿nie od rodzaju posiadanego portu równoleg³ego. Pin Name pin pin STROBE 1* D0->ERROR 2 ----------- 15 D1->SLCT 3 ----------- 13 D2->PAPOUT 4 ----------- 12 D3->ACK 5 ----------- 10 D4->BUSY 6 ----------- 11 D5 7* D6 8* D7 9* ACK->D3 10 ----------- 5 BUSY->D4 11 ----------- 6 PAPOUT->D2 12 ----------- 4 SLCT->D1 13 ----------- 3 FEED 14* ERROR->D0 15 ----------- 2 INIT 16* SLCTIN 17* GROUND 25 ----------- 25 Uwagi: · Nie przy³±czaj nigdzie igie³ oznaczonych gwiazdk± `*'. · Dodatkowe uziemienie znajduje siê na ig³ach 18,19,20,21,22,23 i 24. · Je¶li u¿ywany przez ciebie kabel posiada metalowy ekran, to powinien on byæ po³±czony do metalowej wtyczki DB-25, ale ttyyllkkoo zz jjeeddnneejj ssttrroonnyy. OOssttrrzzee¿¿eenniiee:: kkaabbeell zzee ¼¼llee wwyykkoonnaannyymmii ppoo³³±±cczzeenniiaammii mmoo¿¿ee ffiizzyycczznniiee zznniisszzcczzyyææ kkaarrttêê kkoonnttrroolloorraa ttwwoojjeeggoo kkoommppuutteerraa... B±d¼ bardzo ostro¿ny i dwukrotnie sprawdzaj ka¿de po³±czenie, aby nie naraziæ siê na niepotrzebny ból g³owy lub atak serca. 77..33.. OOkkaabblloowwaanniiee eetthheerrnneettoowwee 1100bbaassee22 ((cciieennkkii kkoonncceennttrryykk)) 10base2 jest standardem okablowania ethernetowego wykorzystuj±cego 52omowy kabel koncentryczny o ¶rednicy ok 5mm. £±cz±c ze sob± komputery za pomoc± okablowania 10base2 nale¿y pamiêtaæ o kilku zasadach. Po pierwsze musisz mieæ terminatory na oobbuu kkooññccaacchh kabla. Terminator to opornik o oporni¶ci 52 omy, zapewniaj±cy absorbjê sygna³u i zapobiegaj±cy jego odbiciom w momencie osi±gniêcia koñca kabla. Bez za³o¿onych terminatorów, mo¿e siê okazaæ, ¿e sieæ nie jest pewna lub w ogóle nie nadaje siê do pracy. Zwykle poszczególne komputery pod³±cza siê do kabla z pomoc± 'trójników'. Dlatego tak zbudowana sieæ wygl±da mniej wiêcej tak: |==========T=============T=============T==========T==========| | | | | | | | | ----- ----- ----- ----- | | | | | | | | ----- ----- ----- ----- gdzie `|' oznacza terminator na ka¿dym zakoñczeniu kabla, `======' oznacza kabel koncentryczny, a `T' oznaczaj± trójniki. Kabel ³±cz±cy trójnik z komputerem powinien byæ jak najkrótszy, najlepiej, gdy trójnik jest wpiêty bezpo¶rednio na kartê ethernetow± komputera. 77..44.. SSkkrrêêttkkaa ((TTwwiisstteedd PPaaiirr EEtthheerrnneett CCaabbllee)) Je¶li chcesz po³±czyæ ze sob± tylko dwie karty ethernetowe przez skrêtkê, to nie potrzebujesz ¿adnego koncentratora (hub'a). Schemat wykonania potrzebnego kabla znajdziesz w Ethernet-HOWTO <Ethernet- HOWTO.html> 88.. SSppiiss ssttoossoowwaannyycchh tteerrmmiinnóóww Poni¿sza lista zawiera najwa¿niejsze z terminów wykorzystywanych w tym dokumencie. AARRPP Skrót pochodz±cy od nazwy _A_d_d_r_e_s_s _R_e_s_o_l_u_t_i_o_n _P_r_o_t_o_c_o_l, okre¶la sposób przyporz±dkowywania adresów IP adresom sprzêtowym kart ethernetowych. AATTMM Skrót pochodz±cy od nazwy _A_s_y_n_c_h_r_o_n_o_u_s _T_r_a_n_s_f_e_r _M_o_d_e. Sieci ATM przesy³±j± dane w pakietach o ustalonej d³ugo¶ci. ATM jest technologi± sieci pakietowych z komutacj± kana³ów. kklliieenntt Jest to zwykle oprogramowanie znajduj±ce siê po tej samej stronie po³±czenia co u¿ytkownik. S± oczywi¶cie wyj±tki od tej regu³y, np. w przypadku X11 to w³a¶nie serwer jest po stronie u¿ytkownika, a klient jest to aplikacja wykonuj±ca siê na zdalnej maszynie. Klient to oprogramowanie lub koñcówka systemu korzystaj±ca z us³ug oferowanych przez serwer. W przypadku po³±czeñ _p_e_e_r _t_o _p_e_e_r (ka¿dy z ka¿dym) jakimi s± _s_l_i_p lub _p_p_p, za klienta przyjmuje siê ten koniec po³±czenia, który je zainicjowa³, a drugi koniec nosi nazwê serwera. ddaattaaggrraamm Datagram jest pakietem informacji, który prócz danych posiada równie¿ nag³ówki zawieraj±ce adresy nadawcy i adresata. Jest podstawow± jednostk± przesy³ania informacji w sieci IP. Czêsto jest zastêpowany s³owem 'pakiet'. DDLLCCII DLCI oznacza skrót Data Link Connection Identifier, jest stosowany do jednoznacznej identyfikacji wirtualnego po³±czenia punkt-punkt przez Frame Relay. DLCI s± zwykle przydzielane przez dostawcê us³ugi Frame Relay. FFrraammee RReellaayy Frame Relay oznacza technologiê sieciow± przeznaczon± przede wszystkim do przenoszenia ruchu charaktyryzuj±cego siê nieregularnym natê¿eniem lub o sporadycznej charakterysyce. Koszty sieci s± redukowane przez wspó³dzielenie no¶no¶ci sieci przez wielu u¿ytkowników, przy za³o¿eniu, ¿e ka¿dy z nich generuje najwiêkszy ruch o innej porze. AAddrreess sspprrzzêêttoowwyy Numer który jednoznacznie identyfikuje komputer na poziomie wartstwy fizycznej sieci (na poziomie warstwy no¶nika). Przyk³adem takich adresów jest _a_d_r_e_s _k_a_r_t_y _e_t_h_e_r_n_e_t_o_w_e_j lub _a_d_r_e_s _A_X_._2_5. IISSDDNN ISDN oznacza skrót _I_n_t_e_g_r_a_t_e_d _S_e_r_v_i_c_e_s _D_e_d_i_c_a_t_e_d _N_e_t_w_o_r_k. ISDN umo¿liwia ujednolicony sposób dostarczania u¿ytkownikom informacji g³osowej lub cyfrowej. Technicznie ISDN jest sieci± danych z komutacj± kana³ów. IISSPP Jest to skrót Internet Service Provider (dostawca internetu). S± to organizacje lub firmy, które umo¿liwiaj± ludziom dostêp do Internetu, aaddrreess IIPP Jest to numer jednoznacznie identyfikuj±cy komputer w sieci TCP/IP. Adres sk³ada siê z 4rech bajtów i zwykle jest przedstawiany w tzw notacji dziesiêtnej, czyli takiej, w której ka¿dy bajt jest reprezentowany przez liczbê w systemie dziesiêtnym, przy czym poszczególne bajty s± rozdzielone znakiem '.'. MMSSSS Maximum Segment Size (_M_S_S) oznacza maksymalny rozmiar porcji danych, która mo¿e zostaæ przes³ana za jednym razem. Aby zapobiec lokalnej fragmentacji pakietów MSS powinno siê równaæ MTU-nag³ówek IP. [od korektorki: oryginalny tekst jest skrótem my¶lowym: 'equal MTU - IP header' wed³ug mnie powinno byæ: 'powinno siê równaæ ró¿nicy: wielko¶æ MTU-wielko¶æ nag³ówka IP' (nag³ówek IP to zwykle 40 bajtów)]. MMTTUU Maximum Transmission Unit (_M_T_U) to parametr, który okre¶la maksymalny rozmiar datagramu, jaki mo¿e zostaæ przes³any przez interfejs, bez konieczno¶ci podzia³u go na mniejsze kawa³ki. MTU powinno byæ wiêksze ni¿ najwiêkszy datagram jaki ma byæ przesy³any w jednym kawa³ku. Pamietaj, ¿e ten parametr steruje jedynie lokaln± fragmentacj± pakietów. Mo¿e siê zdarzyæ, ¿e które¶ z po³±czeñ le¿±cych na trasie do celu bêdzie mia³o mniejsze MTU, a wtedy pakiet zostanie podzielony na kawa³ki w tym w±skim garde. Standartowymi wielko¶ciami s± 1500 dla kart ethernetowych, 576 dla interfejsu SLIP. ttrraassaa _t_r_a_s_a osnacza ¶cie¿kê jak± przebywaj± datagramy wêdruj±c od nadawcy do odbiorcy. sseerrwweerr Oprogramowanie lub system po przeciwnej stronie po³±czenia w stosunku do pozycji u¿ytkownika. Serwer udostêpnia pewne us³ugi jednemu lub wiêcej klientom. Mog± to byæ us³ugi typu _f_t_p, _n_f_s lub _d_n_s. W przypaku po³±czeñ typu _p_e_e_r_-_t_o_-_p_e_e_r (ka¿dy z ka¿dym) za serwer przyjmuje siê ten koniec po³±czenia, który odpowiada na wezwanie, koniec rozpoczynaj±cy sesjê nosi nazwê klienta. wwiinnddooww _O_k_i_e_n_k_o to najwiêksza liczba bajtów jak± w danej chwili odbiorca jest w stanie przyj±c. 99.. LLiinnuuxx uu ddoossttaawwccóóww IInntteerrnneettuu ?? Je¶li jeste¶ zainteresowany wykorzystaniem Linuksa jako dostawca Internetu polecam stronê Linux ISP homepage <http://www.anime.net/linuxisp/>. Zawiera listê odno¶ników do informacji, które mog± ciê zainteresowaæ. 1100.. PPooddzziiêêkkoowwaanniiaa Chcia³bym podziekowaæ nastêpuj±cym ludziom, za ich wk³ad w powstanie tego dokumentu (kolejno¶æ nie ma ¿adnego znaczenia): Axel Boldt, Arnt Gulbrandsen, Gary Allpike, Cees de Groot, Alan Cox, Jonathon Naylor. 1111.. CCooppyyrriigghhtt.. NET-3-HOWTO, informacja na temat instalacji i konfiguracji oprogramowania sieciowego pod Linuksem. Copyright (c) 1997 Terry Dawson. To jest darmowe oprogramowanie, mo¿esz je rozpowszechniaæ i modyfikowaæ na zasadach zgodnych z licencj± GNU General Public License wydan± przez Freee Software Foundation w wersji 2 (lub jak wolisz) pó¼niejszej. Ten program jest rozpowszechniany w nadziei, ¿e bedzie u¿yteczny, lecz BEZ ¯ADNYCH GWARANCJI; nawet bez gwarancji zdatno¶ci HANDLOWEJ lub U¯YTECZNO¦CI W KONKRETNYM ZASTOSOWANIU. Wiecej szczegó³ów w tek¶cie GNU General Public License. Wraz z tym programem powiniene¶ otrzymaæ kopiê Licencji GNU General Public License, je¶li nie napisz do: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 1122.. OOdd tt³³uummaacczzaa To t³umaczenie zawiera mnóstwo ró¿nego rodzaju b³êdów. Postanowi³em je udostêpniæ w takim stanie, poniewa¿ nie mam czasu na dok³adne sprawdzenie tego dokumentu (a jest tego trochê), a szkoda mi trzymaæ to na dysku, czekaj±c na Woln± Chwile (TM), która byæ mo¿e nigdy nie nadejdzie. Dlatego bedê wdziêczny za ka¿d±, nawet najdrobniejsz± uwagê. Najnowsz± wersjê tego t³umaczenia znajdziesz tutaj: http://www.ippt.gov.pl/pub/Linux/JTZ/html/NET-3-HOWTO.pl.html <http://www.ippt.gov.pl/pub/Linux/JTZ/html/NET-3-HOWTO.pl.html>. piotr.pogorzelski@ippt.gov.pl 1133.. OOdd kkoorreekkttoorrkkii Korekta, to by³o wy³apanie czê¶ci literówek i z³o¶liwo¶ci klawiatury oraz kilku niedot³umaczonych linijek tekstu. Pewnie jest tego jeszcze trochê dla nastêpnej siwiej±cej blondynki, która poczuje chêæ siê douczyæ ;-) 30.11.2001 Basia G³owacka jastra@gdansk.sprint.pl