ubuntuusers.de

Problem mit iptables

Status: Ungelöst | Ubuntu-Version: Lubuntu 10.04 (Lucid Lynx)
Antworten |

schindi77

Anmeldungsdatum:
10. Februar 2012

Beiträge: 46

Hallo!

Ich hab mal wieder Probleme mit meiner Konfig.

Auf meinem Router soll bald eine Firewall mittels iptables laufen.

Diese habe ich laut wiki (Router, iptables) begonnen einzurichten.

Mein Problem ist nun, daß sobald ich die default policys für input/output/forward auf DROP stelle, komme ich mit den Rechnern hinter dem Router nicht mehr ins Internet.

Könntet ihr euch meine /etc/network/interfaces mal anschauen?

auto lo
iface lo inet loopback

#auto eth0
#iface eth0 inet dhcp

#auto ppp0
#iface ppp0 inet dhcp

# KONFIGURATION ALS SERVER
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255

auto wlan0 
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0
broadcast 192.168.2.255


up /sbin/iptables -F
up /sbin/iptables -X
up /sbin/iptables -t nat -F


# alles dichtmachen
#up /sbin/iptables -P INPUT DROP
#up /sbin/iptables -P OUTPUT DROP
#up /sbin/iptables -P FORWARD DROP
up /sbin/iptables -A INPUT -i lo -j ACCEPT
up /sbin/iptables -A OUTPUT -o lo -j ACCEPT

# SSH von intern zulassen
up /sbin/iptables -A INPUT -p tcp -i eth0 --dport 22 -d 192.168.1.1 -s 192.168.0.0/16 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -A OUTPUT -p tcp -o eth0 --sport 22 -s 192.168.1.1 -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Samba Server zulassen
up /sbin/iptables -A OUTPUT -p udp -o eth0 --sport 137:139 -d 192.168.1.255 -s 192.168.1.1 -j ACCEPT
up /sbin/iptables -A INPUT -p tcp -i eth0 --dport 137:139 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -A INPUT -p udp -i eth0 --dport 137:139 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -A OUTPUT -p tcp -o eth0 --sport 137:139 -m state --state ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -A OUTPUT -p udp -o eth0 --sport 137:139 -m state --state ESTABLISHED,RELATED -j ACCEPT

# normale Internet-Services zulassen
up /sbin/iptables -A OUTPUT -o ppp0 -p tcp --dport 80 --sport 1024:65535 -j ACCEPT
up /sbin/iptables -A OUTPUT -o ppp0 -p tcp --dport 80 --sport 80 -j ACCEPT
up /sbin/iptables -A OUTPUT -o ppp0 -p tcp --dport 443 --sport 1024:65535 -j ACCEPT
up /sbin/iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
up /sbin/iptables -A OUTPUT -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT

#forwarding
up /sbin/iptables -A FORWARD -o ppp0 -s 192.168.0.0/16 -m conntrack --ctstate NEW -j ACCEPT
up /sbin/iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
up /sbin/sysctl -w net.ipv4.ip_forward=1

######################### Allgemeiner Part

up /etc/init.d/hostapd restart
up /etc/init.d/dnsmasq restart

An eth0 bzw. wlan0 hängen alle Clients, ins Internet gehts per ppp0.

Die 3 Zeilen nach "alles dichtmachen" sind auskommentiert, dann läuft alles. Sobald ich sie einkommentiere gehts wie gesag sie einkommentiere gehts wie gesagt nicht mehr ins Internet

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Mein Problem ist nun, daß sobald ich die default policys für input/output/forward auf DROP stelle, komme ich mit den Rechnern hinter dem Router nicht mehr ins Internet.

Das ist doch der Sinn von drop: Pakete verwerfen.

schindi77

(Themenstarter)

Anmeldungsdatum:
10. Februar 2012

Beiträge: 46

Jaja klar, aber die default policy sollte doch nur dann greifen, wenn KEINE andere Regel zutrifft oder?

Ich kann ja, wenn ich die 3 zeilen einkommentiere,nicht mal mehr auf den samba server - von intern - zugreifen, obwohl samba grundsätzlich mit einer anderen regel freigegeben wird.

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

schindi77 schrieb:

Hallo!

Ich hab mal wieder Probleme mit meiner Konfig.

Auf meinem Router soll bald eine Firewall mittels iptables laufen.

Diese habe ich laut wiki (Router, iptables) begonnen einzurichten.

Mein Problem ist nun, daß sobald ich die default policys für input/output/forward auf DROP stelle, komme ich mit den Rechnern hinter dem Router nicht mehr ins Internet.

Könntet ihr euch meine /etc/network/interfaces mal anschauen?

auto lo
iface lo inet loopback

#auto eth0
#iface eth0 inet dhcp

#auto ppp0
#iface ppp0 inet dhcp

# KONFIGURATION ALS SERVER
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255

auto wlan0 
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0
broadcast 192.168.2.255


