czwartek, 13 grudnia 2012

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.



Brak komentarzy:

Prześlij komentarz