Debian jako serwer NAT

Jeżeli posiadamy gdzieś w zakamarkach stary ale działający komputer może on zacząć działać jak router. W naszym przypadku będziemy potrzebować 3 kart sieciowych. Jedna będzie odpowiedzialna na „wejście” internetu pozostałe dwie będą dostarczały internet do dwóch sieci. Dzięki czemu będziemy mogli kontrolować kto wchodzi na jakie strony, będziemy mogli wyłączać dostęp do części stron itd.
Zakładamy że na komputerze będziemy mieli zainstalowanego GNU/Debiana.

Możemy sprawdzić jakiego producenta karty posiadamy zainstalowane obecnie w systemie:

lspci | grep -i ether  

Do karty eth0, czyli tej którą będziemy dostarczać internet musi być przypisany adres, np. 192.168.1.100.

Następnie musimy skonfigurować zakres adresów dla naszych kart:


nano /etc/network/interfaces

auto eth0 # główna karta ma pobierać IP poprzez DHCP iface eth0 inet dhcp
auto eth1 # pierwsza karta dla sieci wewnątrznej     iface eth1 inet static address 10.0.1.1 netmask 255.255.255.0
auto eth2 # druga karta dla sieci wewnątrznej        iface eth2 inet static address 10.0.2.1 netmask 255.255.255.0


Następnie restartujemy nasze interfejsy sieciowe:


/etc/init.d/networking restart


W tym momencie można zakończyć, ale jest sieci eth1 oraz eth2 nie będą miały dostępu do sieci.


Dlatego też udostępnimy teraz internet dla naszych podsieci:


nano -w /etc/init.d/firewall


W nowo utworzonym pliku dodamy kilka linijek, co zabezpieczy naszą sieć:




# udostępnia dostęp do sieci naszym podsiecią

echo 1 > /proc/sys/net/ipv4/ip_forward


# usuwa stare regułki

iptables -Fiptables -Xiptables -t nat -Xiptables -t nat -F


# to na co zezwalamy

iptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPTiptables -A INPUT -i lo -j ACCEPTiptables -A FORWARD -o lo -j ACCEPT


# udostępnianie internetu dla podsieci:

iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -j MASQUERADEiptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j MASQUERADE

Przypisujemy prawa do uruchomienia skryptu:


chmod u+x /etc/init.d/firewall

Update naszych reguł:

update-rc.d firewall defaults 90

Start firewall’a:

/etc/init.d/firewall

Pozwala na sprawdzenie w jaki sposób są przesyłane pakiety:

route -n

Przekazanie pakietu z portu 800 na 22 w naszej sieci, pozawala na zalogowanie się poprzez SSH z zewnątrz:

iptables -t nat -A PREROUTING -p tcp -i eth0 –dport 800 -j DNAT –to 10.0.1.2:22
iptables -t nat -A PREROUTING -p tcp -i eth0 –dport 800 -j DNAT –to 10.0.2.2:22



Po tych zabiegach powinniśmy mieć internet w podsieciach oraz możliwość logowania się przez konsole do nich.



Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT