PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ping geht nicht mit Firewall



Schmolleg
25.06.04, 13:05
Hallo !
Ich habe mir eine Firewall mit iptables gemacht. Ist ja auch alles schön dicht aber ich kann den Server nicht anpingen und NFS sowie Samba nicht mounten. Welchen Port muss ich denn aufmachen um pingen zu können ?

Schärple
25.06.04, 13:07
Du darfst ICMP-Pakete (Internet Control Message Protocol) nicht droppen.


Grüßle

cane
25.06.04, 13:40
Schau Dir Harry's Iptables Generator auf www.harry.homelinux.de an.
Er erstellt Dir ein sehr gutes Script welches Du bei Bedarf auch weiter anpassen kannst...

mfg
cane

Harry
25.06.04, 14:09
www.harry.homelinux.org bitte ;)

Harry

Schmolleg
25.06.04, 14:54
bei mir in /etc/services steht das icmp den Port 5813 hat. Also hab ich folgendes gemacht:

iptables --table filter --append INPUT --protocol tcp --destination-port 5813 --in-interface eth0 --jump ACCEPT

aber es geht immer noch nicht mit dem pingen. Ich will mir erstmal den Script nicht holen da ich selber erstmal wissen will wie das mit iptables so läuft und mir dann einen eigenen schreiben.

Disaronno
25.06.04, 19:53
Ich hab mal gerade einen blick in mein Buch geworfen. Der hat das da so gelöst.



#allow outgoing pings to anywhere
if [ "$CONNECTION_TRACKING" = "1" ]; then
iptables -A OUTPUT -o $INTERNET -p icmp \
-s $IPADDR --icmp-type echo-request \
-m state --state NEW -j ACCEPT
fi

iptables -A OUTPUT -o $INTERNET -p icmp \
-s $IPADDR --icmp-type echo-request -j ACCEPT

iptables -A INPUT -i $INTERNET -p icmp \
--icmp-type echo-reply -d $IPADDR -j ACCEPT

# allow incoming pings from trusted hosts
if [ "$CONNECTION_TRACKING" = "1" ]; then
iptables -A INPUT -i $INTERNET -p icmp \
-s $MY_ISP --icmp-type echo-request -d $IPADDR \
-m state --state NEW -j ACCEPT
fi

iptables -A INPUT -i $INTERNET -p icmp \
-s $MY_ISP --icmp-type echo-request -d $IPADDR -j ACCEPT

iptables -A OUTPUT -o $INTERNET -p icmp \
-s $IPADDR --icmp-type echo-reply -d $MY_ISP -j ACCEPT


Quelle:
Linux Firewalls
Konzeption und Implementation für Netzwerke und PCs
von Robert L. Ziegler

ISBN 3-8272-6703-x

cane
29.06.04, 07:12
Wer lersen möchte: Unter http://www.oreilly.de/openbook/ gibt es unter anderem "Linux-Firewalls - Ein praktischer Einstieg" zum freien Download!

mfg
cane

Schmolleg
29.06.04, 15:14
Ich hab den Lan Zugriff hinbekommen nur NFS und Samba geht noch immer niocht. Ich hab für nfs den port 111 aus gemacht und für samba 2049 aber es geht immer noch nicht. Muss ich denn sonst nicht noch was auf machen für nfs oder samba. Ich komm echt nicht weiter.

cane
30.06.04, 07:25
Läuft das Iptables Script auf demselben Rechner der auch NFS und Samba anbieten soll?

G.B.Wolf
30.06.04, 07:30
Hi
wenn du canes Frage mit Ja beantworten kannst: Der Samba-Server benutzt mindestens den Port 135.
Für den NFS-Server findet sich vielleicht in den Manpages was.

Harry
03.07.04, 11:56
Hi,

mal eine andere Frage: Wenn Du Deinen Server sowieso nur im LAN einsetzt (und die Clients aus dem LAN darauf zugreifen sollen), welchen Sinn macht denn dort der Einsatz eines Paketfilters?
Aktiviere auf dem Server die Dienste, die Du benötigst und deaktivere die Dienste, die Du nicht anbieten willst und alles ist in Butter.

