HOME


 
Jeżeli ładowanie trwa zbyt długo (powyżej 2 min.), to zapraszam o innej porze.
Zobacz statystyki odwiedzin by ustalić porę najmniejszego obciążenia serwera.

Spakowana witryna o Linuksie w formacie RAR
 
DO_STR_GLOWNEJ_WYSZUKIWARKI
 
 
DHCPD

 

Pobierz spakowaną witrynę gorzow-wlkp.pl/linux

Jeżeli pragniesz poznać Linuksa Mandrake (obecnie Mandriva), to... dobrze trafiłeś. Witryna została zauważona przez twórców magazynu KOMPUTER ŚWIAT 5/2004(141) str. 46 poprzez umieszczenie linku oraz magazynu CHIP 4/2004 (str.114) poprzez umieszczenie artykułu opisującego ten serwis internetowy. Jak na hobbystyczną stronę o Linuksie to miłe ;) Acha... na stronie mandrakelinux.pl/informacje podano też link z opisem cytuję "duży zbiór praktycznych informacji o Mandrake" (mam ją w swoim archiwum - klub.chip.pl/twarogal).

Zapraszam do zadawania pytań na FORUM oraz mailem. Chętnie udzielę (bezpłatnie) odpowiedzi. Oficjalne ceny za jedną poradę na stronie MandrakeSoftPL (mam ją w moim archiwum z dnia 2.05.2004) wahają się od 20 do 350 zł.

 


 

Zanim zaczniesz czytać o dhcp powinieneś zadbać, by Twój Linux posiadał skonfigurowane i aktywne interfejsy sieciowe. W Linuksie Mandrake/Mandriva temat jest załatwiony już podczas instalacji, gdy karta sieciowa (eth0) oraz ewentualnie modem (ppp0) zostaną automatycznie wykryte i wstępnie skonfigurowane. Kluczowe jest zlecenie ifconfig oraz plik /etc/sysconfig/network-scripts/ifcfg-eth0. Pamiętaj także o firewallu, który odpowiada za masq. W Mandrake/Mandriva poprawki można wykonać zleceniami: drakgw, drakconnet ewentualnie drakfirewall.

Warto też zabezpieczyć klienty w domowej sieci przez związanie IP oraz MAC routera z pozycji klieta. Jeżeli router ma następujące parametry: IP 192.168.0.1, MAC 10:32:10:23:13:24, to na każdym kliencie w domowej sieci należy wpisać:
arp -s 192.168.0.1 10:32:10:23:13:24
Komenda działa pod Linuksem oraz WindowsXP.
Nie będę powyższego rozwijał, gdyż tutaj zajmuję się dhcp.

 

 

Serwer DHCP, z angielskiego Dynamic Host Configuration Protocol (czyli protokół do dynamicznego konfigurowania hostów - klientów w sieci), jest narzędziem które pozwala zapanować nad komputerami w domowej sieci. Serwer dhcp narzuca klientom adres IP i umożliwia w ten sposób pracę w sieci na protokole TCP/IP. Adres IP może być nadawany "na sztywno" lub może być zmieniany po każdym restarcie klienta. Mamy wówczas do czynienia z adresem stałym (przydzielonym przez dhcpd) lub dynamicznym. Jak za pomocą tego samego demona dhcpd narzucić klientom stały lub dynamiczny adres IP, pokażę na przykładzie linuksowego pliku konfiguracyjnego /etc/dhcpd.conf . Pewną dodatkową opcją jest powiązanie adresów IP z adresami kart sieciowych i wymuszenie w ten sposób porządku w sieci. Jest to jednak zadanie troszeczkę trudniejsze i nie polecam tego na początek nauki ;)

Większość dystrybucji Linuksa umieszcza instalkę demona dhcpd na płytkach instalacyjnych. Stosuje się różne nazwy i różne ilości paczek do instalowania. Wynika to z indywidualnego podejścia informatyków opiekujących się poszczególnymi dystrybucjami Linuksa. Jedni załączają wyłącznie instalkę oryginalną (ze strony domowej projektu dhcp), inni (np. w Mandrake/Mandriva) zaprojektowali narzędzie drakgw, które instaluje dhcp łącznie z dodatkowymi usługami: udostępnianiem Internetu dla domowej sieci (czyli konfiguracją iptables za pomocą skryptów shorewall), instalacją serwera DNS. Więcej na ten temat znajdziesz na sąsiednich stronach: Mandrake 8.1, 9.0, Mandrake 9.1, Mandrake 9.2, Mandrake 10.0. Serwerowy komplet paczek instalacyjnych w Mandrake to: dhcp-server, dhcp-common, iptables, bind, bind-utils, caching-nameserver, choć oczywiście można zainstalować ręcznie tylko pakiety w kolorze brązowym i dhcp też będzie działać (iptables instalowane jest bez pytania o zgodę).

