Linux iptables forwarding

Gast #4268147
Lesenswert?

Hallo,

ich habe auf meinem Linux Ubuntu einen OpenVPN Server, auf dem ein 
Client angemeldet ist. Auf diesem läuft ein Webserver.

Diesen Webserver will ich nun über die eigene IP vom Ubuntu zugänglich 
machen (nämlich 192.168.178.56:80).

Daher möchte ich bei einem Aufruf von 192.168.178.56:80 den Inhalt von 
192.168.1.2:80 anzeigen. Zusätzlich soll diese Regel nur für einen 
bestimmten Clienten im Netzwerk gelten, nämlich 192.168.178.32.

1
echo "1" > /proc/sys/net/ipv4/ip_forward
Ist gesetzt.

All meine anschließenden iptables Einträge machen keine Funktion oder 
leiten scheinbar ins Nichts weiter.

Meine Einträge sehen beispielsweise so aus:
1
iptables -t nat -A PREROUTING -p tcp -s 192.168.178.32 --dport 80 -j DNAT --to 192.168.1.2:80

Für mich bedeutet diese Regel, wenn von der Quelle 192.168.178.32 auf 
Port 80 zugegriffen wird, leite weiter auf 192.168.1.2:80.

Muss ich dann auch eine Rückwärtsregel definieren?

Jens
Gast #4268167
Lesenswert?

Dann erstelle ich eine Regel die besagt, dass Pakete von 192.168.1.2:80 
wietergeleitet werden auf 192.168.178.32:80.

Was ist, wenn mehreren Netzwerkteilnehmern so eine Regel zugewiesen 
werden soll?

Hin-Regeln:
1. Source: 192.168.178.32, Dport: 80, to: 192.168.1.2:80
2. Source: 192.168.178.33, Dport: 80, to: 192.168.1.2:80

Zurück-Regeln:
1. Source: 192.168.1.2, Dport: 80, to: ...... wie unterscheide ich jetzt 
zwischen den beiden Teilnehmern?
Gast #4268178
Lesenswert?

Jens schrieb:
> Das dacht ich mir irgendwie schon. Wieso könnte meine Regel aus dem
> ersten Beitrag ins Nichts laufen?

hast du mal geprüft ob die Regel greift?

Bei OpenVPN kommen die Daten aus dem "nichts". man kann sie auch nicht 
mit dem Input auswerten.

iptables -L -v -t nat

zeigt dir, wie oft die Regel verwendet wurde.
Gast #4268186
Lesenswert?

Ich habe die iptables geleert und will mit folgenden Eintrag 
192.168.178.32 auf 192.168.178.24:80 umleiten:
1
iptables -t nat -A PREROUTING -s 192.168.178.32 -p tcp --dport 80 -j DNAT --to 192.168.178.24:80

Mit "iptables -L -v -t nat" stelle ich nun fest, dass Pakete für diese 
Regel greifen 20 bis jetzt.

Wenn ich auf 192.168.178.32 die Adresse (der Linux Host) 192.168.178.56 
aufrufe passiert gar nichts mehr. :(
Gast #4268240
Lesenswert?

wie sind denn die IPs von den vpn endpunkten?

kann sein das du eine route von deinem vpn-server (192.168.178.32) zu 
deinem webserver-vpn-client (192.168.1.2) anlegen musst, damit der 
vpn-server weiß an welches interface er antworten für das 192.168.1.0/24 
netz senden soll.

können die rechner sich gegenseitig pingen?
also
192.168.178.32 ping -> 192.168.1.2
192.168.1.2 ping -> 192.168.178.32
Gast #4268257
Lesenswert?

c.m. schrieb:
> wie sind denn die IPs von den vpn endpunkten?
>
> kann sein das du eine route von deinem vpn-server (192.168.178.32) zu
> deinem webserver-vpn-client (192.168.1.2) anlegen musst, damit der
> vpn-server weiß an welches interface er antworten für das 192.168.1.0/24
> netz senden soll.
>
> können die rechner sich gegenseitig pingen?
> also
> 192.168.178.32 ping -> 192.168.1.2
> 192.168.1.2 ping -> 192.168.178.32

Ich kann jetzt nur die beiden Kommandos schreiben, mit denen ich 
erfolgreich war. Ping funktioniert.
1
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.178.32 --dport 80 -j DNAT --to 192.168.1.2:80
2

3
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.178.32 --dport 443 -j DNAT --to 192.168.1.2:443

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren