Chcemy stworzyć taką sieć:
----internet--------eth0-[server]--eth1------sieć lokalna-----
|
eth0 - interfejs na świat
|
Szczegółowy opis konfiguracji interfejsów sieciowych znajdziesz tutaj.
Mamy 2 możliwości:
1.) Nasz usługodawca przydziela nam adres IP dynamicznie, czyli nasz serwer pobiera sam ustawienia adresów od dostawcy. Wtedy nasz plik /etc/network/interfaces będzie wyglądał tak:
|
2.) Mamy na umowie z naszym dostawcą internetu informacje o IP, masce sieci, network, bramie; wtedy nasz plik /etc/network/interfaces będzie wyglądal tak:
|
nasz plik /etc/resolv.conf powinien wyglądać tak:
|
Teraz restartujemy ustawienia interfejsów wydając polecenie
/etc/init.d/networking restart
|
Sprawdzamy czy wszystko działa poprawnie, czyli czy na sererze mamy internet. Piszemy np.
ping google.pl
|
Jeśli dostaniemy np. coś w tym stylu
|
tzn. że internet nam dziala na serwerku. Teraz zajmiemy się udostępnianiem połączenia internetowego dla sieci lokalnej - tworzymy plik /etc/init.d/firewall
i nadajemy mu uprawnienia do uruchamiania
chmod +x /etc/init.d/firewall
|
oraz edytujemy ww. plik wpisując do niego przykładowa zawartość
|
Zapisujemy plik.
Zamiast ip.ip.ip.ip wpisujemy IP zewnętrzne naszego serwera.
Wydajemy jeszcze polecenie, ktore spowoduje ze ww. skrypt będzie się uruchamial przy starcie systemu
update-rc.d firewall defaults 20
|
Teraz konfiguracja stanowisk w sieci
np. komputer nr 1
IP 192.168.1.2
Maska Sieci 255.255.255.0
Brama 192.168.1.1
DNS'y 194.204.159.1 194.204.152.34
np. komputer nr 2
IP 192.168.1.3
Maska Sieci 255.255.255.0
Brama 192.168.1.1
DNS'y 194.204.159.1 194.204.152.34
Ok, sprawdzamy czy wszystko nam działa poprawnie - uruchamiamy skrypt poleceniem
/etc/init.d/firewall
|
i w sumie to jest najprostsza metoda udostępniania połączenia.
Bardziej rozbudowany przykład - chcemy przydzielać użytkownikom po DHCP ustawienia sieci oraz filtorwac ich po MAC-ach
Zakladamy ze:
komp 1 ip 912.168.1.2 ma MAC 00:80:48:14:A4:68
komp 3 ip 912.168.1.3 ma MAC 00:30:4F:26:EC:D8
Do tego celu musimy mieć skonfigurowany serwer DHCP. Instalujemy
apt-get install dhcp
|
Teraz konfiguracja tego serwera, ktory ma nam przydzielac adresy na interfejsie eth1 - w pliku
/etc/default/dhcp
|
wartość
INTERFACES=""
|
zmieniamy na
INTERFACES="eth1"
|
Oto przykladowy plik /etc/dhcpd.conf dla naszej sieci
|
Uruchamiamy DHCP od nowa
/etc/init.d/dhcp restart
|
Nasz plik /etc/init.d/firewall będzie wyglądal tak
|
Może się nam zdarzyć, że np. któraś osoba nie płaci nam za internet, a wiec chemy ją odciąć od netu. Dodatkowo chemy aby pokazywał się jej po próbie wejścia na jakąś stronę gustowny komunikat. Do dzieła:
apt-get install boa
|
Edytujemy plik /etc/boa/boa.conf zmieniamy wartość (mniej więcej linijka 25)
Port 80
|
na
Port 999
|
zmieniamy wartość (mniej więcej linijka 158)
DocumentRoot /var/www
|
na
DocumentRoot /var/www/info
|
Zapisujemy zmiany w pliku i wydajemy polecenia:
mkdir /var/www/info
|
w pliku /var/www/info/index.html umieszczamy treść komunikatu
i resetujemy boa
/etc/init.d/boa restart
|
Zakladamy, że użytkownik od kompa nr 2 nie zaplacił za neta, a wiec na końcu pliku /etc/init.d/firewall dopisujemy
|
i resetujemy firewalla
/etc/init.d/firewall
|
Jeśli mamy większą ilość użytkowników w sieci to ww. czynności mogą być dość pracochłonne, więc dołączam skrypt, który pozwoli na zautomatyzowanie procesu
Rozpakowywujemy to archiwum do katalogu /root powstanie nam katalog /root/firewall, w którym mamy
add_host - skrypt dodający użytkowników do plików
ipf - w tym pliku znajdują się pierwsze reguły, które muszą być w pliku firewall
porty.list - plik zawiera ip serwera oraz porty, które chemy otworzyć na naszym serwerze
shit.list - lista użytkownikow, którzy nie płacą za neta
users.list - lista wszystkich użytkowników
Edytujemy plik add_host i nadajemy wartości zmiennym (domyślnie wpisane sa wartości jak dla tego artykułu).
Edytyjemy plik users.list i shit.list też wpisane są tam wartości przykładowe z artykułu.
Uruchamiamy plik add_host co spowoduje przeładowanie ustawień DHCP i uruchamianie udostepniania. Jednorazowo wydajemy polecenie
update-rc.d firewall defaults 20
|
Po np. dodaniu użytkownika do users.list lub shit.list uruchamiamy add_host by przeładować ustawienia.