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