Zamaskowany LAN
Transkrypt
Zamaskowany LAN
Internet kasia szymczak Zastosowania: Internet przez SDI w sieci lokalnej Zamaskowany LAN Łącza stałe są w naszym kraju wręcz nieprzyzwoicie drogie. Horrendalne koszty dostępu do Internetu można nieco zmniejszyć, instalując SDI. Jak jednak podzielić w tym przypadku wydatki związane z dostępem do Sieci pomiędzy kilka osób? DI (Szybki Dostęp do Internetu) to usługa ciesząca się dużym zainteresowaniem abonentów naszego największego operatora sieci telekomunikacyjnych. SDI wykorzystuje technologię firmy Ericsson o nazwie HIS (Home Internet Solution). System ten pozwala na użycie istniejącego łącza telefonicznego do połączenia się z Internetem. Jednocześnie możliwe jest korzystanie z tradycyjnego aparatu telefonicznego. Dokładniejsze informacje na temat działania SDI można znaleźć w CHIP-ie nr 1/2000. W tym artykule przedstawię rozwiązanie, dzięki któremu użytkownicy komputerów połączonych w niewielką sieć lokalną będą mogli korzystać z Internetu za pośrednictwem jednej maszyny dysponującej łączem SDI. Niektóre zadania związane z tym problemem można zrealizować, używając na przykład komputera pracującego pod kontrolą systemu Windows 98. Pełną obsługę usług internetowych w LAN-ie uzyskamy jednak dopiero za pomocą Okien klasy NT. My skorzystamy z Linuksa. System ten pozwala na udostępnienie w sieci lokalnej wszystkich usług oferowanych za pośrednictwem SDI. Dodatkową S 188 zaletą Linuksa w stosunku do systemów komercyjnych jest fakt, iż jest on darmowy. Instalacja terminala Terminal SDI dostarczany do klienta ma wymiary typowego modemu zewnętrznego. Jest on podłączany do portu szeregowego komputera przez zwykły kabel RS232. Urządzenie wyposażone jest, rzecz jasna, w gniazda do podłączenia sieci telefonicznej oraz aparatu abonenckiego. Jeżeli podłączymy telefon przed modemem SDI, nie będzie on działał. Instalacja terminala SDI nie powinna nastręczać problemów. Wystarczy podłączyć go do sieci telefonicznej i komputera. Po włączeniu zasilania i uruchomieniu urządzenia następuje jego synchronizacja z siecią telefoniczną, co sygnalizują odpowiednie kontrolki świecące się na panelu terminala. Należy zauważyć, że w razie zaniku zasilania telefon działa nadal – terminal jest dla niego w tym przypadku „przezroczysty”. Możemy teraz przystąpić do zestawienia połączenia internetowego. Operator dostarcza wraz z urządzeniem sterowniki przeznaczone dla systemu Windows. Nie będą nam one potrzebne. Obsługa terminala SDI przez system operacyjny nie różni się bowiem prawie niczym od korzystania ze zwykłego modemu podłączanego do złącza szeregowego. Do zainstalowania SDI możemy wykorzystać dowolną dystrybucję Linuksa. Nawet jeśli użyjemy jednodyskietkowej edycji systemu o nazwie Polopiryn, otrzymamy system w zupełności wystarczający do pracy z dowolnym modemem, np. SDI. Oferuje on realizację takich mechanizmów, jak połączenie PPP (Point-to-Point Protocol) czy translacja adresów za pomocą dynamicznej usługi NAT (Network Adress Translation). Konfiguracja tej minidystrybucji jest bardzo prosta i ogranicza się do udzielenia odpowiedzi na kilka pytań procedury instalacyjnej. Nie będziemy się zajmowali wspomnianą dystrybucją właśnie z powodu jej ścisłej specjalizacji. Rozwiązanie to jest idealne, jeżeli chcemy podłączyć SDI do pojedynczego komputera. Będzie on wtedy realizował tylko połączenie PPP czy ewentualnie translację adresów albo zaporę ogniową (firewall). W tym przypadku możemy użyć nawet archaicznego peceta z procesorem 80386. Jedynym wymogiem jest wyposażenie maszyny w co najmniej 8 MB pamięci RAM i odpowiednio szybki port szeregowy (oparty na układzie UART 16550 lub nowszym). Jeżeli marzy nam się np. serwer poczty elektronicznej, WWW czy proxy, musimy zastosować mocniejszy komputer z odpowiednio pojemnym dyskiem twardym. Konfiguracja Linuksa Pierwsza rzecz, jaką musimy zrobić, to sprawdzenie, do którego portu szeregowego podłączony jest nasz terminal. Następnie odszukujemy w umowie dotyczącej świadczenia usługi SDI przydzielony nam adres IP, login i hasło. Wszystko to powinniśmy znaleźć na drugiej stronie tego dokumentu, w paragrafie drugim. Możemy teraz przystąpić do utworzenia odpowiednich skryptów i skonfigurowania demona pppd. Odpowiada on za obsługę protokołu PPP. Zanim ustawimy parametry systemu, dobrze jest się upewnić, czy mamy zainstalowany pakiet pppd. Do prawidłowego działania wymaga on, aby jądro zawierało mechanizmy korzystania z PPP. Służy do tego opcja PPP (point-to-point) support w konfiguracji kernela. Jeżeli mamy do czynienia z jądrem dostarczonym wraz z dystrybucją Linuksa, prawie na pewno zostało ono skompilowane z włączoną obsługą protokołu PPP. Następnie w pliku /etc/ppp/pap-secrets wpisujemy znaleziony w umowie login, hasło oraz IP w podanym niżej formacie: login * has‡o IP Jeśli na dysku naszej maszyny w ogóle nie ma wspomnianego katalogu, pakiet pppd STYCZEŃ 2001 Internet Zastosowania: Internet przez SDI w sieci lokalnej STYCZEŃ 2001 Po dokonaniu opisanych czynności wydajemy z konta roota polecenie powodujące nawiązanie połączenia internetowego: pppd /dev/ttyS0 Początkującym użytkownikom Linuksa wyjaśnię dodatkowo, że ttyS0 odpowiada pierwszemu portowi szeregowemu (nazywanemu zazwyczaj COM1). Jeśli terminal w naszym systemie jest przyłączony do innego portu, należy podać odpowiednią nazwę urządzenia (np. ttyS1 dla COM2). Działanie połączenia możemy sprawdzić np. za pomocą polecenia: Jeżeli otrzymamy odpowiedź od serwera ICM, oznacza to, że mamy upragniony dostęp do Sieci. Automatyczne połączenie po starcie systemu Ponieważ chcemy mieć stałe połączenie z Internetem, warto tak skonfigurować maszynę, aby było ono nawiązywane podczas uruchomiania systemu. Pozwoli to np. na automatyczny start serwera pocztowego czy WWW po awarii zasilania. Funkcję samoczynnego łączenia naszego komputera z Siecią możemy zrealizować na kilka sposobów. Najprostszy to dopisanie wywołania pppd do jednego ze skryptów startowych systemu. W dystrybucji Red Hat jest to plik /etc/rc.d/rc.local, w Debianie – /etc/rc.boot. Inną metodą jest skorzystanie ze specjalnego mechanizmu zastosowanego w większości dystrybucji. W katalogu /etc/ppp znajdziemy mianowicie plik no_ppp_on_boot. Gdy zmienimy jego nazwę na ppp_on_boot, podczas uruchamiania systemu zostaną wykonane zawarte w zbiorze polecenia (np. wywołanie pppd). Jeżeli plik ten nie jest wykonywalny, system będzie uruchamiał pppd z opcjami zawartymi w pliku /etc/ppp/ peers/provider. Zawartość tego ostatniego zbioru tworzymy, posługując się identyczną składnią jak w przypadku pliku options. Dodatkowo należy w nim umieścić linię definiującą urządzenie modemu (czyli np. w Sieć lokalna z dostępem do Internetu IP1 host 1 (IP1) router (IPr) dan e1 IPr port 1 dane 1 IPr port n dane n łącze SDI e2 dan IP2 host 2 (IP2) n IP1 <–––> port 1 ne Ustawienia te mają następujące znaczenie: n 115200 – szybkość połączenia wyrażona w bitach/s.; n modem – włącza używanie linii kontroli modemu; n defaultroute – dodaje do systemowych tabel routowania domyślną trasę, używaną po starcie interfejsu; n noipdefault – wyłącza domyślne zachowania w razie braku lokalnego adresu IP. W tym przypadku IP musi zostać przekazane przez serwer providera podczas negocjacji obu hostów; n lock – ustawia plik lock dla danego urządzenia (portu); n crtscts – włącza sprzętową kontrolę linii RTC/CTS; n noauth – wyłącza identyfikację; n user <login> – nazwa użytkownika dla identyfikacji przy użyciu PAP (<login> jest identyczny z podanym w umowie z TP S.A.); n persist – powoduje, że po przerwaniu połączenia program pppd nie zakończy działania, tylko spróbuje utworzyć je na nowo; n maxfail 0 – ustawia limit nieudanych połączeń, po przekroczeniu którego pppd zaprzestanie prób ponownego nawiązania łączności. Wartość zero oznacza brak ograniczeń; nameserver 194.204.152.34 nameserver 194.204.159.1 ping news.icm.edu.pl IP2 <–––> port 2 da 115200 modem defaultroute noipdefault lock crtscts noauth user <login> persist maxfail 0 lcp-echo-interval 20 lcp-echo-failure 5 n lcp-echo-interval 20 – pppd będzie co 20 sekund wysyłać do serwera tzw. ramkę żądań LCP. W połączeniu z opcją lcp-echo-failure ustawienie to jest używane przez mechanizm wykrywający zerwanie połączenia; n lcp-echo-failure 5 – jeżeli serwer, z którym się łączymy, nie odpowie na pięć żądań tzw. echa LCP (patrz: opcja lcp-echo-interval), pppd przerwie połączenie. W naszym wypadku jest to potrzebne, gdyż czasami łącze SDI się zawiesza. W takiej sytuacji pppd przerwie połączenie i wznowi je dzięki opcji persist. Na zakończenie konfiguracji pppd należy zadbać o poprawne wpisy w pliku /etc/resolv.conf. Definiują one używane DNS-y. Jeżeli nie mamy własnego serwera nazw, możemy wpisać w zbiorze resolv.conf adresy maszyn naszego dostawcy usług: IP n prawdopodobnie nie został w zainstalowany systemie. Należy pamiętać, że wszystkie pliki *-secrets powinny mieć prawa dostępu ustawione na 600. Ich właścicielem musi być w takim razie użytkownik root z grupy root. W przeciwnym przypadku będziemy wprawdzie mogli pracować, ale przy każdej inicjacji połączenia PPP otrzymamy komunikaty o nieprawidłowych prawach dostępu. Gdy pojawią się jakiekolwiek problemy z połączeniem, najlepiej zajrzeć do dzienników (logów) systemowych. Znajdują się w nich informacje o wszelkich ewentualnych nieprawidłowościach w działaniu systemu i usług. Odpowiednie informacje znajdziemy w plikach /var/log/syslog i /var/log/messages. Kolejnym krokiem jest umieszczenie w zbiorze /etc/ppp/options parametrów wywołania programu pppd. Zaoszczędzi nam to każdorazowego wpisywania tych opcji podczas uruchamiania pppd. Omawiany zbiór konfiguracyjny powinien mieć w naszym przypadku postać: IPn <–––> port n host n (IPn) Tablica NAT Jednym z najlepszych rozwiązań, jeśli chodzi o korzystanie z Internetu w sieci lokalnej, jest tzw. maskarada. Polega ona na wykorzystaniu jednego adresu IP do obsługi wielu lokalnych maszyn. Kontaktują się one z hostami sieciowymi za pośrednictwem portów routera. 189 190 Internet Zastosowania: Internet przez SDI w sieci lokalnej /dev/ttyS0). Jest to konieczne, gdyż w opisywanym przykładzie pppd będzie uruchamiane poleceniem pppd call provider. W tym przypadku domyślnym położeniem pliku provider jest katalog /etc/ppp/peers, ale oczywiście możemy podać pełną ścieżkę do zbioru. Jeżeli używamy innej dystrybucji, należy sprawdzić jej lokalną konfigurację. Można też samodzielnie napisać skrypt, który sprawdzi, czy istnieje plik ppp_on_boot, i uruchomi pppd z odpowiednimi opcjami, np.: if [ -f /etc/ppp/ppp_on_boot] then if [ -x /etc/ppp/ppp_on_boot ] then /etc/ppp/ppp_on_boot else /usr/sbin/pppd call provider fi fi Polecenia te warto dopisać do pliku rc.local lub utworzyć nowy skrypt i umieścić go w katalogu /rc (szczegółowe informacje na ten temat znajdziemy też w dokumentacji naszej dystrybucji). SDI a LAN Gdy nasze połączenie już funkcjonuje, warto się zastanowić, jak wykorzystać nasz serwer do udostępnienia Internetu innym komputerom w niewielkiej sieci lokalnej. Możemy tego dokonać, używając funkcji dynamicznej translacji adresów (NAT), czyli maskarady. Mechanizm ten jest wbudowany w jądro Linuksa. Jak działa NAT? Maskarada wymaga dwóch interfejsów sieciowych, na przykład ppp0 odpowiadającego terminalowi SDI i eth0 karty sieciowej. Interfejs eth0 najlepiej skonfigurować, przydzielając mu numer IP z puli adresów prywatnych (inaczej: nieroutowalnych). Są to wszystkie adresy, których nie przekazują routery internetowe (patrz: ramka „Numery IP w praktyce”). Komputer wykonujący dynamiczną translację adresów umożliwia wielu maszynom z sieci lokalnej korzystanie z sieci zewnętrznej (w tym przypadku z Internetu). Dla komputera spoza naszego LAN-u wygląda to tak, jakby wszystkie połączenia pochodziły z jednego adresu IP. Dzieje się tak dzięki temu, że wszystkie pakiety kierowane do Internetu przez komputery z sieci lokalnej ulegają translacji. Adresy źródłowe naszych maszyn są zamieniane na jeden adres internetowy. W jaki więc sposób serwer identyfikuje pakiety trafiające z Internetu do LAN-u? Otóż wykorzystywany jest w tym przypadku mechanizm portów (protokoły UDP i TCP). Każdemu połączeniu jest przydzielany osobny port. Jeżeli serwer odbierze z Internetu pakiet adresowany do danego portu, na podstawie odpowiednich (dynamicznych) tablic dane są kierowane do odpowiedniego komputera w sieci lokalnej. Problemy zaczynają się, gdy podczas połączenia wykorzystuje się kilka portów. Ma to miejsce np. gdy korzystamy z serwerów FTP. Inną kłopotliwą sytuacją jest używanie przez komputery w sieci lokalnej protokołu niższej warstwy niż TCP/IP, takiego jak ICMP (wykorzystywanego m.in. przez polecenie ping). W wymienionych przypadkach konieczne jest stosowanie dodatkowych mechanizmów, którymi nie będziemy się tu zajmować. Obsługę takich sytuacji zapewniają nam odpowiednie moduły jądra systemowego. Adresy internetowe Maskarada sieci Numery IP w praktyce Gdy już mamy skonfigurowaną kartę sieciową, należy skompilować jądro z obsługą zapory ogniowej i maskarady. W tym celu podczas konfiguracji kernela włączamy opcje IP: firewalling, IP: masquerading, IP: ICMP masquerading, IP: masquerading special modules support oraz Dummy net driver support. Po skompilowanu jądra i ponownym uruchomieniu systemu możemy przystąpić do konfiguracji maskarady. Aby system wykonywał filtrację pakietów i translacje adresów, konieczne jest użycie narzędzia ipchains (dla jąder z serii 2.2). Nie będę tu opisywał pełnej składni tego programu, gdyż w Sieci z łatwością można znaleźć jego obszerną dokumentację (patrz: ramka „Info”). W naszym, najprostszym przypadku wystarczą dwa polecenia: Dzięki temu, że router naszego dostawcy Internetu nie rozpowszechnia w Sieci adresów określonego typu (tzn. adresów nieroutowalnych), możemy ich używać w sieci lokalnej. Wymaga to operacji translacji (maskarady) numerów IP z sieci wewnętrznej. Ponieważ w naszej sieci nie bedziemy mieli wielu komputerów, wystarczy nam adres z tzw. klasy C (ostatni bajt adresu oznacza numer maszyny). W naszym przykładzie interfejs eth0 (czyli router z linuksem) może mieć np. adres 192.168.255.1 przy masce 255.255.255.0 i adresie rozgłoszeniowym (broadcast) 192.168.255.255. Maska podsieci określa, która część adresu określa numer sieci, a która definiuje poszczególne maszyny. Reszcie komputerów z naszego LAN-u przydzielamy kolejne adresy IP (do dyspozycji w opisywanym przypadku pozostają 253 adresy). 190 ipchains -P forward DENY ipchains -A forward -b -s 10.0.0.0/8 -d 0.0.0.0/0 -i ppp0 -j MASQ Powyższe polecenia zawierają tzw. reguły, określające działanie naszego serwera w odniesieniu do pakietów przychodzących (input), wychodzących (output) oraz przekazywanych (forward). Zachowanie programów filtrujących pakiety może być określone przez tzw. reguły. Regułami mogą być słowa: n DENY – odrzucenie pakietu; n REJECT – podobnie jak DENY, lecz wysyłany jest pakiet ICMP informujący o odrzuceniu połączenia; n ACCEPT – powoduje odebranie pakietu; n MASQ – włącza maskowanie adresów (tylko w przypadku mechanizmu forward); n REDIRECT – przekierowanie; n RETURN – przekazanie zachowania do kolejnej reguły. Pierwsza z przykładowych reguł powoduje, że domyślną akcją w odniesieniu do żądania przesyłania (forward) staje się DENY, co oznacza odmowę dostępu. Drugie polecenie powoduje dodanie (opcja -A) nowej reguły do łańcucha forward. Parametr b włącza dwukierunkowy tryb działania reguły. Następnie podane są zakresy adresów źródłowych (-s) i docelowych (-d). W tym przypadku numery IP są zapisane w formacie adres/maska, przy czym maska ma format skrócony – wartość po ukośniku („/”) określa liczbę jedynek w masce. Tak więc zapis /8 odpowiada masce 255.0.0.0. Następnie podany jest interfejs, przez który będą wysyłane i odbierane pakiety. Ostatnia opcja (-j) określa mechanizm, do którego odnosi się reguła – w tym przypadku jest to MASQ, czyli dynamiczna translacja adresów (maskarada). Jak już wcześniej wspomniałem, należy pamiętać o modułach ip_masq_*. Powinny one się znajdować w katalogu /lib/modules/nr_wersji_kernela/ipv4. Są to m.in.: n ip_masq_cuseeme.o – dla mechanizmu CU-SeeMe broadcasts; n ip_masq_ftp.o – dla protokołu FTP. Moduł ten jest niezbędny, gdyż FTP wymaga użycia dwóch portów; n ip_masq_irc.o – dla usługi IRC; n ip_masq_quake.o – moduł dedykowany dla gry Quake; n ip_masq_raudio.o – RealAudio; n ip_masq_vdolive.o – VDOLive. Jeżeli moduły nie są przez jądro ładowane automatycznie, należy to zrobić ręcznie za pomocą polecenia insmod. W tym celu z konta roota trzeba wydać polecenie insmod ip_masq_ftp. Przedstawiona przeze mnie konfiguracja maskarady stanowi absolutne minimum, gwarantujące prawidłowe działanie systemu. Dodatkowo można dopisać wiele innych reguł filtracji pakietów. Przykładem jest choćby używana przez wielu użytkowników SDI reguła, gwarantująca że system nie będzie odpowiadał na pakiety ping (czyli na w pakiety icmp echo-request): STYCZEŃ 2001 193 Internet Zastosowania: Internet przez SDI w sieci lokalnej ipchains -A input -p icmp --icmp-type 8 -i ppp0 -l -j DENY W tym przypadku wszelkie pakiety tego typu odbierane za pośrednictwem interfejsu ppp0 będą zapisywane w logach (opcja -l) i odrzucane przez system. Regułę tę można dopisać do skryptów startowych lub utworzyć oddzielny skrypt służący do jej aktywowania. Bardzo ważną, a często zapominaną czynnością jest włączenie w kernelu opcji ip_forward. Spowoduje to, że pakiety będą przekazywane między interfejsami. Omawiany parametr aktywujemy, wpisując wartość 1 do pliku /proc/sys/net/ipv4/ip_forward. Można to zrobić ręcznie poleceniem: echo ’1’ > /proc/sys/net/ipv4/ip_forward Rozkaz ten warto dopisać do skryptów startowych, np. tuż po regułach ipchains. Część dystrybucji Linuksa zawiera pliki konfiguracyjne, umożliwiające zdefiniowanie opisywanego parametru. W Debianie jest to np. zbiór /etc/network/options, w którym zmienną ip_forward ustawiamy na yes. W dystrybucji Red Hat będzie to natomiast plik /etc/sysconfig/network (opcja FORWARD_IPV4) lub – w nowszych edycjach systemu – /etc/sysctl.conf (net.ipv4.ip_for-ward=1). Po dokonaniu odpowiedniej modyfikacji funkcja ip_forward zostanie włączona podczas uruchamiania systemu. Jeszcze jednym zastosowaniem ipchains jest regulowanie aktywności użytkowników. W przypadku gdy zarządzamy np. niewielką siecią w bloku, może się zdarzyć, że zaistnieje potrzeba chwilowego odłączenia danego komputera od sieci. Najprościej jest wtedy po prostu zablokować mu dostęp do serwera, używając właśnie reguły ipchains: ipchains -A input -s adres-IP-komputera -j DENY -i eth0 Aby usunąć tę regułę, wystarczy zmienić w podanym poleceniu parametr -A (Add) na -D (Delete). Wszystkie reguły filtrowania możemy wyświetlić na ekranie, wydając polecenie ipchains -L. Metodą obejścia takiego zabezpieczenia jest zmiana numeru IP blokowanego komputera. Aby temu zapobiec, na serwerze wykonujemy tzw. statyczne mapowanie tablic ARP. Mówiąc inaczej, na stałe przypisujemy sprzętowy numer karty komputera do danego adresu IP. Dzięki temu w przypadku zmiany adresu IP nie zostanie nawiązane połączenie danej maszyny z serwerem. Dodatkowym zabezpieczeniem może być skonfigurowanie maskarady dla każdego komputera oddzielnie. Zamiast podawać adres podsieci i maski wpisujemy wtedy IP poszczególnych komputerów do kolejnych reguł ipchains. Co prawda musimy wtedy użyć STYCZEŃ 2001 kilku czy kilkanastu reguł więcej, ale wraz ze statycznym mapowaniem ARP stanowi to niemożliwe do obejścia zabezpieczenie. Opisane mapowanie polega na umieszczeniu w pliku /etc/ethers adresów sprzętowych (MAC) i logicznych (IP), np.: #IP 10.0.0.1 10.0.0.2 Adres sprzŒtowy MAC 00:C0:DF:B0:1A:E0 00:C0:DF:A3:21:B2 Adresy sprzętowe komputerów w sieci uzyskamy, wydając na serwerze polecenie arp -a. Jeżeli nie dostaniemy w ten sposób adresów wszystkich komputerów, należy posłużyć się poleceniem ping w odniesieniu do danej maszyny. Następnie po wydaniu polecenia arp -i eth0 -f /etc/ethers system na stałe przypisze adresy sprzętowe do numerów IP. Podanie nazwy zbioru z adresami jest konieczne tylko wtedy, gdy jest to plik inny niż /etc/ethers. Ergonomia stanowiska pracy Gdy mamy już działającą własną sieć z uruchomioną maskaradą, warto zatroszczyć się o nieco większy komfort pracy naszych użytkowników. Jednym z problemów, na jakie możemy się natknąć, jest to, że serwery IRC nie pozwalają wielokrotnie logować się użytkownikowi korzystającemu z danego IP. Jest to normalna praktyka administratorów tych maszyn. Pomóc tu może załadowanie modułu ip_masq_irc oraz zadbanie o to, aby użytkownicy z sieci wewnętrznej byli odpowiednio identyfikowani. Identyfikacja przebiega poprawnie, gdy na serwerze realizującym maskaradę działa usługa ident (demon identd). W naszej przykładowej sieci identd musi „umieć” identyfikować komputery obsługiwane przez maskaradę. W praktyce dobrze z zadaniem tym radzi sobie program oident. W większości przypadków wystarczy zainstalować pakiet oident i sprawdzić, czy uruchamia się on z opcją -m. Aplikacja ta przekazuje żądania identyfikacji do komputerów w maskaradowanej sieci. Jeżeli oident nie uzyska odpowiedzi na to żądanie (nie wysyłają jej np. maszyny pracujące pod kontrolą Windows), sprawdza zawartość pliku /etc/oidentd.users. Zbiór ten ma następujący format: #IP/MASKA 10.0.0.2 10.0.0.3 nazwa user1 user2 system UNIX WINDOWS Więcej informacji znajdziemy w dokumentacji oidenta. Jeżeli chodzi o inne usługiw Sieci znajdziemy specjalne moduły do jądra, umożliwiające używanie np. ICQ na komputerze w sieci lokalnej. Jeśli w naszej sieci lokalnej pracuje kilka czy kilkanaście osób korzystających z WWW czy FTP, warto się pokusić o zainstalowanie serwera proxy. Będzie on zapisywał w pamięci podręcznej strony internetowe czy pliki z serwerów FTP. Dzięki temu zmniejszymy obcią- żenie łącza, gdyż powtórny odczyt danych nastąpi z dysku serwera. W naszym wypadku dobrym rozwiązaniem byłby program squid. Jego konfiguracja jest dosyć złożona i nie będziemy jej tu omawiać. Informacje potrzebne do zainstalowania serwera proxy znajdziemy w dokumentacji squid oraz w Internecie. Jeżeli mamy w sieci lokalnej kilku użytkowników lub zamierzamy zarejestrować własną domenę, przyda nam się serwer DNS. Nawet jeżeli nie mamy własnej domeny, nieco przyśpieszy on tłumaczenie adresów. Najpopularniejszym linuksowym pakietem zawierającym name-server jest bind. Opis jego konfiguracji znajdziemy w odpowiednim HOWTO (DNS-HOWTO). Należy przy tym zwrócić uwagę na sposób, w jaki nasz dostawca Internetu nadaje nazwy domenowe urządzeniom połączonym z Siecią przez SDI. Nawet jeśli wykupimy własną domenę, np. www.firma.pl, po odwołaniu do naszego serwera za pomocą numeru IP otrzymamy adres typu p<kolejny numer>.miasto.sdi.tpnet.pl. Jeżeli mamy zamiar uruchomić tylko serwer WWW, nie będzie to miało większego znaczenia. W przypadku jednak, gdy czasami używamy SSH czy FTP, może się zdarzyć, że nasze połączenia będą odrzucane przez hosty internetowe. Niektóre serwery sprawdzają bowiem zgodność domeny z jej domeną odwrotną. Ostatnim, bardzo ważnym aspektem konfiguracji naszego serwera jest jego bezpieczeństwo. „Dziurawy” i źle skonfigurowany serwer może bowiem stanowić niebezpieczeństwo nie tylko dla nas samych, ale też dla innych użytkowników Internetu. Dlatego warto zadbać o wyłączenie niepotrzebnych usług, szczególnie tych uruchamianych przez inetd. Należy też używać jak najnowszych wersji poszczególnych komponentów systemu, zwłaszcza tych, do których można uzyskać dostęp z zewnątrz (takich jak WWW, FTP czy poczta elektroniczna). Więcej informacji na temat zabezpieczania serwera linuksowego można znaleźć na s. 140 numeru 9/2000 CHIP-a. Sebastian Sawicki INFO Grupy dyskusyjne Uwagi i komentarze do artykułu: news://news.vogel.pl/chip.artykuly Pytania techniczne: news://news.vogel.pl/chip.internet Internet JTZ http://www.jtz.org.pl/ Klub HIS-a http://www.his-klub.iq.pl/ Literatura Dokumentacja Linuksa PPP-HOWTO, IP-Masque-rade-mini-HOWTO, Net-3-HOWTO, podręczniki systemowe (man) Na krążku CD dołączonym do CHIP-a 1/2001 1/2001 w dziale Internet | Internet przez SDI znajduje się minidystrybucja Polopyrin 0.1 193