PRACA MGR - Internet w Linuxie.doc

(1529 KB) Pobierz
Narodziny Internetu

 

 

 

Internet w Linuxie

 

 

 

SPIS  TREŚCI

 

 

SPIS TREŚCI              1

Geneza powstania Internetu              2

Czym jest TCP/IP              11

HISTORIA TCP/IP              12

JAK DZIAŁA TCP/IP              14

PORTY              20

Adresy IP              24

Topologie Sieci Komputerowych              25

Rys historyczny systemu Linux              31

Zasady działania Linuxa jako systemu operacyjnego.              35

Instalacja Red Hat Linux              36

Podział dysku na partycje              36

Podstawowy system zabezpieczeń              38

Parametry jądra systemu              49

Konfiguracja jądra systemu (Kornel configuration)              54

FIREWALL              60

Architektury zapór ogniowych              63

Network Adress translation              70

Wymagania sprzętowe              76

Kryteria wyboru              77

Wady i zalety firewalli              78

SSH              79

Instalacja SSH pod Linuxem:              83

Konfiguracja serwera SSH:              85

Konfiguracja klienta SSH:              87

LINUX I WIRUSY              89


Geneza powstania Internetu

Początki: 1962-1969

W obliczu wybuchu wojny atomowej, Siły Powietrzne Stanów Zjedno­czonych obarczyły niewielką grupę naukowców arcytrudnym zadaniem: stworzyć sieć transmisji danych odporną na atak nuklearny. Wysunięto rewolucyjną koncepcję sieci bez scentralizowanej kontroli. W wypadku zniszczenia jednego, dziesięciu czy stu węzłów system wciąż miał dzia­łać. Sieć taka, projektowana wyłącznie na potrzeby wojska, miała prze­trwać choćby i apokalipsę - nawet gdyby nie udało się to ludziom. Nazwisko Paula Barana już zawsze kojarzone będzie z początkami Internetu. W 1962 roku pracował on w Rand Corporation, firmie której zlecono opracowanie koncepcji niezniszczalnej sieci. Pomysłem Barana była sieć, w której każdy komputer mógł komunikować się z dowolnym innym. Wtedy stanowiło to ideę rewolucyjną, zdającą się przeczyć zdro­wemu rozsądkowi. Baran wiedział jednak dobrze, że sieci scentralizo­wane nie miały szans na przetrwanie ataku. W swojej słynnej publikacji „O komunikacji rozproszonej: I. Wprowadzenie do sieci rozproszonych” (tyt. org. On Distributed Communications: I. Introduction to Distributed Communications Network) pisze:

„Bez wątpienia sieci scentralizowane są podatne na ataki, ponieważ zniszczenie jednego, centralnego węzła oznacza koniec komunika­cji pomiędzy stacjami końcowymi”[1]

Baran miał na myśli sposób, w jaki budowana była większość sieci w tamtych czasach. Opierały się one na potężnych maszynach zawierają­cych scentralizowane informacje, tzw. Mainframe. Z czasem komputery typu mainframe określa się mianem „duży komputer’, „wielki system’, „komputer” - w odróżnieniu od mikrokomputera - czy nawet „super­komputer’; obecne odpowiedniki tej nazwy to „serwery przedsię­biorstw”, „serwery korporacyjne’, itp.) Użytkownicy mieli dostęp do informacji poprzez terminale (urządzenia z klawiaturą, monitorem i minimalnym oprogramowaniem) podłączone bezpośrednio do kom­putera głównego. Dane wędrowały kablem z terminala do komputera centralnego, który z kolei kierował je do innych terminali. Sieć scentralizowana działała wydajnie, ale bezpieczeństwo takiej konstrukcji było żałosne. Terminale nie mogły porozumiewać się bezpośrednio ze sobą, dlatego w przypadku uszkodzenia komputera centralnego przestawała pracować cała sieć. Baran miał na to proste rozwiązanie: zaprojektować taką sieć, w której każda jednostka będzie mogła porozumieć się z każdą inną. W założe­niach przypominała to pod wieloma względami sieć telefoniczną. Autor pomysłu tłumaczył:„W praktyce sieci telekomunikacyjne składają się z elementów sieci kratowej i sieci gwiaździstej. Twór taki nazywany jest czasem siecią zdecentralizowaną,  ponieważ nie zawsze odpowiedzialność za działanie sieci oparta jest na jednym tylko punkcie”[2]

Propozycja Barana była dobrze obmyślona - opracował on nawet sposób trasowania danych routingu - czyli funkcji odpowiedzialnej za dostar­czenie danych do adresata. Wynalazł system, w którym dane określały swoją własną trasę dynamicznie - w przypadku napotkania na prze­szkodę znajdowały inną drogę dotarcia do celu. System ten opierał się na określonych zasadach. Na przykład węzeł sieci (jeden z komputerów biorących udział w przesyłaniu danych) przyjmował porcję danych tylko wtedy, gdy miał wystarczająco dużo miejsca na ich przechowanie. Jeśli wszystkie możliwe połączenia były zajęte, dane oczekiwały na zwolnie­nie którejś z marszrut (path - ścieżek, po których poruszają się dane w sieci}. W ten sposób powstawał inteligentny system wymiany infor­macji. Baran szczegółowo opracował również inne aspekty sieci, a w tym:

·        system priorytetów (oraz sposoby na uniknięcie przeciążenia sieci)

·        sprzęt

Niestety, idee Barana wybiegały zbyt daleko w przyszłość. W Pentagonie nie ufano tak radykalnym koncepcjom i oficjale w Departamencie Obro­ny natychmiast odłożyli jedenastotomowy raport Barana na półkę. Do­piero jakiś czas później okazało się, że krótkowzroczność Pentagonu opóźniła narodziny Internetu. Do pomysłu powrócono w 1965 roku ­zorganizowano fundusze i w 1969 roku istnienie zdecentralizowanej sieci komputerowej stało się faktem. System nazwano ARPANET.

W rozumieniu współczesnych technologii sieciowych ARPANET był siecią o dość nieskomplikowanej konstrukcji. Składał się z połączonych komputerów czterech uniwersytetów (Instytut Badań w Stanford, Uni­wersytet w Utah Uniwersytet Kalifornijski w Los Angeles oraz Uniwer­sytet w Santa Barbara). Jedną z tych maszyn był DEC PDP-10. Niegdyś potęgi wśród maszyn liczących, dziś komputery te posłużyć mogą co najwyżej jako wątpliwe ozdoby.

W każdym razie ARPANET zaczynał skromnie: cztery komputery połą­czone dzierżawioną linią telefoniczną. W tamtym czasie wydawało się to niesamowitym osiągnięciem, jednakże euforia towarzysząca powstaniu ARPANET-u szybko ucichła gdy inżynierowie zdali sobie sprawę z kilku poważnych problemów. Jednym z nich był brak systemu operacyjnego odpowiedniego dla ogromnej sieci Barana.

Główną rolę miał teraz odegrać przypadek. W innej części Stanów Zjednoczonych naukowcy opracowywali właśnie tajemniczy system opera­cyjny. System ten - który ujrzał światło dzienne wraz z APRANET-em ­miał na zawsze zmienić świat. Nazywał się UNIX. W roku 1969, tym samym, w którym powstał ARPANET. Człowiek o naz­wisku Ken Thompson (wraz z Dennisem Ritchie i Josephem Ossanna) z firmy Bell Labs opracowują pierwszą wersję UNIX-a. Autorskie opro­gramowanie Thompsona instalowane jest na maszynie DEC (Digital Equipment Corporation) PDP-7.

UNIX Thompsona nie przypominał współczesnych UNIX-ów, które między innymi są systemami wielodostępnymi - jednocześnie na tym samym komputerze może pracować wielu użytkowników. Prototyp Thompsona był systemem jednostanowiskowym, w dodatku zupełnie „nagim”. Przybliżę może, co rozumiem pod pojęciem „nagi’.

System operacyjny kojarzymy z programem, który zawiera podstawowe narzędzia, edytory tekstów, pliki pomocy, interfejs okienkowy, narzę­dzia sieciowe i tak dalej. Przyzwyczajeni jesteśmy do środowiska rozbu­dowanego i przyjaznego użytkownikowi. Pierwszy, „nagi” UNIX zawie­rał wyłącznie te narzędzia, których istnienie konieczne było do popraw­nego funkcjonowania. Thompson w ogóle nie myślał o żadnych innych udogodnieniach. Miał na głowie nieco inny problem - jak w ogóle swój system uruchomić!

Gdy pierwszy UNIX wreszcie wystartował, narodziły się nowe proble­my. Po pierwsze, język programowania, w którym pracowali twórcy systemu nie bardzo nadawał się do takich zastosowań. I znów przypa­dek odegrał dużą rolę: mniej więcej w tym samym czasie inni naukowcy w Bell Labs (Dennis Ritchie i Brian Kernighan) opracowali nowy język programowania o nazwie C.

 

 

Język C

Z języka C często korzysta się do pisania kompilatorów i systemów ope­racyjnych.