Na komputerze-kliencie w lokalnej sieci zainstaluj (pod Mandrakiem) dwa pliki dhcp-common oraz dhcp-client (każdy plik na innej płytce CD).

Wszystkie instalki demona dhcpd mają swój pierwowzór w pliku, który można pobrać ze strony http://www.isc.org/products/DHCP/ (w czerwcu 2003 był to plik dhcp-3.0pl2.tar.gz). Jeżeli jesteś nowicjuszem linuksowym, to pobierz plik w formacie *rpm. Instaluje się go bardzo prosto (pod rootem) zleceniem: rpm -i nazwapaczki.rpm .

Jeżeli po instalacji (na serwerze) pakietu dhcpd nie pojawi się plik /etc/dhcpd.conf , to utwórz go pod rootem za pomocą zlecenia touch /etc/dhcpd.conf  i nadaj mu prawa root.root 644 zleceniami: chown root.root /etc/dhcpd.conf oraz chmod 644 /etc/dhcpd.conf .


 

Jeżeli masz wpięte dwie karty sieciowe do dwóch osobnych domowych podsieci, to wystarczy w tym samym pliku dhcpd.conf powielić pod spodem wpis pierwszej podsieci i pozmieniać takie dane jak: subnet, option-routers, range dynamic-bootp.



 
Plik /etc/dhcpd.conf odpowiada za przydzielanie adresów IP w domowej sieci przez demona dhcpd. Na początku proponuję jak najprostszą konstrukcję, czyli sieć domową 192.168.0.0/255.255.255.0 . Więcej o teori tworzenia sieci tutaj. W takiej sieci plik będzie wyglądał następująco. Zwróć uwagę na średniki [;], nawiasy klamrowe {} oraz znak hasz [#].

ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
     # default gateway
     option routers 192.168.0.1;
     option subnet-mask 255.255.255.0;
    
     option domain-name "pd132.wroclaw.sdi.tpnet.pl";
     option domain-name-servers 194.204.159.1;
    
     range dynamic-bootp 192.168.0.2 192.168.0.254;
     default-lease-time 21600;
     max-lease-time 43200;
    }

Co można odczytać z powyższego przykładu? Sieć domowa o numerze IP 192.168.0.0, pracująca na masce 255.255.255.0. Posiada 256 sztuk nr IP, z tego do użycia na stacje 253 sztuk (256 minus maska sieci, minus boroadcast, minus serwer). Czyli możemy wpiąć maksymalnie 253 komputerów klienckich. Zakres numerów do użycia przez komputery-klienty w domowej sieci jest określony poprzez range dynamic-bootp (w naszym przypadku pokrywa się z maksymalną ilością dla sieci o masce 255.255.255.0). Serwer ma wewnętrzny adres IP 192.168.0.1, a zewnętrzny 217.96.171.101 (w naszym pliku konfiguracyjnym nie ma tego wpisu, gdyż IP zewnętrzne jest reprezentowane przez adres domenowy pd132.wroclaw.sdi.tpnet.pl) . Nie ma powiązania nr IP z MAC. Jeżeli tego nie rozumiesz, to MUSISZ przejść przez wspomniany powyżej, przyspieszony kurs teori sieci. Zauważyłeś na pewno, że z netem łączymy się za pomocą SDI, stąd DNS jest pobierany od TPSA, a domenę mamy narzuconą wg wzorca numer.miasto.sdi.tpnet.pl :)


*


Oczywiście można narzucić sieć o mniejszej liczbie numerów IP:

ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.248 {
     # default gateway
     option routers 192.168.0.1;
     option subnet-mask 255.255.255.248;
    
     option domain-name "pd132.wroclaw.sdi.tpnet.pl";
     option domain-name-servers 194.204.159.1;
    
     range dynamic-bootp 192.168.0.2 192.168.0.6;
     default-lease-time 21600;
     max-lease-time 43200;
    }

