iptables: samba zulassen

R

rikola

Foren Gott
Tag,

auf unserer Firewall sind die Samba-Tueren geschlossen. Nun moechte ich zeitweilig den Zugriff auf einen bestimmten Server zulassen und dazu wissen, ob die folgende Syntax dazu korrekt ist:
Code:
iptables -A INPUT -p tcp -m tcp --dport 137 -s 10.bla.bla.bla -j ACCEPT
und das gleiche mit den '--dpots's 139 und 445.
Auf dieser Seite wird zwar von udp statt tcp geredet, doch behauptet nmap auf die Quelladresse, dass 137, 139 und 445 tcp-ports sind.
Zusaetzliche Fragen:
1) was bedeutet '-m'?
2) reicht diese Syntax, um die Leseanfrage auf 10.bla.bla.bla aus der Firewall-Zone zuzulassen?
3) genuegt es, 'ACCEPT' durch 'DROP' zu ersetzen, um den Zugriff wieder zu schliessen, oder sollte ich die Option '-D INPUT' statt '-A INPUT' nutzen?
 
Hi rikola, was reinkommt muss auch rausgehen, sprich du musst entsprechende Regeln in beide Richtungen machen, -sport 135 -s server und -dport 135 -d server. Wenn das da eine Firewall ist, dann ist außerdem nicht INPUT sondern FORWARD der richtige Chain. Denn INPUT behandelt nur Pakete, die auf der Firewall selbst landen. Am einfachsten wäre es einen extra Chain zu machen:
Code:
iptables -N samba
iptables -A samba -i ... -o ... -p tcp ... 
iptables -A samba -i ... -o ... -p tcp ... 
...
iptables -I FORWARD -j samba # einfügen am Anfang von Forward
iptables -L -v -n # Alle Chains anzeigen
iptables -D FORWARD 1 # Regel 1 aus Forward löschen => vorher checken
 
Außerdem sehr hilfreich: Eine Regel mit dem Target LOG vor DROP einzufügen, dann kannst du im Syslog nachprüfen, was für Pakete verworfen werden. DROP durch REJECT ersetzen, dann geht das Testen schneller, weil man nicht auf Timeouts warten muß.
 
Danke! Ich vermute, dass 'iptables -L -v -n' mir dann anzeigt, ob die samba-Kette dann auch tatsaechlich Regel 1 ist? Ich werde es ausprobieren. Gehoert das '-D FORWARD' noch zu Zulassregel, oder ist das der Schritt, wenn der Zugang nicht mehr benoetigt wird? Und wenn letzteres, weswegen waere die Syntax nicht '-D samba'?
(Irgendwie scheint mir BSD pf uebersichtlicher...)
 
-D FORWARD 1 löscht Regel Nummer 1 aus den FORWARD-Regelsätzen und damit den Verweis auf die Samba-Kette. Die Samba-Kette selbst kannst du löschen mit iptables -X. Dafür darf sie aber nicht mehr verwendet werden.
 
Bisher habe ich es leider nicht hinbekommen. Mir ist eingefallen, dass ein externer Rechner auf CUPS zugreifen darf, d.h. port 631. So habe ich mit iptables-save ein backup der Regeln erstellt und jede Regel, in der der CUPS-Zugreifer auftaucht, dupliziert fuer die ports 445/tcp, 139/tcp, 137/udp und 138/udp und dann diese Regeln mit iptables-restore eingelesen. Selbst das hat nicht funktioniert. Gibt es eine Moeglichkeit, anzeigen zu lassen, aufgrund welcher Regel die Samba-Abfrage (per Konqueror, smb://10.bla.bla.bla) nicht durchgelassen wird? Vielleicht gibt es ja eine generelle Regel, die diese Ports blockt. Welche Prioritaet haben die Regeln denn, die mit iptables-save rausgeschrieben werden? Von oben (wichtiger) als unten, oder umgekehrt, oder ganz anders?
 

Ähnliche Themen

Port Forwarding mit iptables

ip6tables Problem

iptables verständniss frage, xrdp nicht erreichbar.

[SOLVED][CentOS 7] Samba server nicht erreichbar trotz firewall regeln.

iptables - default policy - Server macht dicht

Zurück
Oben