Konfiguracja DHCPD
Transkrypt
Konfiguracja DHCPD
Linuxwbiznesie - linux w biznesie, linux w firmie
Konfiguracja DHCPD
Autor: Administrator
16.03.2006.
Zanim zaczniesz czytać o dhcp powinieneś zadbać, by Twój Linux posiadał skonfigurowane i aktywne
interfejsy. W Linuksie Mandrake temat jest załatwiony już podczas instalacji, gdy karta sieciowa (eth0)
oraz modem (ppp0) zostaną automatycznie wykryte i wstępnie skonfigurowane. Po instalacji poprawki
wykonasz za pomocą zlecenia drakgw, drakconnet ewentualnie drakfirewall. Więcej na temat konfiguracji
interfejsów sieciowych znajdziesz tutaj. Nie będę powyższego wyjaśniał, gdyż tutaj zajmuję się dhcp.
Sygnalizuję jedynie, że kluczowe jest zlecenie ifconfig oraz plik /etc/sysconfig/network-scripts/ifcfg-eth0.
Pamiętaj także o firewallu, który odpowiada za masq.Serwer DHCP, z angielskiego Dynamic Host
Configuration Protocol (czyli protokół do dynamicznego konfigurowania klientów), jest narzędziem które
pozwala zapanować nad klientami 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) 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 Mandraku 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.
http://www.linuxwbiznesie.pl
Kreator PDF
Utworzono 3 March, 2017, 20:03
Linuxwbiznesie - linux w biznesie, linux w firmie
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ówklientó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;
http://www.linuxwbiznesie.pl
Kreator PDF
Utworzono 3 March, 2017, 20:03
Linuxwbiznesie - linux w biznesie, linux w firmie
# 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 Mandraka 8.1 lub 9.0). Ten sam problem w Mandraku 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). 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
http://www.linuxwbiznesie.pl
Kreator PDF
Utworzono 3 March, 2017, 20:03
Linuxwbiznesie - linux w biznesie, linux w firmie
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 Mandraka 8.1 lub 9.0).
Ten sam problem w Mandraku 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
192.168.0.3
02:05:5E:A3:AD:C8
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 Mandraku) /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.
http://www.linuxwbiznesie.pl
Kreator PDF
Utworzono 3 March, 2017, 20:03
Linuxwbiznesie - linux w biznesie, linux w firmie
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;
http://www.linuxwbiznesie.pl
Kreator PDF
Utworzono 3 March, 2017, 20:03
Linuxwbiznesie - linux w biznesie, linux w firmie
#
}
}
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).
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.
http://www.linuxwbiznesie.pl
Kreator PDF
Utworzono 3 March, 2017, 20:03
Linuxwbiznesie - linux w biznesie, linux w firmie
- 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 9.x iptables nadzoruje narzędzie shorewall - zapraszam tutaj (zwróć uwagę
na plik masq).
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.źródło:
http://gorzow-wlkp.pl
http://www.linuxwbiznesie.pl
Kreator PDF
Utworzono 3 March, 2017, 20:03