Mamy tutaj sieć opartą na 8 sztukach nr IP (z tego na klienckie komputery przeznaczymy 5 szt. nr IP). Jeżeli jesteś leniwy i nie chce Ci się przepisywać zawartości pliku dhcpd.conf (powyższy przykład), to skopiuj go sobie z mojego archiwum.

 

 

Można teraz powiązać numery IP klientów z numerami kart sieciowych MAC. Pojawiły się (w porównaniu do wersji prostszej-domyślnej) nowe wiersze definiujące numer MAC karty sieciowej przyporządkowanej klientowi. Serwer ma wewnętrzny adres IP 192.168.0.1, a zewnętrzny 217.96.171.101. Domena otrzymana od TPSA wraz z usługą SDI: pd132.wroclaw.sdi.tpnet.pl . Przypominam zasady: planujemy sieć o adresie 192.168.0.0/255.255.255.248, zbudowaną z 8 nr IP (czyli przewidującą obsługę 5 szt. komputerów-klientów). Przy masce 255.255.255.248 broadcast-address wyniesie 192.168.0.7 , natomiast przy masce 255.255.255.0 broadcast-address wyniesie 192.168.0.255. Komentarz (wiersz ze znaczkiem # na początku) możesz go usunąć ze swojego pliku.

ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.248 {
  #default gateway
  option routers 192.168.0.1;
  option subnet-mask 255.255.255.248;
 
  option domain-name "pd132.wroclaw.sdi.tpnet.pl";
  option domain-name-servers 194.204.159.1;
  #option nis-domain "domain.org";
  option broadcast-address 192.168.0.7;

       #Przy masce 255.255.255.248 mamy mozliwosc uzyskania
       #5 szt. klientow, z tego 2 szt. juz zagospodarowalismy
       #nadajac im (ponizej) stale nr IP (maska 248 daje
       #8 szt. nr IP, z tego 2 IP są krańcowe, jeden IP zajmuje
       #serwer, 5 szt. IP zostaje dla klientow).
       #Zbedna nadwyzke 3 szt. IP możemy latwo zablokowac
       #zmieniajac pierwotny wiersz range o takim wygladzie:
       #range dynamic-bootp 192.168.0.2 192.168.0.6;
       #na taki:
       #range dynamic-bootp 192.168.0.2 192.168.0.3;
       #co zrówna numery nadane statycznie z range.
       #Jak rozpisac siec, maski, broadcast opisalem tutaj
       range dynamic-bootp 192.168.0.2 192.168.0.3;
  default-lease-time 53200;
  max-lease-time 86500;
 
 
  # we want the nameserver to appear at a fixed address
       # czyli definiujemy komputer ze stalym IP
       # powiazanym z nr MAC karty sieciowej
  host kuba {
       next-server kuba.pd132.wroclaw.sdi.tpnet.pl;
       hardware ethernet 02:05:5E:A3:AD:C8;
       fixed-address 192.168.0.2;
       #option domain-name-servers 192.168.0.1;
       #option routers 192.168.0.1;
       #option broadcast-address 192.168.0.248;
  }
  host koza {
       next-server koza.pd132.wroclaw.sdi.tpnet.pl;
       hardware ethernet 2A:04:52:A3:AD:C3;
       fixed-address 192.168.0.3;
       #option domain-name-servers 192.168.0.1;
       #option routers 192.168.0.1;
       #option broadcast-address 192.168.0.248;
  }
host rezerwa_1 {
#       next-server rezerwa_1.pd132.wroclaw.sdi.tpnet.pl;
#       hardware ethernet 00:00:00:00:00:01;
#       fixed-address 192.168.0.4;
#  }
host rezerwa_2 {
#       next-server rezerwa_2.pd132.wroclaw.sdi.tpnet.pl;
#       hardware ethernet 00:00:00:00:00:02;
#       fixed-address 192.168.0.5;
#  }
host rezerwa_3 {
#       next-server rezerwa_3.pd132.wroclaw.sdi.tpnet.pl;
#       hardware ethernet 00:00:00:00:00:03;
#       fixed-address 192.168.0.6;
#  }
}

Zapis host_rezerwa jest przydatny, gdyż w przypadku dokupienia komputerów i powiększenia sieci domowej łatwo i szybko nadasz nowemu klientowi adres IP (oczywiście poprawisz także wówczas wpis range dynamic-bootp). Niestety, powyższe związanie nr IP z MAC jest mało skuteczne i należy czekać na nowszą wersję demona dhcpd, który nauczy się RYGORYSTYCZNIE łączyć IP z MAC (czyli w przypadku niezgodności danych będzie wywalał komputer z domowej sieci).  Na dzień dzisiejszy problem powiązania IP z MAC załatwia dodatkowy skrypt. Więcej informacji znajdziesz tutaj (opisałem konfigurację na przykładzie Mandrake 8.1 lub 9.0). Ten sam problem w Mandrake 9.1 opisałem tutaj.

 









Połączenie IP z MAC kart sieciowych klientów.

 

Rozwiązanie to jest dziełem autora nieistniejącej już strony http://przedszkole.tcz.wroclaw.pl/plawinski/?dhcp z moimi niewielkimi zmianami (związanymi z indywidualnym podejściem do dystrybucji Mandrake/Mandriva). Polega ono na utworzeniu skryptu ip_arp porównujacego dane (IP oraz MAC) z plików /etc/hosts.arp oraz /etc/hosts . Osobnym problemem jest takie skonfigurowanie pliku /etc/dhcpd.conf by nadawało WYŁĄCZNIE statyczne numery IP w ilości odpowiadającej ilości klientów w sieci. Czemu? Gdyż jakiś cwaniaczek może zauważyć, że wywala go z sieci gdy przejmuje nr IP sąsiada, ale... nie wywala go gdy NIC nie wpisze w polu adresu IP swojego kompa i... pobierze IP z puli adresów nadawanych dynamicznie. Dodatkowym zabezpieczeniem jest takie ustawienie firewalla, by udostępnianie Internetu było możliwe wyłącznie dla konkretnych numerów IP


Przyjmuję, że po zainstalowaniu Linuksa i serwera dhcpd nadawanie adresów dla Twojej domowej sieci działa. Co prawda na razie w wersji najbardziej prymitywnej, ale działa. Więcej informacji o instalowaniu i wstępnym konfigurowaniu znajdziesz tutaj (opisałem konfigurację na przykładzie Mandrake 8.1 lub 9.0). Ten sam problem w Mandrake 9.1 opisałem tutaj.

Wykonaj:
 

  • Uzupełnij wpisy w pliku /etc/hosts (o prawach root.root rw-r--r--)

    Stanąłeś przed dylematem: jak nazwać komputery, które podłączysz do swojej sieci. Oczywiście musisz też wiedzieć ile ich będzie. Przyjałem 2 klientów (o nazwie kuba, koza), ze stałym adresem IP zdefiniowanym tutaj czyli w pliku /etc/hosts (oraz w pliku /etc/dhcpd.conf, ale o tym za chwilę). Dopisz więc w pliku /etc/hosts nowe wiersze wg wzoru: (adres IP po kolei od 192.168.0.2, .0.3 itd., kilka spacji, domena, kilka spacji, nazwa hosta).

    127.0.0.1   localhost.localdomain   localhost
    192.168.0.1   misiek.pd132.wroclaw.sdi.tpnet.pl   misiek
    192.168.0.2   kuba.pd132.wroclaw.sdi.tpnet.pl   kuba
    192.168.0.3   koza.pd132.wroclaw.sdi.tpnet.pl   koza

     

  • Masz już listę komputerów-klientów w pliku /etc/hosts . Czas utworzyć listę komputerów-klientów z adresami IP oraz MAC. Wyniki umieść w pliku /etc/hosts.arp o wyglądzie zbliżonym do poniższego:

    192.168.0.2    02:05:5E:A3:AD:C8
    192.168.0.3    2A:04:52:A3:AD:C3

    Kilka słów wyjaśnień: musisz w pierwszej kolejności utworzyć pusty (na razie) plik hosts.arp w katalogu /etc poleceniem touch /etc/hosts.arp . Następnie wyedytuj go np. poleceniem mcedit hosts.arp i doprowadź do podobnej postaci: adres IP, kilka spacji, adres MAC.
    Jak poznać MAC kart sieciowych? W Windows komendą winipcfg , w Linuksie ifconfig lub arp co zresztą da nam od razu listę wszystkich aktywnych aktualnie kart sieciowych (rozumiesz teraz, dlaczego przed rozpoczęciem prac należało uruchomić SDI oraz komputery-klienty?). Dla pewności sprawdź rzetelność danych poleceniem ping 192.168.0.2 lub .0.3 itd. (jest to ważne, gdyz czasami z niezrozumiałych powodów klienty przyjmują samodzielnie inne niż należy numery IP, ale to temat na osobną opowieść).
    Jak zauważyłeś serwer ma adres IP 192.168.0.1 i nie zajmujemy się (w tym pliku) jego konfiguracją. W /etc/hosts.arp podajemy jedynie dane klientów (od IP 192.168.0.2, .0.3 itd.).

    Końcowe prawa pliku (w Mandrake) /etc/hosts.arp to: root.daemon rw-r--r--

     

  • Uzupełnij dane w pliku /etc/dhcpd.conf

    Pojawiły się (w porównaniu do wersji domyślnej) nowe wiersze definiujące nr IP i nazwę hosta oraz numer MAC karty sieciowej przyporządkowanej klientowi. Serwer ma wewnętrzny adres IP 192.168.0.1, a zewnętrzny 217.96.171.101. Domena otrzymana od TPSA wraz z usługą SDI: pd132.wroclaw.sdi.tpnet.pl (w przypadku SDI - DNS wpisz 194.204.159.1). Przypominam zasady: planujemy sieć o adresie 192.168.0.0/255.255.255.248, zbudowaną z 8 nr IP (czyli przewidującą obsługę 5 szt. komputerów-klientów). Przy masce 255.255.255.248 broadcast-address wyniesie 192.168.0.7 , natomiast przy masce 255.255.255.0 broadcast-address wyniesie 192.168.0.255 (teoria tworzenia sieci jest opisana tutaj). Zwróć uwagę, że podczas instalacji i pierwszej automatycznej konfiguracji sieci (i udostępnienia Internetu dla domowej sieci) maska wynosiła 255.255.255.0, czyli przewidywała 253 szt. klientów. Uwaga: na dobrą sprawę możesz wpisać 255.255.255.0 , gdyż maskę 255.255.255.248 wprowadziłem w celach szkoleniowych, by pokazać jak konfigurować mniejszą sieć.

    Zwróć uwagę na nawiasy klamrowe {}, średniki ; na końcu wiersza, # znak hasz czyli komentarz (który możesz usunąć w swoim pliku). W wierszu hardware ethernet 02:05:5E:A3:AD:C8; podałem przykładowy(!) numer MAC.

     
    Ostateczna propozycja pliku /etc/dhcpd.conf

    ddns-update-style none;
    subnet 192.168.0.0 netmask 255.255.255.248 {
      #default gateway
      option routers 192.168.0.1;
      option subnet-mask 255.255.255.248;
     
      option domain-name "pd132.wroclaw.sdi.tpnet.pl";
      option domain-name-servers 194.204.159.1;
      #option nis-domain "domain.org";
      option broadcast-address 192.168.0.7;

           #Przy masce 255.255.255.248 mamy mozliwość uzyskania
           #5 szt. klientow, z tego 2 szt. juz zagospodarowalismy
           #nadajac im (ponizej) stale nr IP (maska 248 daje
           #8 szt. nr IP, z tego 2 IP są krańcowe, jeden IP zajmuje
           #serwer, 5 szt. IP zostaje dla klientow).
           #Zbedna nadwyzke 3 szt. IP możemy latwo zablokowac
           #zmieniajac pierwotny wiersz range o takim wygladzie:
           #range dynamic-bootp 192.168.0.2 192.168.0.6;
           #na taki:
           #range dynamic-bootp 192.168.0.2 192.168.0.3;
           #co zrówna numery nadane statycznie z range.
           #Jak rozpisac siec, maski, broadcast opisalem tutaj
           range dynamic-bootp 192.168.0.2 192.168.0.3;
      default-lease-time 53200;
      max-lease-time 86500;
     
     
      # we want the nameserver to appear at a fixed address
           # czyli definiujemy komputer ze stalym IP
           # powiazanym z nr MAC karty sieciowej
      host kuba {
           next-server kuba.pd132.wroclaw.sdi.tpnet.pl;
           hardware ethernet 02:05:5E:A3:AD:C8;
           fixed-address 192.168.0.2;
           #option domain-name-servers 192.168.0.1;
           #option routers 192.168.0.1;
           #option broadcast-address 192.168.0.248;
      }
      host koza {
           next-server koza.pd132.wroclaw.sdi.tpnet.pl;
           hardware ethernet 2A:04:52:A3:AD:C3;
           fixed-address 192.168.0.3;
           #option domain-name-servers 192.168.0.1;
           #option routers 192.168.0.1;
           #option broadcast-address 192.168.0.248;
      }
    host rezerwa_1 {
    #       next-server rezerwa_1.pd132.wroclaw.sdi.tpnet.pl;
    #       hardware ethernet 00:00:00:00:00:01;
    #       fixed-address 192.168.0.4;
    #  }
    host rezerwa_2 {
    #       next-server rezerwa_2.pd132.wroclaw.sdi.tpnet.pl;
    #       hardware ethernet 00:00:00:00:00:02;
    #       fixed-address 192.168.0.5;
      }
    host rezerwa_3 {
    #       next-server rezerwa_3.pd132.wroclaw.sdi.tpnet.pl;
    #       hardware ethernet 00:00:00:00:00:03;
    #       fixed-address 192.168.0.6;
      }
    }

     

  • Sprawdź zawartość plików /etc/hosts.denny i /etc/hosts.allow . Pierwszy definiuje komputery z zabronionym dostępem, drugi dopuszczonych. Więcej na ten temat tutaj. Uwaga: ponieważ spotkałem się z niewiedzą u internautów informuję, że pliki te NIE BLOKUJĄ PRZYDZIELANIA adresów IP dla klientów z wewnętrznej sieci poprzez dhcpd. Inaczej mówiąc - nie wywalisz gościa z domowej sieci, jeżeli zablokujesz go na linuksowym serwerze w pliku /etc/hosts.deny

     
    Restartuj komputer. Jeżeli sieć (nadal) chodzi, to znaczy że ręczne poprawki wykonałeś prawidłowo.



  • Skopiuj plik ip_arp i umieć go w katalogu /sbin/ip_arp
    Oryginalny plik ip_arp (niestety strona www jest już nieaktualna) różni się jedynie w budowie skryptu: adresowaniu do pliku arp (zmiany spowodowane zostały koniecznością dostosowania do dystrybucji Mandrake/Mandriva).

    Nadaj plikowi prawa: root.root rwxr-----

     

  • Skopiuj plik rc.arp i umieść go w katalogu /etc/rc.d/rc.arp
    Możesz też przepisać jego zawartość (zwróć uwagę na wszystko, nawet na spacje):

    if [ -x /sbin/ip_arp ]; then
    echo "Starting IP_MAC... "
    /sbin/ip_arp start
    fi

    Nadaj plikowi rc.arp prawo root.root rwxr-----

     

  • Wyedytuj plik /etc/rc.d/rc.local i dopisz (na samym końcu) polecenie uruchomienia pliku /etc/rc.d/rc.arp podczas startu systemu. Poniżej przedstawiam przykładowy wygląd poczatkowej części pliku /etc/rc.d/rc.local . Zauważ, że już tu byłeś i umieściłeś polecenie startu modemu SDI-HIS...

    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff (...)
    # (...)
    # (...)
    if [ -x /etc/rc.d/rc.arp ]; then
    /etc/rc.d/rc.arp
    fi
    if [ -x /etc/rc.d/rc.his ]; then
    /etc/rc.d/rc.his
    fi

    ... lub jeżeli nie zadziała, bo np. jesteś nieuważny i źle wpisałeś tekst zaznaczony na niebiesko, to dopisz na końcu prostszą wersję:
    /etc/rc.d/rc.arp
     
  • Restartuj komputer.

  • Ustaw komputery-klienty w wersji AUTOMATYCZNIE POBIERZ ADRES IP.

 

*

 

Pamiętaj, że aby skrypt łączący MAC oraz IP zadziałał pewnie i bez niespodzianek, należy firewall tak ustawić, by masq i udostępnianie netu działało tylko wobec ściśle wskazanych nr IP wewnętrznej (domowej) sieci. W Linuksach opartych na Kernelu 2.2.x firewalla konfigurujemy ipchains (patrz przykład_1 oraz przykład_2 dla Mandrake 8.1). W Linuksach pracujących na Kernelu 2.4.x oraz 2.6.x mamy iptables. W Mandrake od 9.x oraz Mandriva iptables nadzoruje narzędzie shorewall - zapraszam tutaj (zwróć uwagę na plik masq).

Jak "zmienić" MAC karty sieciowej opisałem na sąsiedniej stronie.

 


 

 
Po wykonaniu modyfikacji pliku /etc/dhcpd.conf musisz restartować demona dhcpd zleceniem /etc/rc.d/init.d/dhcpd restart (lub start , stop) . Ewentualnie możesz restartować komputer.
 

 
Czasami serwery DHCP pod Linuksem nie działaja poprawnie z powodu braku tak zwanego routingu rozgłoszeniowego. W razie problemów zapraszam tutaj.

 

 

Strona domowa projektu: http://www.isc.org/products/DHCP/
Tłumaczenia ważnych i przydatnych dokumentów.

 

 

Jak powiązać IP z MAC w przypadku, gdy nadajemy IP na stałe, bez DHCPD? Po spisaniu wszystkich adresów MAC kart sieciowych w naszej sieci, należy wykonać plik /etc/hosts.arp (o prawach root.root rw- --- ---) zawierający wpisy:

10:2A:12:A4:21:AC 192.168.0.2
09:24:12:C4:21:0A 192.168.0.3
08:AC:12:0A:21:BC 192.168.0.4

01:01:01:01:01:01 192.168.0.5
01:01:01:01:01:01 192.168.0.6
01:01:01:01:01:01 192.168.0.7


Jeden wiersz odpowiada jednemu hostowi. Przyjmuję, że brama ma adres 192.168.0.1, a w sieci są trzy hosty o ardesach 192.168.0.2, 3, 4. Z powodów bezpieczeństwa dobrze będzie dopisać do pliku /etc/hosts.arp kolejne adresy IP czyli 192.168.0.5, 6, 7, ...255 z fikcyjnym MAC. Następnie wydajemy polecenie:
arp -f /etc/hosts.arp
Polecam dopisać powyższe zlecenie na końcu pliku /etc/rc.d/rc.local.

 

 

Otrzymałem e-mailem od Internauty MarasK kilka ważnych uwag. Aby dokładnie oddać treść, zdecydowałem się skopiować maila. W razie problemów z siecią i dhcpd proponuję wziąć poniższy tekst pod staranną uwagę.

Zamotałeś niepotrzebnie opis. Skoro już w tekście używasz komendy "arp" to po co instalować/kopiować kolejny programik ip_arp? Wystarczy utworzyć plik /etc/ethers w formacie takim jak /etc/hosts.arp. Po dokonaniu tego wystarczy zlecenie:
apr -f
i mamy blokowanie podmiany IP.

Dalej piszesz o konieczności blokowania maskaradą IP spoza zakresu. W /etc/ethers wystarczy wypełnić całą pulę (dla maski 255.255.255.0 będzie to do 0.254) schematem:
....
192.168.0.128 0
192.168.0.129 0
....
192.168.0.254 0
Oczywiście hosty które mają mieć dostęp do serwera muszą mieć ustawiony poprawny MAC.

Do tekstu wkradł się mały (?) błąd. Nie wiem jak było w dawniejszych wersjach, lecz obecnie NIE WOLNO przydzielać range w zakresie statycznych IP. Powoduje to problemy w działaniu sieci. Np gdy mamy hosty 192.168.0.2 i 192.168.0.3 to range dajemy od .0.4 do konca puli wynikającej z maski (lub jeśli nie chcemy to ograniczamy).

 

 

 
twarogal@wp.pl

Uwaga: z powodu namnożenia się różnych złodziejskich witryn www, które kopiują moje strony i umieszczają je u siebie wraz z komercyjnymi reklamami (na których zarabiają) informuję, że wszelkie prawa są zastrzeżone.

Uwaga. Aby uniknąć zasysania całej witryny gorzow-wlkp.pl/linux za pomocą programów typu TeleportPro, WebCopier itd. informuję, że udostępniłem spakowaną wersję (w formacie RAR).

 
 

 

 

Witryna była dostępna pod adresami: strony.wp.pl/wp/twarogal , strony.wp.pl/wp/linuxtwarka , twarogal.republika.pl , klub.chip.pl/twarogal oraz gorzow-wlkp.net (w latach 2003/04).

 

 

gorzow-wlkp.pl

Informacje o odwiedzających są rejestrowane i publicznie udostępniane na pod adresem: http://gorzow-wlkp.pl/licznik/