W związku z tym musisz przypisać adres IP dla sieci. Jeżeli masz kilka sieci fizycznych, musisz przypisać im różne numery sieci albo użyć podsieci i podzielić posiadany zakres adresów IP na kilka podsieci. Podsieci zostaną omówione w najbliższym podrozdziale. Wybór numeru IP sieci w dużym stopniu zależy od tego, czy w niedalekiej przyszłości zamierzasz podłączyć się do Internetu. Jeżeli tak, powinieneś uzyskać oficjalny adres IP już teraz. Poproś o pomoc swojego dostawcę usług internetowych. Jeżeli chcesz uzyskać numer sieci po prostu na wypadek, gdybyś kiedyś podłączył się do Internetu, poproś o formularz prośby o adres sieci, pisząc na adres hostmaster@internic.net lub zgłoś się do centrum informacji sieciowej w twoim kraju, o ile takie istnieje. Jeżeli twoja sieć nie jest podłączona do Internetu i nie nosisz się z takim zamiarem, możesz wybrać dowolny dopuszczalny adres sieci. Wystarczy upewnić się, że żadne pakiety z twojej sieci wewnętrznej nie przedostaną się do prawdziwego Internetu. Aby zagwarantować, że nic się nie stanie, nawet jeżeli pakiety się przedostaną, powinieneś użyć jednego z numerów sieci zarezerwowanych dla sieci prywatnych. Organizacja zajmująca się przydzielaniem numerów w Internecie (Internet Assigned Numbers Authority - IANA) wyznaczyła kilka adresów sieci z klasy A, B i C, których możesz używać bez rejestrowania. Adresy te są ważne tylko w twojej sieci prywatnej i nie są rutowane pomiędzy prawdziwymi ośrodkami w Internecie. Są one zdefiniowane w RFC 1597. My zamieściliśmy je w tabeli 2-1 w rozdziale 2, Wybrane problemy sieci TCP/IP. Zauważ, że druga i trzecia klasa zawierają odpowiednio 16 i 256 sieci. Wybranie swojego adresu w jednej z tych sieci sprawdza się nie tylko w przypadku sieci zupełnie nie podłączonych do Internetu. Będąc w takiej sieci, możesz zaimplementować nieco bardziej ograniczony dostęp za pomocą jednego hosta jako gatewaya. Dla twojej sieci lokalnej gateway jest dostępny pod swoim wewnętrznym adresem IP, natomiast dla świata zewnętrznego - pod oficjalnie zarejestrowanym adresem (nadanym ci przez dostawcę). Powrócimy do tego rozwiązania przy omawianiu funkcji maskowania (ang. masquarading) w rozdziale 11, Maskowanie IP i translacja adresów sieciowych. Na potrzeby naszych rozważań zakładamy, że administrator przykładowej sieci browarów używa numeru sieci z klasy B, powiedzmy 172.16.0.0. Oczywiście numer z klasy C w zupełności by wystarczył zarówno dla sieci browarów, jak i winiarni. Klasy B używamy tu dla uproszczenia. Dzięki temu przykłady podziału na podsieci pokazane w następnym podrozdziale będą bardziej przekonujące. Tworzenie podsieci Aby obsłużyć kilka sieci Ethernet (lub innych, dla których dostępny jest sterownik), musisz podzielić swoją sieć na podsieci. Zauważ, że podział taki jest potrzebny tylko wtedy, gdy masz więcej niż jedną sieć rozgłoszeniową - łącza punkt-punkt się nie liczą. Na przykład gdybyś miał jedną sieć Ethernet i przynajmniej jedno łącze SLIP do świata zewnętrznego, nie musiałbyś dzielić swojej sieci na podsieci. Wyjaśniamy to bardziej szczegółowo w rozdziale 7, IP łącza szeregowego. Aby obsłużyć dwie sieci Ethernet, administrator sieci browaru zdecydował się przeznaczyć w adresie 8 bitów części hosta na dodatkowe bity podsieci. Dla hosta zostaje 8 bitów, co pozwala na umieszczenie w każdej podsieci po 254 hosty. Następnie sieć numer 1 została przypisana do browaru, a sieć numer 2 do winiarni. Odpowiednie adresy sieci to 172.16.1.0 i 172.16.2.0. Maska podsieci to 255.255.255.0. Gateway pomiędzy tymi dwoma sieciami, vlager, ma w obu sieciach numer hosta 1, co daje adresy IP odpowiednio 172.16.1.1 i 172.16.2.1. W tym przykładzie używamy dla uproszczenia sieci klasy B, choć sieć klasy C byłaby bardziej realistyczna. W nowym kodzie sieciowym jądra podział na podsieci nie zależy od granic bajtowych, a więc nawet klasa C może być dzielona na kilka podsieci. Na przykład mógłbyś użyć dwóch bitów części hosta na adres sieci, co dałoby 4 możliwe podsieci, po 64 hosty w każdej*. Tworzenie plików hosts i networks Jeśli już podzieliłeś swoją sieć na podsieci, powinieneś postarać się o proste rozwiązywanie nazw hostów za pomocą pliku /etc/hosts. Jeżeli nie zamierzasz korzystać z DNS-u lub NIS-a do rozwiązywania adresów, musisz umieścić wszystkie hosty w pliku hosts. Nawet jeżeli będziesz używał DNS-u lub NIS-a w czasie normalnej pracy, w pliku /etc/hosts powinieneś mieć pewien podzbiór wszystkich nazw hostów. Musisz zapewnić rozwiązywanie nazw, nawet jeżeli nie działają żadne interfejsy sieciowe - na przykład w czasie uruchamiania systemu. Chodzi nie tylko o wygodę, ale też o możliwość zastosowania symbolicznych nazw hostów w skryptach sieciowych rc. Dzięki temu gdy zmienisz adresy IP, wystarczy jedynie skopiować uaktualniony plik hosts na wszystkie komputery i uruchomić je ponownie, zamiast edytować mnóstwo plików rc. Zwykle w pliku hosts umieszczasz wszystkie lokalne nazwy hostów i adresy oraz dodajesz adresy używanych gatewayów i serwerów NIS**. Powinieneś się upewnić, że twój resolver w czasie testowania przy inicjacji wykorzystuje jedynie informacje z pliku hosts. Przykładowe pliki dostarczane wraz z oprogramowaniem DNS czy NIS mogą dawać dziwne rezultaty. Aby wszystkie aplikacje korzystały wyłącznie z /etc/hosts przy poszukiwaniu adresu IP hosta, musisz dokonać edycji pliku /etc/host.conf. Poprzedź znakiem komentarza (#) wszystkie linie zaczynające się od słowa kluczowego order, i wstaw wiersz: order hosts Konfiguracja resolvera jest dokładnie opisana w rozdziale 6, Usługi nazewnicze i konfigurowanie resolvera. Plik hosts zawiera po jednym wpisie w wierszu, a każdy wpis składa się z adresu IP i nazwy hosta oraz opcjonalnej listy aliasów tej nazwy. Pola są oddzielone spacjami albo tabulatorami, a pole adresu musi zaczynać się w pierwszej kolumnie. Wszystko, co jest poprzedzone hashem, jest uznawane za komentarz i ignorowane.
|