Warum machst Du Dir soviel Streß?

Harry

Bubble
03.07.04, 14:56
bei mir in /etc/services steht das icmp den Port 5813 hat. Also hab ich folgendes gemacht:

iptables --table filter --append INPUT --protocol tcp --destination-port 5813 --in-interface eth0 --jump ACCEPT


Komisch, das steht bei mir nicht in der /etc/services (benutze Debian SID).

Außerdem ist ICMP in der OSI-Schicht auf Layer 3 anzusehen (selbe Ebene wie IP) und benutzt daher kein TCP (oder UDP) als Transportprotokoll, von daher gibt es auch keine Portnummern, sondern eher verschiedene Typen.

Willst du eine iptables-Regel für ICMP zusammenbauen, dann geht das so:

iptables -A INPUT -p ICMP --icmp-type x

wobei x für den Typ steht. Eine Auflistung findest du bspw. hier: http://iptables-tutorial.frozentux.net/iptables-tutorial.html#ICMPTYPES

Die gebräuchlisten dürften Typ 0 (ECHO_REPLY) und Typ 8 (ECHO_REQUEST) sein, die sind fürs "pingen" zuständig.
Bubble

Harry
03.07.04, 15:47
Die gebräuchlisten dürften Typ 0 (ECHO_REPLY) und Typ 8 (ECHO_REQUEST) sein...
Vielleicht sind es die gebräuchlichsten - oder eher die bekanntesten. Aber es sind bei weitem nicht die wichtigsten. Die wesentlich wichtigeren ICMP-Typen sind IMHO destination-unreachable (mit all seinen Codes), TTL-exceeded, fragmentation-needed und noch ein paar andere.

Aber nochmal: Ich verstehe den Sinn im Einsatz eines Paketfilters in diesem speziellen Fall von Schmolleg nicht, da er die gewünschten Dienste ohnehin nur in einem LAN einsetzt. Das Deaktivieren der nicht benötigten Dienste bringt den gleichen Effekt und wird für ihn wesentlich transparenter sein.
Ich habe laut den o.a. Posts den Eindruck, dass die Thematik "Paketfilter" Schmolleg zur Zeit aufgrund seiner Kenntnisse möglicherweise etwas überfordert (ich kann mich natürlich irren) und ihn die ganzen Tipps zur Thematik nicht wirklich weiterbringen werden.

Harry

Jinto
03.07.04, 19:08
Komisch, das steht bei mir nicht in der /etc/services (benutze Debian SID). nicht verwunderlich, sondern normal. in /etc/services stehen die durch IANA vergeben Ports für UDP/TCP

Außerdem ist ICMP in der OSI-Schicht auf Layer 3 anzusehen (selbe Ebene wie IP) und benutzt daher kein TCP (oder UDP) als Transportprotokoll, von daher gibt es auch keine Portnummern, sondern eher verschiedene Typen.Nicht OSI Schicht-3, sondern OSI Schicht 4 (wenn man das denn unbedingt auf OSI umlegen will) bzw. DOD Schicht 3. ICMP befindet sich auch nicht auf Ebene von IP, sondern ICMP setzt wie auch UDP und TCP auf der IP Schicht auf.

HTH

Bubble
03.07.04, 19:33
Nicht OSI Schicht-3, sondern OSI Schicht 4 (wenn man das denn unbedingt auf OSI umlegen will) bzw. DOD Schicht 3. ICMP befindet sich auch nicht auf Ebene von IP, sondern ICMP setzt wie auch UDP und TCP auf der IP Schicht auf.


Nein, das ist nicht richtig.

Nachzulesen hier: http://www.computerguru.net/tech/netw15.htm oder auch hier: http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ip.htm oder im Vergleich mit DOD (wo es zu Schicht 2 gezählt wird) auch hier: http://www.netplanet.org/aufbau/schichtenmodell.shtml

ICMP rangiert auf einer Ebene mit IP (OSI Schicht 3, Network Layer). OSI Schicht 4 ist Transport Layer, da hast du bswp. TCP/UDP.
Bubble