up /sbin/iptables -F
up /sbin/iptables -X
up /sbin/iptables -t nat -F


# alles dichtmachen
#up /sbin/iptables -P INPUT DROP
#up /sbin/iptables -P OUTPUT DROP
#up /sbin/iptables -P FORWARD DROP
up /sbin/iptables -A INPUT -i lo -j ACCEPT
up /sbin/iptables -A OUTPUT -o lo -j ACCEPT

# SSH von intern zulassen
up /sbin/iptables -A INPUT -p tcp -i eth0 --dport 22 -d 192.168.1.1 -s 192.168.0.0/16 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -A OUTPUT -p tcp -o eth0 --sport 22 -s 192.168.1.1 -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Samba Server zulassen
up /sbin/iptables -A OUTPUT -p udp -o eth0 --sport 137:139 -d 192.168.1.255 -s 192.168.1.1 -j ACCEPT
up /sbin/iptables -A INPUT -p tcp -i eth0 --dport 137:139 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -A INPUT -p udp -i eth0 --dport 137:139 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -A OUTPUT -p tcp -o eth0 --sport 137:139 -m state --state ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -A OUTPUT -p udp -o eth0 --sport 137:139 -m state --state ESTABLISHED,RELATED -j ACCEPT

# normale Internet-Services zulassen
up /sbin/iptables -A OUTPUT -o ppp0 -p tcp --dport 80 --sport 1024:65535 -j ACCEPT
up /sbin/iptables -A OUTPUT -o ppp0 -p tcp --dport 80 --sport 80 -j ACCEPT
up /sbin/iptables -A OUTPUT -o ppp0 -p tcp --dport 443 --sport 1024:65535 -j ACCEPT
up /sbin/iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
up /sbin/iptables -A OUTPUT -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT

#forwarding
up /sbin/iptables -A FORWARD -o ppp0 -s 192.168.0.0/16 -m conntrack --ctstate NEW -j ACCEPT
up /sbin/iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
up /sbin/sysctl -w net.ipv4.ip_forward=1

######################### Allgemeiner Part

up /etc/init.d/hostapd restart
up /etc/init.d/dnsmasq restart

An eth0 bzw. wlan0 hängen alle Clients, ins Internet gehts per ppp0.

Die 3 Zeilen nach "alles dichtmachen" sind auskommentiert, dann läuft alles. Sobald ich sie einkommentiere gehts wie gesag sie einkommentiere gehts wie gesagt nicht mehr ins Internet

Weißt Du welche iptables-chain des Routers zuständig ist, um die Clients am Router ins Internet zu lassen? Wenn ja, welche Regeln hast Du für diese chain erstellt?

schindi77

(Themenstarter)

Anmeldungsdatum:
10. Februar 2012

Beiträge: 46

Es gibt nur diese chains, die ich hier gepostet habe

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

schindi77 schrieb:

Es gibt nur diese chains, ...

Richtig, andere chains werden auch nicht benötigt.

schindi77

(Themenstarter)

Anmeldungsdatum:
10. Februar 2012

Beiträge: 46

wie meinst du das jetzt?

Ich würde ja gerne alle nicht gewünschten Pakete droppen und die ganze Geschichte noch etwas verfeinern.

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

schindi77 schrieb:

Mein Problem ist nun, daß sobald ich die default policys für input/output/forward auf DROP stelle, komme ich mit den Rechnern hinter dem Router nicht mehr ins Internet.

schindi77 schrieb:

wie meinst du das jetzt?

Ich meinte, dass bei meinem Router die default policys für die INPUT- bzw. OUTPUT-chains (auch ohne Ergänzungsregeln) auf DROP sein können und die default policy der FORWARD chain auch auf DROP sein kann, wenn noch entsprechende Ergänzungsregeln an der richtigen Stelle für diese FORWARD-chain vorhanden. Das gilt nur wenn ich den Router nicht als proxy, etc. benutze.

schindi77

(Themenstarter)

Anmeldungsdatum:
10. Februar 2012

Beiträge: 46

wie jetzt? Vorher schreibst du:

mickydoutza schrieb:

Richtig, andere chains werden auch nicht benötigt.

und dann, daß noch Ergänzungsregeln für die forward-chain gebraucht werden.

Wie müßte so eine forward regel bspw. für http aussehen, wenn ppp0 die internet-verbindung und an eth0 die clients hängen?

Und was bedeutet: "And der richtigen Stelle"?

Wo ist diese richtige Stelle?

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

schindi77 schrieb:

wie jetzt? Vorher schreibst du:

mickydoutza schrieb:

Richtig, andere chains werden auch nicht benötigt.

und dann, daß noch Ergänzungsregeln für die forward-chain gebraucht werden.

Ja, mit Absicht und ... kein Widerspruch. chain ist chain und iptables-Regel ist iptables-Regel. 😉

schindi77

(Themenstarter)

Anmeldungsdatum:
10. Februar 2012

Beiträge: 46

