iptables how?!? :)

Alle tekniske spørgsmål som ikke hører ind under de andre fora.
Crispo
Indlæg: 7
Tilmeldt: 20. nov 2006, 15:42
Geografisk sted: Thy

iptables how?!? :)

Indlæg af Crispo »

hey

jeg har makket et script til iptables men jeg kan ikke finde ud af hvordan jeg directer en bestemt pårt til en bestemt ip på mit lan (fx. så alt fra port 10000 kommer til og fra 10.0.0.98) osv??

Kode: Vælg alt

#!/bin/bash

echo "Status: Loading Firewall Script."

## Disable routing inden regler påføres
echo 0 > /proc/sys/net/ipv4/ip_forward

## Alias

LO_IF="lo"
EXT_IF="eth0"
LAN_IF_1="eth1"
INTERNALIF="eth1"
EXTERNALIF="eth0"
IPTABLES="/sbin/iptables"

## Locale IP'er

LO_IP="127.0.0.1/32"
INTERNALNET="10.0.0.0/8"
LAN_BCAST="10.255.255.255"
EXT_IP=`ifconfig $EXT_IF | grep "inet addr" | cut -d: -f2 | cut -d' ' -f1`
LAN_IP=`/sbin/ifconfig $LAN_IF_1 | grep -i "addr:" | cut -f2 -d: | cut -f1
-d " "`

## Regler flushes og policies sæes
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F PREROUTING
$IPTABLES -F
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P INPUT DROP
$IPTABLES -N INSPECT 2> /dev/null
$IPTABLES -N INSDROP 2> /dev/null
$IPTABLES -N INSWARNDROP 2> /dev/null

## Snat
$IPTABLES -t nat -A POSTROUTING -o $EXT_IF -j SNAT --to-source $EXT_IP
$IPTABLES -A INPUT -p all -i $LO_IF -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


## Logging af nye pakker skal startes
$IPTABLES -A FORWARD -m state --state NEW -j LOG --log-prefix IPTABLE_NEW
--log-level 4

## Block Blaster virus

        # RPC
        $IPTABLES -A INPUT -p tcp --dport 135 -j DROP
        $IPTABLES -A FORWARD -p tcp --dport 135 -j DROP

        # TFTP
        $IPTABLES -A INPUT -p udp --dport 69 -j DROP
        $IPTABLES -A FORWARD -p udp --dport 69 -j DROP

############################ Input #####################

# DNS
$IPTABLES -A INPUT -p tcp --dport 53 -i eth0 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 53 -i eth0 -j ACCEPT

# SSH
$IPTABLES -A INPUT -p tcp -s 10.0.0.0/8 --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j DROP

# Mail trafic
$IPTABLES -A INPUT -p tcp --dport 25 -i eth0 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 110 -i eth0 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 143 -i eth0 -j ACCEPT

# HTTP and HTTPs Trafic
$IPTABLES -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 443 -i eth0 -j ACCEPT

# DHCP
$IPTABLES -A INPUT -p udp --dport 67 -i eth0 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 68 -i eth0 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 67 -i eth1 -j ACCEPT

# ICMP
$IPTABLES -A INPUT -p icmp --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type 3 -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type 11 -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/second -j ACCEPT

## Accept trafic fra internt
$IPTABLES -A INPUT -i $LAN_IF -j ACCEPT

## Accept alt andet
$IPTABLES -A INPUT -i ! $EXT_IP -j ACCEPT


echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Status: Done."




her er scriptet je aner ikke helt hvad det hele gør men om ikke andet så ser det vildt ud :D

Crispo
hardcorewizard
Indlæg: 40
Tilmeldt: 20. nov 2006, 19:58
Geografisk sted: Taastrup, Danmark

iptables how?!? :)

Indlæg af hardcorewizard »

Jeg er ikke skarp til iptables, så kan ikke hjælpe dig på det punkt. Til gengæld vil jeg nok råde dig til at læse noget mere om det, så du kan sætte det op. Ellers, så prøv at benytte dig af nogle af de værktøjer der findes, f.eks. Shorewall (http://en.wikipedia.org/wiki/Shorewall). Jeg har heller ikke selv benyttet mig af dette, men det er da et forsøg værd :).