„Dziś niemal wszystkie aplikacje wspomagające komunikację po­przez Internet napisane są w języku C. Zarówno system operacyj­ny UNIX, na którym oparta jest podstawowa struktura Internetu, jak i protokół TCP/IP sterujący wymianą danych zostały napisane w języku C. Gdyby nie C, nie istniałby Internet w takiej postaci, w jakiej go teraz znamy”[3]

Popularność języka C wynika z kilku faktów: · ma niewielkie wymagania i jest wydajny

 

·        kod C może być bez trudu kompilowany na różnych systemach ope­racyjnych

·        można się go szybko i łatwo nauczyć

 

Naukowcy Bell Labs byli świadomi tylko pierwszego z tych faktów, gdy podejmowali decyzję o przepisaniu kodu systemu w C. Wspólnie z Ritchiem, Thompson przeniósł UNIX-a na komputer DEC PDP-11/20. Od tamtego czasu rozpoczął się właściwy rozwój systemu. W latach 1970-1973 w języku C został przepisany cały kod. Pozwoliło to przy oka­zji na wyeliminowanie wielu błędów istniejących w oryginalnej wersji systemu.

Lata kształtowania się Internetu: 1972-1975

 

W latach 1972-1975 poczyniono postępy w innych dziedzinach. Ich analiza po­zwala zrozumieć, dlaczego to właśnie UNIX został wybrany jako system operacyjny Internetu.

W roku 1972 ARPANET składał się z około 40 hostów (tak potocznie nazywa się komputery, na których oparty jest Internet). Dzisiaj niejedna sieć lokalna ma ich więcej. Właśnie w tym roku Ray Tomlinson, członek Bolt, Beranek, and Newman, inc. zrewolucjonizował komunikację za pośrednictwem sieci. Stworzył pocztę elektroniczną.

Prawdopodobnie był to najważniejszy wynalazek dziesięciolecia. Poczta elektroniczna (e-mail) pozwoliła na prostą, wydają i niedrogą komunika­cję - co pozwoliło na wymianę idei i międzystanową współpracę osób pracujących nad różnymi technologiami. Można było określić wielu od­biorców jednej wiadomości, prace nad technologiami zaczęły posuwać się szybciej. Od tej pory już na zawsze sieć zakwitła życiem.

Kolejny kluczowy wynalazek powstał w roku 1974, gdy Vinton Cerf i Robert Khan opracowali protokół sterowania transmisją w sieci TCP (Transmission Control Protocol). Protokół wprowadzał nowy sposób przesyłu danych: wysyłane one były bit po bicie i dopiero na drugim końcu łączone w całość.

TCP jest głównym protokołem używanym w dzisiejszym Internecie. Został opracowany we wczesnych latach siedemdziesiątych i zintegrowany z dystry­bucją (dystrybucjami nazywamy różne wersje systemu UNIX) BSD ( Berkeley Software Distribution), stając się standardem internetowym. Dzisiaj niemal wszystkie komputery połączone z Internetem obsługują którąś z odmian TCP.[4]W roku 1975 ARPANET był już w pełni funkcjonalną siecią. Najważniej­sze zostało zrobione - rząd amerykański mógł zacząć zbierać plony swo­ich inwestycji. Kontrolę nad ARPANET-em przekazano organizacji zna­nej dzisiaj pod nazwą Biura Systemów Informacji Obronnej (Defense Information Systems Agency).

Pozostało tylko zdecydować się na oficjalny system operacyjny dla ARPANET-u. Postawiono na UNIX. Powody tej decyzji były dość złożo­ne; poniżej postaramy się je przybliżyć:

 

 

 

 

UNIX osiąga pełnoletność

 

W latach 1974-1980, kod źródłowy systemu UNIX został rozesłany do uniwersytetów w całym kraju. To zaważyło na jego sukcesie. Środowiska akademickie i naukowe doceniły system i zaczął on być używany do ćwiczeń naukowych. To miało z kolei wpłynęło na jego zastosowanie w przedsiębiorstwach:„Uczelnie wychowywały ogromną liczbę doświadczonych użyt­kowników komputerowych i programistów systemowych, którzy wy chodząc z uczelni już znali system UNIX. Można więc było sobie „kupić” gotowych do pracy informatyków bez konieczności szko­lenia ich w jakimś nieznanym systemie”.[5]

Dzięki temu, że źródła UNIX-a udostępniano darmowo - system rozwi­jany był przez studentów, co wkrótce doprowadziło do przeniesienia go na inne platformy i jeszcze powiększyło bazę użytkowników.