Sorry aber was hast du hier vor?

Du würdest mir mehr helfen, wenn du meine Fragen beantworten würdest und nicht mich noch mehr verwirren.

Ich wende mich an das Forum weil ich Anfänger bin und um hier Hilfe zu erhalten.

Nein ich weiß nicht, welche Chain oder Regel zuständig ist, um die clients ins Internet zu lassen.

Brauch ich eine extra Regel, wenn ja, wie sieht diese aus?

Ich würde hier nicht fragen wenn ich es wüßte.

Nochmal: meine komplette Konfig ist in der geposteten /etc/network/interfaces.

Wenn ich die default-policys auf "DROP" stelle, komme ich nichtmal mehr vom Firewall-Rechner selber aus ins Internet, dann funktioniert gar nicht mehr. Das kann m.M.n. nicht richtig sein, ich würde nun gerne erfahren, wo der Fehler liegt.

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

schindi77 schrieb:

Nein ich weiß nicht, welche Chain oder Regel zuständig ist, um die clients ins Internet zu lassen.

M. E. solltest Du dich mit den iptables basics vertraut machen. Ich denke es wäre keine Hilfe für dich, wenn dir jemand das iptables-Script hier erstellt.

schindi77

(Themenstarter)

Anmeldungsdatum:
10. Februar 2012

Beiträge: 46

Keiner sagt, daß ich hier ein fertiges script haben will.

Ich kämpfe schon seit Tagen mit diesem Problem. Iptables basics lernen ist gut. Sag mir wo.

Ich stelle eine konkrete Frage und bekomme keine sinnvolle Antwort von dir, also lass es. Was bist du hier, der Forenverwirrer? Selten so was sinnloses erlebt, ich verlier hier gleich meine nettiquette.

An alle anderen außer mickydoutza:

Ich wähle mich per wvdial über einen umts stick lokal am Rechner ins Internet ein. Diese Einwahl funktioniert, was ich an der Ausgabe von ifconfig und wvdial selber erkenne.

Ich habe folgendes aus dem iptables wiki kopiert, habe nur eth0 auf ppp0 geändert. Mit dieser /etc/network/interfaces:

auto lo
iface lo inet loopback

up /sbin/iptables -F                              					#alle Regeln löschen
up /sbin/iptables -P INPUT DROP			 					#Policy für Tabelle filter, INPUT Chain
up /sbin/iptables -P OUTPUT DROP			 					#Policy für Tabelle filter, OUTPUT Chain
up /sbin/iptables -P FORWARD DROP		 					#Policy für Tabelle filter, FORWARD Chain
up /sbin/iptables -A INPUT -i lo -j ACCEPT	 					#eingehende Kommunikation für lo (Localhost) zulassen
up /sbin/iptables -A OUTPUT -o lo -j ACCEPT	 					#ausgehende Kommunikation für lo (Localhost zulassen
up /sbin/iptables -A OUTPUT -o ppp0 -p tcp --dport 80 --sport 80:65535	-j ACCEPT	#ausgehende HTTP Verbindungen für Ports 1024 -> 65535 zulassen
up /sbin/iptables -A OUTPUT -o ppp0 -p tcp --dport 443 --sport 80:65535 -j ACCEPT	#ausgehende HTTPS Verbindungen für Ports 1024 -> 65535 zulassen
up /sbin/iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT	#eingehende Paket für existierende Verbindungen zulassen
up /sbin/iptables -A OUTPUT -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT	#ausgehende Paket für existierende Verbindungen zulassen 

Kann ich lokal, vom gleiche Rechner aus, NICHT ins Internet. Ich kann weder google anpingen noch ein "apt-get update" geht raus.

Wieso ist das so, bitte helft mir.......

Fehlt hier eine Regel um rauspingen zu können? "apt-get update" müßte doch über port 80 laufen oder? Der ist doch freigegeben, warum kann ich also nicht raus?

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

schindi77 schrieb:

Iptables basics lernen ist gut. Sag mir wo.

Z. B.:

http://ipset.netfilter.org/iptables.man.html

http://wiki.ubuntuusers.de/iptables2

http://netfilter.org/documentation/index.html#documentation-howto

schindi77

(Themenstarter)

Anmeldungsdatum:
10. Februar 2012

Beiträge: 46

Wieder keine Hilfe, sorry.

All diese Seiten kenn ich schon seit längerem, aber für mein Problem habe ich keine Antwort gefunden.

Wenn du lesen würdest was ich schreibe, dann hättest du gemerkt

schindi77 schrieb:

Ich habe folgendes aus dem iptables wiki kopiert

daß ich von da meine Infos beziehe.

Beantworte bitte meine Fragen oder halt dich raus, sorry.

schindi77 schrieb:

Fehlt hier eine Regel um rauspingen zu können? "apt-get update" müßte doch über port 80 laufen oder? Der ist doch freigegeben, warum kann ich also nicht raus?

Antworten |