KORVIT Corporation

Linux reititin/palomuuri

11.11.2012 - Debian Linux 6

Tagit: how to set up linux router firewall using iptables, allow ping, create a new rule, allow incoming traffic, iptables reitittimen asennus

Ohjeessa käytetään iptables-ohjelmistoa.

Jotta palvelimesta saadaan tehtyä reititin ja palomuuri, täytyy palvelimessa olla kaksi verkkosovitinta. Ohjeessa ulkoverkko yhdistetään eth0 -verkkosovittimeen (esimerkiksi suoraan modeemista) ja lähiverkkokytkin yhdistetään eth1 -verkkosovittimeen. Esimerkkiverkkoasetukset näkyvät kuvassa 1. Ulkoverkon IP-osoite saadaan automaattisesti DHCP:llä. Muutosten jälkeen otetaan asetukset käyttöön komennolla /etc/init.d/networking restart .

Sallitaan reititys poistamalla kommentointi riviltä net.ipv4.ip_forward=1 tiedostosta /etc/sysctl.conf sekä suorittamalla komento echo 1 > /proc/sys/net/ipv4/ip_forward .

Suoritetaan seuraavat komennot. Muokkaa komentojen eth0 ja eth1 sekä osoiteavaruus sopiviksi omaan palvelimeesi.

Sallitaan loopback-liikenne: iptables -A INPUT -i lo -j ACCEPT
Tehdään osoitteenmuutos: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Sallitaan sisältäpäin luodut yhteydet: iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Sallitaan ulosmenevä liikenne: iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Sallitaan lähiverkon sisäinen liikenne: iptables -A INPUT -s 192.168.144.0/255.255.255.0 -j ACCEPT
Estetään muu liikenne (sallimiset ennen tätä komentoa): iptables -A INPUT -j DROP

Iptablesin asetukset poistuvat muistista uudelleenkäynnistyksen yhteydessä. Tallennetaan asetukset tiedostoon komennolla iptables-save > /etc/iptables-asetukset . Muista tallentaa asetukset tällä komennolla joka kerta, kun teet muutoksia.

Lisätään /etc/network/interfaces -tiedostoon ulkoverkkosovittimen alle komento pre-up iptables-restore < /etc/iptables-asetukset , joka lataa iptablesin asetukset tietokoneen käynnistyessä (kts. kuva 1).

Asetukset saa näkyviin komennolla iptables -L . Komennon suorittamisessa saattaa mennä muutamia sekunteja.

kuva1kuva1
Kuva 1

Salli pingiin vastaaminen:

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/s -i eth0 -j ACCEPT
limit -osio rajoittaa kyselyiden määrän viiteen sekunnissa, mikä estää DOS-hyökkäyksiä.

Salli yhteys ulkoverkosta palomuuriin:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Korvaa tcp käytettävällä protokollalla (usein tcp tai udp) ja 80 portin numerolla.

Salli yhteys ulkoverkosta toiseen sisäverkossa olevaan palvelimeen:

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.144.5
Korvaa tcp, 80, eth0 ja kohdepalvelimen osoite 192.168.144.5 sopivilla asetuksilla.

Säännön poistaminen:

Listaa säännöt komennolla iptables -L ja laske poistettavan säännön numero (kts. kuva 2).
Poistetaan neljännen rivin WWW-palvelimen sääntö komennolla iptables -D INPUT 4 .

Säännön lisääminen:

Koska viimeinen komentomme estää kaiken liikenteen, tulee sallimiset listata ennen sitä. Katsotaan edellisen kohdan tavoin INPUTin DROP -säännön numero (kuvassa 2 numero on 5). Komento iptables -I INPUT 5 -p tcp --dport 21 -j ACCEPT lisää FTP-palvelun säännön ennen viidettä sääntöä.

Säännön korvaaminen:

Edellisten kohtien tavoin tarkistetaan korvattavan säännön numero ja esimerkiksi vaihdetaan SSH-palvelun portti turvallisemmaksi komennolla iptables -R INPUT 3 -p tcp --dport 2238 -j ACCEPT

kuva2kuva2
Kuva 2