iptables Forward Problem

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
BestOfMe
Beiträge: 46
Registriert: 29.04.2012 19:25:55

Re: iptables Forward Problem

Beitrag von BestOfMe » 09.05.2012 17:28:06

Gunman1982 hat geschrieben: Ich würd die interfaces erstmal so lassen. Bearbeite lieber das vpn script mit dem du die Verbindung (tun0) aufbaust. Sobald die steht bearbeitest du die default route mit dem Befehl route

Code: Alles auswählen

route del default
route add -host 1.1.1.1 gw 192.168.0.254
route add default gw 10.0.0.1
1.1.1.1 <- server-ip im internet
10.0.0.1 <- serverip über den vpn-tunnel
192.168.0.254 <- dein router zuhaus

Ersetze hierbei die ip 1.1.1.1 mit der Ip deines VPN-Servers im Internet. Also mit dessen öffentlicher IP, die die auch in deinem VPN-Client steht, zu der du diesen verbindest. Zudem würde ich die 3 Zeilen einfach ans Ende deines vpn-verbindungs-scripts packen.
Nur der verständnishalber, Diese 3 Zeilen bewirken doch, dass die Verbindung zur öffentlichen IP meines Server's über meinen DSL Router läuft!? und alle anderen Anderen Anfragen werden über den VPN Tunnel beantwortet?!

Meine openvpn-conf auf dem Client sieht folgendermaßen aus:

Code: Alles auswählen

# /etc/openvpn/config
# Client Configuration for virtual private Network
dev tun0
remote ÖFFENTLICHE IP DES SERVERS
ifconfig 10.0.0.249 10.0.0.1
secret /etc/openvpn/openvpn.sec
tun-mtu 1500
fragment 1500
mssfix
nun soll ich noch die Zeilen mit anhängen?!

Code: Alles auswählen

route del default
route add -host 1.1.1.1 gw 192.168.0.254
route add default gw 10.0.0.1
Ich glaube ja kaum dass openvpn damit etwas anfangen kann oder?!

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables Forward Problem

Beitrag von Gunman1982 » 09.05.2012 17:42:34

BestOfMe hat geschrieben:
Gunman1982 hat geschrieben: Ich würd die interfaces erstmal so lassen. Bearbeite lieber das vpn script mit dem du die Verbindung (tun0) aufbaust. Sobald die steht bearbeitest du die default route mit dem Befehl route

Code: Alles auswählen

route del default
route add -host 1.1.1.1 gw 192.168.0.254
route add default gw 10.0.0.1
1.1.1.1 <- server-ip im internet
10.0.0.1 <- serverip über den vpn-tunnel
192.168.0.254 <- dein router zuhaus

Ersetze hierbei die ip 1.1.1.1 mit der Ip deines VPN-Servers im Internet. Also mit dessen öffentlicher IP, die die auch in deinem VPN-Client steht, zu der du diesen verbindest. Zudem würde ich die 3 Zeilen einfach ans Ende deines vpn-verbindungs-scripts packen.
Nur der verständnishalber, Diese 3 Zeilen bewirken doch, dass die Verbindung zur öffentlichen IP meines Server's über meinen DSL Router läuft!? und alle anderen Anderen Anfragen werden über den VPN Tunnel beantwortet?!
Richtig
BestOfMe hat geschrieben: Meine openvpn-conf auf dem Client sieht folgendermaßen aus:

Code: Alles auswählen

# /etc/openvpn/config
# Client Configuration for virtual private Network
dev tun0
remote ÖFFENTLICHE IP DES SERVERS
ifconfig 10.0.0.249 10.0.0.1
secret /etc/openvpn/openvpn.sec
tun-mtu 1500
fragment 1500
mssfix
nun soll ich noch die Zeilen mit anhängen?!

Code: Alles auswählen

route del default
route add -host 1.1.1.1 gw 192.168.0.254
route add default gw 10.0.0.1
Ich glaube ja kaum dass openvpn damit etwas anfangen kann oder?!
Die openvpn-conf ist nicht das vpn-verbindungs-script. Du startest den Tunnel indem du warscheinlich

Code: Alles auswählen

/etc/init.d/openvpn start
eingibst oder? Also ist /etc/init.d/openvpn das script zum starten der Verbindung. Du kannst die 3 Befehle natürlich auch unabhängig vom vpn-script einfach händisch nach dem Aufbauen der Verbindung ausführen. Vergiss aber nicht die 1.1.1.1 Adresse mit der realen zu ersetzen.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: iptables Forward Problem

Beitrag von Cae » 09.05.2012 18:25:45

BestOfMe hat geschrieben:nun soll ich noch die Zeilen mit anhängen?!

Code: Alles auswählen

