iptables -> Server soll nach außen pingen können

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Patrick S.

iptables -> Server soll nach außen pingen können

Beitrag von Patrick S. » 08.03.2006 09:12:31

Hallo Leute,
dank eurer hilfe, habe ich mir mal iptables angeschaut und mir meine eigenen regeln zusammengebastelt. Für mich ist iptables völliges neuland, daher bitte net über meine script lachen.....soweit funktioniert es ja auch ganz gut =).

zum meinem problem:
ich möchte dem server erlauben, dass er andere server pingen kann und zwar nicht nur über ip sondern mit namensauflösung. leider macht/kann er das im moment noch nicht.

mein script:

Code: Alles auswählen

#! /bin/sh

modprobe ip_conntrack_ftp

iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -X
iptables -Z

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -A INPUT -i localhost -j ACCEPT
iptables -A OUTPUT -o localhost -j ACCEPT
iptables -A FORWARD -s localhost -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

#SSH und Webserver Ports erlauben (von außen)
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -j ACCEPT

#FTP-Port erlauben (von außen)
iptables -A INPUT -p tcp --dport 21  -m state --state NEW --syn -m limit --limit 5/s -j ACCEPT
iptables -A INPUT -p tcp --dport 21 --syn -j DROP

#Mail Ports : Pop3 und SMTP erlauben (von außen)
iptables -A INPUT -p tcp --dport 110 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT

#Pings erlauben (limitiert)
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

verbesserungsvorschläge sind sehr willkommen, da dieses script ein patchwork aus verschiedenen tutorials und threads ist.

wäre echt klassen ,wenn mir da jemand helfen könnte.

LG
Patrick

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 08.03.2006 15:48:48

Hi,

das Script ist ehrlich gesagt noch ein wenig unausgereift. Ganz am Anfang z.B defenierst du:

Code: Alles auswählen

iptables -P OUTPUT ACCEPT
Damit setzt du die Default-Policy für ausgehenden Traffic deines Servers so, daß jeglicher Traffic, den der Server verschicken will auch erlaubt ist.
Dies macht also diese Regeln hier eigentlich sinnlos:

Code: Alles auswählen

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Code: Alles auswählen

iptables -A OUTPUT -o eth0 -p tcp --dport 80 -j ACCEPT

Code: Alles auswählen

iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
Die Default Policy erlaubt ja schließlich eh alles.

Darüberhinaus muss auf dem Loopback-Device auch nichts geforwardet werden:

Code: Alles auswählen

iptables -A FORWARD -s localhost -j ACCEPT
ist also ebenfalls überflüssig.

Was die Sache mit den Pings angeht. Da müsste ich jetzt auch die Doku wälzen, ob und wie Antwort-Pakete auf pings den Paketfilter passieren können. Kannst es ja erstmal mit

Code: Alles auswählen

iptables -A INPUT -i eth0 -p icmp -j ACCEPT
probieren, allerdings antwortet dein Rechner dann acuh auf Pings und lässt nicht nur die Antwortpakete durch.

Patrick S.

Beitrag von Patrick S. » 09.03.2006 07:53:57

hallo,
habe ich mir fast gedacht,dass da so ein paar sinnlose sachen drin sind. =)
wie gesagt ist das auch erstmal für mich neuland.

ich habe mir jetzt mal über son einen iptables-generator mal eine generieren lassen, die auch für meine zwecke gut funktioniert.

danke erstmal für die antwort

gruß
patrick

Antworten