ich habe von zwei Seiten, folgende Router/Firewall Scripte gefunden..
Da ich noch Neuling bin würde ich gerne wissen, welches der beiden "am besten" ist.
ich habe beide soweit auf meine Bedürfnisse angepasst, allerdings noch nicht ausprobiert (geht erst ab 18:00, wenn ich zu hause bin)
Script 1 http://www.debianforum.de/wiki/?page=in ... bianmanier
Code: Alles auswählen
#/bin/bash
EXTDEV=ppp0 # External device pointing to the internet
INTDEV=eth1 # Internal device pointing to the local net
INTLAN=192.168.42.0/24
# Muss hier oben eventuell 192.168.0.0/24 stehen?
# Da alle Rechner im Bereich 192.168.42.1-254 liegen nehme ich
# an, das es mit 192.168.42.0/24 klappen müsste.
IPTABLES=/usr/sbin/iptables
#############################################################################
# Lade Module
#
modprobe iptable_nat
modprobe iptable_filter
modprobe ip_conntrack
modprobe ip_conntrack_ftp ports=7771,21
modprobe ip_nat_ftp
modprobe ip_tables
modprobe ipt_MASQUERADE
modprobe ipt_REJECT
#############################################################################
#############################################################################
# Forwarding und DynamicIP aktivieren
#
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
#############################################################################
#############################################################################
# iptables leeren und erstmal alles droppen
#
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F OUTPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
#############################################################################
#############################################################################
# Masquerading
#
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -A POSTROUTING -o $EXTDEV -s $INTLAN -j MASQUERADE
#############################################################################
#############################################################################
# Auf localhost alles erlauben
#
$IPTABLES -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
#############################################################################
#############################################################################
# Bestimmte Ports öffnen
#
# SSH
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 22 --syn -j ACCEPT
#[...] weitere...
#############################################################################
#############################################################################
# Ports, an denen verbindungen abgelehnt werden sollen.
#
# TELNET
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 23 --syn -j DENY
#############################################################################
#############################################################################
# Restliche Ports schliessen
#
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 1:1024 --syn -j REJECT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 901 --syn -j REJECT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 139 --syn -j REJECT
#############################################################################
#############################################################################
# Portforwarding
# FTP
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 22 -j DNAT --to-dest 192.168.42.73
#############################################################################
Script 2 http://www.linuxhelpline.org/index.php? ... =39&page=1
Code: Alles auswählen
#!/bin/bash
IPTABLES=/sbin/iptables
IF_INTERN=eth1
IF_EXTERN=ppp0
###################################################################
# standardmäßig alles droppen
#
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
###################################################################
###################################################################
# Interne Kommunikation erlauben
#
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
###################################################################
###################################################################
# Kommunikation im LAN voll erlauben
#
$IPTABLES -A OUTPUT -o $IF_INTERN -j ACCEPT
$IPTABLES -A INPUT -i $IF_INTERN -j ACCEPT
###################################################################
###################################################################
# Router vollen Zugriff auf das internet gestatten
#
$IPTABLES -A OUTPUT -o $IF_EXTERN -j ACCEPT
###################################################################
###################################################################
# Nur Verbindungen von aussen erlauben, die
# von "drinnen" gestartet wurden
#
$IPTABLES -A INPUT -i $IF_EXTERN -m state --state ESTABLISHED,RELATED -j ACCEPT
###################################################################
###################################################################
# Ports erlauben
#
# FTP
$IPTABLES -A INPUT -i $IF_EXTERN -p tcp --dport 21 -j ACCEPT
$IPTABLES -A INPUT -i $IF_EXTERN -p tcp --dport 20 -j ACCEPT
# SSH
$IPTABLES -A INPUT -i $IF_EXTERN -p tcp --dport 22 -j ACCEPT
###################################################################
###################################################################
# Bestimmte Ports forwarden
$IPTABLES -A FORWARD -p TCP --sport 6003 -i $IF_EXTERN -j ACCEPT
###################################################################
###################################################################
# Absichern, das routing aktiv ist und
# Masquerading aktivieren
#
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -o $IF_EXTERN -j MASQUERADE
###################################################################
###################################################################
# Verbindungen an allen Ports ablehnen, die
# oben nicht definiert wurden
#
$IPTABLES -A INPUT -j DROP
$IPTABLES -A OUTPUT -j DROP
$IPTABLES -A FORWARD -j DROP
###################################################################
Ich kann leider nicht beurteilen, welches von den beiden besser ist.
Soweit ich es verstehe, lässt Script 1 standardmäßig alle Verbindungen zu, während Script 2 erstmal alles dichtmacht. Sehe ich das so richtig?
Würde mich interessieren, welches der beiden "sicherer" ist.
Es geht mir hauptsächlich darum, das alles dicht ist, bis auf bestimmte Ports, und das auch nur bestimmte Ports zu meinem Clientrechner weitergeleitet werden..