IPtables a port forwarding

Jakub Dvorak xdvora19 na fi.muni.cz
Čtvrtek Červenec 20 11:11:33 CEST 2006


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