Liebe Leute!
Nun, mein lieber Server ist neu installiert und sollte jetzt keine Probleme mehr machen - sollte.
Ich habe mit einem Skript eine iptables-Firewall aufgesetzt (da bin ich leider kein Experte), und nun habe ich drei Fragen:
- Wie gefällt Euch die Konfiguration?
- Am Ende des Skripts habe ich ein paar Dienste freigeschalten - muss das so kompliziert sein oder gehts auch einfacher?
- Alle paar Minuten scheint was schiefzugehen - es gibt keine Netzwerkverbindung mehr zum Server, ca. eine Minute später gehts dann wieder - was kann da sein?
Hier ist das Skript:
#########
Parameter
#########
IPTABLES="/sbin/iptables"
LAN_IF=„eth1“
LAN_IP=„10.0.0.1“
LAN_NET=„10.0.0.0/16“
EXT_IF=„eth0“
EXT_IP=„xxx.xxx.xxx.xxx“ # In Wirklichkeit natürlich anders…
#########
ip_forward aktivieren und alte Regeln löschen
#########
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -Z
#########
Policies
#########
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
#########
Loopback
#########
$IPTABLES -A INPUT -i lo -j ACCEPT
#########
NAT
#########
$IPTABLES -t nat -A POSTROUTING -s $LAN_NET -d ! $LAN_NET -o eth0 -j SNAT --to-source $EXT_IP
Wir hatten früher einen anderen Provider, und um nicht alle Maschinen
umstellen zu müssen, werden die Pakete zum DNS umgeleitet
Auch diese Adressen unterliegen der Zensur
$IPTABLES -t nat -A PREROUTING -d yyy.yyy.yyy.yyy -j DNAT --to-destination zzz.zzz.zzz.zzz
$IPTABLES -t nat -A PREROUTING -d yyy.yyy.yyy.yyz -j DNAT --to-destination zzz.zzz.zzz.zzy
Auf dem Server läuft auch Squid als transparenter Proxy
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to $LAN_IP:8080
$IPTABLES -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to $LAN_IP:8080
$IPTABLES -t nat -A PREROUTING -p udp --dport 443 -j DNAT --to $LAN_IP:8080
#########
Der interne Input
#########
$IPTABLES -A INPUT -i $LAN_IF -s $LAN_NET -d $LAN_NET -j ACCEPT
#########
Der externe Input
#########
$IPTABLES -A INPUT -i $EXT_IF -s ! $LAN_NET -m state --state ESTABLISHED,RELATED -j ACCEPT
#########
FORWARD - geht das einfacher?
#########
$IPTABLES -A FORWARD -p tcp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 80 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -d zzz.zzz.zzz.zzz --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -d zzz.zzz.zzz.zzy --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s zzz.zzz.zzz.zzz --sport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s zzz.zzz.zzz.zzy --sport 53 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -p udp --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 443 -j ACCEPT
$IPTABLES -A FORWARD -p udp --sport 443 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 995 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 995 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 25 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 25 -j ACCEPT
#########
Ping
#########
#iptables -N PING
#iptables -A PING -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT
#iptables -A PING -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
#iptables -A PING -p ICMP -s 0/0 --icmp-type 5 -j ACCEPT
#iptables -A PING -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
#iptables -A PING -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
#iptables -A INPUT -p icmp -i $EXT_IF -j PING
#iptables -A FORWARD -p icmp -i $EXT_IF -j PING
Vielen herzlichen Dank für Eure Hilfe!
Michael