IPtables a port forwarding

Dan Barcot dan.barcot na gmail.com
Sobota Srpen 12 17:08:26 CEST 2006


Nehodnotim vas firewall script, jen podotknu, ze zpristupnit server
interni site na internet neni bezpecne. Jestli vam nekdo hackne ftp na
intranetu, muze ho pak pouzit jako branu do vnistrni site. Doporucuji
pouzit DMZ.

Krom toho, podivejte se na Shorewall. Treba jen pro inspiraci.

Dan


Jakub Dvorak wrote:
> DD,
> zkousel jsem si nastavit mensi router/firewall. vsechny sluzby bezi jak
> maji az na IPTABLES. Dle rootu a dalsich jsem si nasel, co vsechno by
> melo byt nastaveno, takze jsem nakonec i maskaradu atp rozchodil.
> Jedine, co nejede, je port forwarding, v mem pripade predevsim pro FTP
> (jeden pocitac ve vnitrni siti jako FTP server i pro internet).
> Tady je muj soubor, kde se nastavuji pravidla:
>
> #!/bin/bash
> echo "Starting firewall ..."
> ######## eth1 - vnitrni sit
> ######## eth0 - internet
>
> VEN=eth0
> DOVNITR=eth1
>
> #zakaz vse
> iptables -P INPUT DROP
> iptables -P FORWARD DROP
>
> #povoli vstup ICMP
> iptables -A INPUT -p ICMP --icmp-type 0 -j ACCEPT       #echo reply
> iptables -A INPUT -p ICMP --icmp-type 3 -j ACCEPT       #destination
> unreachable
> iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT       #Echo request
> iptables -A INPUT -p ICMP --icmp-type 11 -j ACCEPT      #time exceeded
>
> #povoli veskery vstup z lo a eth1, eth0 je zakazany,
> #vyjma ICMP viz vyse
> iptables -A INPUT -p ALL -i $DOVNITR -j ACCEPT
> iptables -A INPUT -p ALL -i lo -j ACCEPT
>
> #povoli vse z vnitrku smerujici na ven
> iptables -A FORWARD -i $DOVNITR -o $VEN -j ACCEPT
>
> #povoli forward zvenci na vnitrni u existujich spojeni
> iptables -A FORWARD -i $VEN -o $DOVNITR -m state --state
> ESTABLISHED,RELATED -j ACCEPT
>
> #povoli vstup zvenci na loopback existujicich spojeni
> iptables -A INPUT -i $VEN -m state --state ESTABLISHED,RELATED -j ACCEPT
>
> #loguje pakety, ktere nebyly povolene
> iptables -A INPUT -j LOG
>
> #Zapne maskaradu
> iptables -A POSTROUTING -t nat -o $VEN -j MASQUERADE
>
> #Presmerovani portu
>
> echo "Redirecting ports..."
>
> # FTP server
> iptables -A PREROUTING -t nat  -p tcp -i $VEN --dport 21 -j DNAT --to
> 192.168.0.2:21
> iptables -A FORWARD -i $VEN -p tcp -d 192.168.0.2 --dport 21 -m state
> --state NEW,ESTABLISHED,RELATED -j ACCEPT
> iptables -A PREROUTING -t nat  -p tcp -i $VEN --dport 20 -j DNAT --to
> 192.168.0.2:20
> iptables -A FORWARD -i $VEN -p tcp -d 192.168.0.2 --dport 20 -m state
> --state NEW,ESTABLISHED,RELATED -j ACCEPT
>
> : exit 0
>
> Konkretne me teda zajima cast FTP server, ktera by mela onen PC vystavit
> na portu 20 a 21 do internetu, coz se ale nedeje.
> Diky za kazdou radu, ktera by tom unejak pomohla.
> 
> Jakub 'Yim' Dvorak



Další informace o konferenci Linux