route del default
route add -host 1.1.1.1 gw 192.168.0.254
route add default gw 10.0.0.1
Ich glaube ja kaum dass openvpn damit etwas anfangen kann oder?!
Es geht nicht um glauben oder nicht glauben, sondern um Fakten. Hättest du die Manpage von openvpn(8) gelesen, wüsstest du, dass es sehr wohl "up $cmd"-Direktiven gibt, die direkt Skripte oder sonstige Befehle ausführen. Dort sind die Befehle zwar als Argumente in der Form --arg beschrieben, sind aber gleichbedeutend mit denen in der Config.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

BestOfMe
Beiträge: 46
Registriert: 29.04.2012 19:25:55

Re: iptables Forward Problem

Beitrag von BestOfMe » 12.05.2012 19:23:12

Also ich habe mich jetzt getraut die Route anzupassen...

Ausgehende Verbindungen über den Server funktionieren leider nicht...

Ich habe folgendes gemacht:

Client

Code: Alles auswählen

route del default
route add -host ÖFFENTLICH_SERVER_IP gw 192.168.0.254 (DSL-Router_IP)
route add default gw 10.0.0.1 (VPN_SERVER_IP)
Server

Code: Alles auswählen

iptables -A FORWARD -o eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --sport 80 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -j MASQUERADE
Nachdem es nicht gefruchtet hat, habe ich folgendes versucht

Server

Code: Alles auswählen

iptables -A FORWARD -o eth0 -p icmp -j ACCEPT
iptables -A FORWARD -i eth0 -p icmp -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -p icmp -j MASQUERADE
Anschließend habe ich versucht einen Ping an http://www.google.de leider ohne Erfolg...

ich dachte evtl. hakt etwas und ich müsse den Server Rebooten... Also habe ich die IP-Tables gelöscht mit

Code: Alles auswählen

iptables -F
iptables -t nat -F
Tja nachdem ich den Server neugestartet habe, waren alle Ports blockiert!! Ich kam nicht mehr auf den Server... Ich weiss zwar nicht was das Problem war, der Server Admin hat es aber wieder hinbiegen können und hat mir ne Rechnung von 50€ ausgestellt :mrgreen:

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables Forward Problem

Beitrag von Gunman1982 » 12.05.2012 19:55:44

BestOfMe hat geschrieben:Also ich habe mich jetzt getraut die Route anzupassen...

Ausgehende Verbindungen über den Server funktionieren leider nicht...

Ich habe folgendes gemacht:

Client

Code: Alles auswählen

route del default
route add -host ÖFFENTLICH_SERVER_IP gw 192.168.0.254 (DSL-Router_IP)
route add default gw 10.0.0.1 (VPN_SERVER_IP)
Versuch mal nach diesem Schritt 2 pings:

Code: Alles auswählen

ping ÖFFENTLICH_SERVER_IP
ping 10.0.0.1
Zusätzlich vielleicht noch traceroute zur ÖFFENTLICH_SERVER_IP Wenn beides klappt weisst du das du schonmal von deiner Kiste Zuhaus zum server kommst mit dieser Konfiguration.
Server

Code: Alles auswählen

iptables -A FORWARD -o eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --sport 80 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -j MASQUERADE
Nachdem es nicht gefruchtet hat, habe ich folgendes versucht
Was hast du versucht und hat nicht gefruchtet? Lass mich raten, url im Browser eingegeben und nix kam? Vielleicht noch den dns port hinzufügen? Also:

Code: Alles auswählen

iptables -A FORWARD -o eth0 -p tcp --dport http -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --sport http -j ACCEPT
iptables -A FORWARD -o eth0 -p tcp --dport domain -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --sport domain -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport domain -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport http -j MASQUERADE
Wenn du aber eh deine ganze Kommunikation über den Server schicken willst dann kannste auch das nehmen:

Code: Alles auswählen

iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -o tun0 -i eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Server

Code: Alles auswählen

iptables -A FORWARD -o eth0 -p icmp -j ACCEPT
iptables -A FORWARD -i eth0 -p icmp -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -p icmp -j MASQUERADE
Anschließend habe ich versucht einen Ping an http://www.google.de leider ohne Erfolg...
Again: DNS geht nicht wenn der Port nicht auch durchgeschleift wird.
ich dachte evtl. hakt etwas und ich müsse den Server Rebooten... Also habe ich die IP-Tables gelöscht mit

Code: Alles auswählen

