iptables problem med at blocke bestemte porte
Jeg sidder og skal sætte en firewall op og det skal være med iptables.Når alt er klart har jeg 5 netkort i min maskine, men lige nu sidder jeg bare og leget med iptables for lige at få genopfrisket det engang.
Pt. leger jeg bare med 2 netkort, som begge har interne IP'er.
Jeg vil i min test blocke for port 22 (ssh) til 192.168.1.4 bare lige for at lege lidt!
Til det formål har jeg flg. script:
WAN_IP="192.168.1.4"
LAN_NET="192.168.1.0/24"
IPT="/sbin/iptables"
echo 0 > /proc/sys/net/ipv4/ip_forward
$IPT -t nat -F
$IPT -F
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P INPUT ACCEPT
$IPT -A FORWARD -m state --state NEW -j LOG --log-prefix IPTABLE_NEW --log-level 4
$IPT -t nat -A POSTROUTING -s $LAN_NET -d ! $LAN_NET -j SNAT --to $WAN_IP
$IPT -A FORWARD -s $LAN_NET -p tcp -d $WLAN_IP --dport 22 -j DROP
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Den kommer dog med flg. fejl:
Bad argument `22'
Try `iptables -h' or 'iptables --help' for more information.
Det ser ud til at man ikke gøre det på den måde som jeg lige kunne komme på, så mit spørgsmål er hvordan fa'n for man får det til at virke med at jeg kan blocke på den måde?
Den dybere mening er at jeg i fremtiden har flg. net.
WAN (default internet access)
LAN (default lan)
BOT (bot's med public IP'er)
SRV (en server med public ip)
DEV (udviklings lan)
LAN bliver SNAT'et til WAN.
BOT, SRV og DEV har alle 1 eller flere IP'er og de maskiner som er koblet på de netkort får alle public IP'er kun!
Ud over jeg naturligvis skal begrænse de porte der kan bruges udefra og ind skal jeg også kunne begrænse porte der må connectes ud på. Det er f.eks. kun port "20, 21, 22, 25, 80, 110, 143, 443 og 8080" som der må benyttes fra LAN til WAN.
Håber der er nogle der kan hjælpe, det er garenteret slet ikke så svært :)
/Thomas