Ponieważ system operacyjny UNIX jest znany i szeroko dostępny, znanych jest także więcej błędów w strukturze zabezpieczeń. Stanowi to wyraźny kontrast z systemami firmowymi (opracowanymi na konkretną platformę lub do konkretnego zastosowania). Producenci takiego oprogramowania ujawniają kod źródłowy swoich produktów tylko wybranym osobom, co pozostawia wiele wątpliwości co do bezpieczeństwa takich systemów.

UNIX zyskiwał coraz większą popularność, a w 1978 roku firma AT&T postanowiła skomercjalizować system i zażądać opłat licencyjnych za swoją wersję systemu. Spowodowało to różne reakcje środowisk infor­matycznych. Najbardziej zaskakującym posunięciem, mającym na celu zachowanie twórczej niezależności było stworzenie przez Uniwersytet Kalifornijski w Berkeley własnej wersji UNIX-a. Dystrybucja Berkeley

okazała się bardzo popularna i wyznaczyła kierunki rozwoju stając się podstawą wielu dzisiejszych dystrybucji komercyjnych.

Tak więc wybór padł na system UNIX z kilku powodów, m.in: wytyczał kierunki rozwoju systemów operacyjnych

·        był systemem otwartym

·        każdy miał dostęp do kodu źródłowego

·        miał wbudowane potężne narzędzia sieciowe

 

UNIX rozwija się wraz z Internetem

 

Kiedy już wybrano UNIX-a na system operacyjny sieci globalnej, kolejne etapy rozwoju systemu odbijały się na konstrukcji Internetu i od 1975 UNIX i Internet ewoluowały wspólnie. Skorzystało na tym wielu produ­centów oprogramowania i sprzętu wypuszczając własne wersje UNIX-a. Najpopularniejsze z nich wymienione są  poniżej.

·         Wersja systemu UNIX Produceet

·        SunOS i Solaris Sun Microsystems HP-UX Hewlett Packard

·        AIX IBM

·        IRIX Silicon Graphics (SGI)

·        Digital UNIX Digital Equipment Corporation (DEC)

Wiele z powyższych odmian systemu UNIX przeznaczonych jest do in­stalacji na wysokowydajnych maszynach zwanych stacjami roboczymi (ang. workstations). Różnią się one od komputerów osobistych pod kil­koma względami. Przede wszystkim zbudowane są z najlepszych do­stępnych części, co czyni je dużo droższymi. Wpływ na cenę ma także fakt, iż stacji roboczych produkuje się niewiele, podczas gdy komputery osobiste wytwarzane są masowo, a firmy szukają każdego możliwego sposobu obniżenia kosztów. Dlatego też klient kupujący nową płytę główną do swojego PC ma dużo większą szansę natrafienia na produkt wadliwy. Ponadto stacje robocze są zazwyczaj bardziej zaawansowane technologicznie od komputerów domowych. Przykładowo, już w 1989 roku standardem w stacjach roboczych były: wbudowana karta dźwię­kowa, sieciowa oraz adapter SCSI (interfejs do podłączania urządzeń zewnętrznych oferujący dużą przepustowość). Obsługę ISDN dodano tuż po opracowaniu standardu tej usługi.

Jakie aplikacje można uruchomić w systemie UNIX?

 

W UNIX-ie można uruchomić wiele różnych programów. Są wśród nich wysokowydajne aplikacje do badań naukowych oraz prac nad sztuczną inteligencją, ale są też programy mniej wyspecjalizowane. Dla platformy tej zaadoptowano także znane, komercyjne programy w rodzaju Adobe Photoshop, Corel WordPerfect, czy . inne znane z platformy Windows (dla Linuxa - odmiany UNIX-a przeznaczonej dla komputerów osobi­stych - stworzono nawet pakiet bardzo przypominający Microsoft Office. Nazywa się StarOffice, jest bezpłatny dla użytkowników indywidual­nych i w wersji 5.0 zawiera edytor tekstów pozwalający na zapis w formacie edytora Word, arkusz kalkulacyjny, narzędzia graficzne, do obsługi poczty oraz tworzenia stron WWW).

UNIX to po prostu taka platforma, jak każda inna. Działające na nim systemy okienkowe dostarczane są zazwyczaj z całymi pakietami pro­gramów, zawierającymi m.in.: menedżery plików, edytory tekstowe, programy pocztowe, zegary, kalendarze, kalkulatory itd. Dostępny jest także bogaty wybór programów multimedialnych, jak: odgrywarki pli­ków filmowych, odtwarzacze płyt CD audio, programy do cyfrowej reje­stracji dźwięków i obrazów, aplikacje do korzystania z poczty multime­dialnej i wiele innych przydatnych i nieprzydatnych drobiazgów. W za­sad...

Zgłoś jeśli naruszono regulamin