iptables -F
iptables -t nat -F
Tja nachdem ich den Server neugestartet habe, waren alle Ports blockiert!! Ich kam nicht mehr auf den Server... Ich weiss zwar nicht was das Problem war, der Server Admin hat es aber wieder hinbiegen können und hat mir ne Rechnung von 50€ ausgestellt :mrgreen:
Das betrübt mich natürlich zu hören aber irgendwas is daran falsch. Wenn der Server neustartet sollte er die Standard iptables Regeln laden. Das dein iptables -F tödlich war ist nach kurzem überlegen recht verständlich. Deine iptables Firewall ist zu 99% Warscheinlichkeit auf Default Drop mit einigen expliziten ACCEPT Regeln die du da natürlich rausgekegelt hast. Also, sicher das du danach Rebootet hast? Schau sonst mal ob du unter /etc/init.d/ ne iptables oder firewall datei findest mit entsprechenden iptables Regeln.

BestOfMe
Beiträge: 46
Registriert: 29.04.2012 19:25:55

Re: iptables Forward Problem

Beitrag von BestOfMe » 13.05.2012 00:59:10

Ok ich habe erstmal nach dem Problem gesucht, dass mir die Ports nach dem Neustart gesperrt hat...

Webmin, hatte ich mal aus verzweifelung installiert... Dieser hat eine Datei erstellt iptables.up.rules

In dieser Datei waren meine verzweifelten Konfigurationen drin... Ich habe webmin deinstalliert und die Datei iptables.up.rules gelöscht!

Gleich morgen früh werde ich die route Konfiguration nochmal angehen!!

BestOfMe
Beiträge: 46
Registriert: 29.04.2012 19:25:55

Re: iptables Forward Problem

Beitrag von BestOfMe » 15.05.2012 09:55:39

Jetzt hab ich es doch tatsächlich zum laufen bekommen!!!

Wenn das Gateway geändert wird, hängt sich Openvpn auf!! Im Eifer des gefechts hatte ich es garnicht mehr realisiert...

Nun habe ich nach der Umstellung Openvpn neugestartet, jetzt läuft alles so wie ich es haben wollte!!!


BIG THX AN ALLE :hail: :hail: :hail: :hail: :hail: :hail:

BestOfMe
Beiträge: 46
Registriert: 29.04.2012 19:25:55

Re: iptables Forward Problem

Beitrag von BestOfMe » 04.06.2012 14:11:35

Zwei klitzekleine Fragen sind nun doch aufgetaucht...

1. Wenn der Server neugestartet wird, sind die iptables Regeln wieder weg... kann ich die iptables Regeln auch mitstarten lassen!?

2. In meinem gemieteten Server sind alle Port's standardmäßig offen. Ich traue mich nun nicht, alle Ports auf Drop zu setzen, da ich ja sonst auch nicht mehr per SSH auf den Server komme.... Kann ich auch Port-Bereiche sperren?! z.B. Port 10-21,23-79,81-64000 usw ?!?!

BTW: Ich habe auch schon den folgenden Thread gefunden: http://debianforum.de/forum/viewtopic.php?f=30&p=728707

Allerdings bin ich mir nicht sicher, ob das Script von Baer auf die iptables von dem Threadersteller einschränkt/bezieht...

sdh82
Beiträge: 160
Registriert: 07.10.2006 22:39:04

Re: iptables Forward Problem

Beitrag von sdh82 » 07.06.2012 09:56:45

Zu 1. Siehe iptables-save und iptables-restore oder init Skript bauen.
Zu 2. Ich wuerde immer default policy auf drop setzen bis nur auf die Ports, die das System und ich unbedingt brauche. Zum Testen kannst du ja jede X-beliebige Minute die IPtables-Regeln z.B. per cronjob flushen lassen. Wobei wenn SSH und DNS Regel korrekt sind, ist es dann cronjob zum Flushen der Regel eher unwichtig. Portbereiche kann man natuerlich sperren.

Auch wichtig, Log stets beim Konfigurieren einschalten, sonst findest du den Fehler nie.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: iptables Forward Problem

Beitrag von Cae » 08.06.2012 22:09:33

sdh82 hat geschrieben:Zum Testen kannst du ja jede X-beliebige Minute die IPtables-Regeln z.B. per cronjob flushen lassen.
Damit man sich beim Basteln nicht selbst aussperrt, hatte ich vor einiger Zeit einen Schleudersitz [1] entwickelt.

Gruß Cae

[1] viewtopic.php?p=847224#p847224
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

BestOfMe
Beiträge: 46
Registriert: 29.04.2012 19:25:55

Re: iptables Forward Problem

Beitrag von BestOfMe » 02.09.2012 12:52:12

Hallo allerseits,

kann man eigentlich sehen, welche IP-Adressen momentan umgeleitet werden? bzw. welche eingehenden Verbindungen über die entsprechenden Ports eingehen??

Kann man sich das im Live-Betrieb anzeigen lassen?? oder werden irgendwo geloggt???

Duch das "maskieren" sieht man ja am "Ziel-PC" nur die IP des umleitenden PC's...

Antworten