OpenVPN - Routen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Schmide
Beiträge: 33
Registriert: 22.01.2005 11:19:42

OpenVPN - Routen

Beitrag von Schmide » 24.01.2007 21:47:02

Hallo Leute,
schön langsam verzweifle ich denn ich bekomme das routing nicht hin.
Folgende Situation:
Client 1 --> Fritz-Box (inkl. Open-VPN-Client) --> WWW --> Router --> Debian-Server (Open-VPN-Server) --> Client 2

der Ping vom Debian-Server zur Fritz-Box mit seinem Netz dahinter funktioniert ohne Probleme.
der Ping von Client 2 auf Fritz-Box funktioniert leider nicht das ist das Problem.
Die Netze:
Client 1 und Fritz-Box sind im Netz: 192.168.1.0
Fritz-Box IP: 192.168.1.1
Router, Debian-Server und Client 2 sind im Netz :192.168.170.0
Router IP: 192.168.178.1
Debian-Server-IP: 192.168.178.10

Die Routing-Tabelle des Routers:

Code: Alles auswählen

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
192.168.178.0   *               255.255.255.0   U     0      0        0 lan
192.168.178.0   *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     192.168.178.10  255.255.255.0   UG    0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl
Die Config des Servers:

Code: Alles auswählen

dev tun0
ifconfig 192.168.200.2 192.168.200.1
tun-mtu 1500
float
mssfix
secret /etc/openvpn/zertifikate/secret.key
proto tcp-server
port 1194
verb 5
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log
route 192.168.1.0 255.255.255.0
ping 15
ping-restart 120
push "route 192.168.178.0 255.255.255.0"
Die Routing-Tabelle des Servers:

Code: Alles auswählen

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.200.1   *               255.255.255.255 UH    0      0        0 tun0
192.168.178.0   *               255.255.255.0   U     0      0        0 br0
192.168.1.0     192.168.200.1   255.255.255.0   UG    0      0        0 tun0
default         fritz.box       0.0.0.0         UG    0      0        0 br0
Wie gesagt von Server zur Fritz-Box funktionierts, leider aber nicht vom Client 2 auf die Fritz-Box.

Hoffe es kann mir jemand helfen.

Gruss
Schmide

Benutzeravatar
chroiss
Beiträge: 332
Registriert: 29.10.2004 09:29:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)

Beitrag von chroiss » 29.01.2007 20:18:58

ich schätze mal das das GW vom client 2 ist der Router ( auch ok )


so wie es aussieht fkt. die rückroute nicht.
Anscheinend verweigert die Fritzbox den push befehl.

edit
edit

ich habe keine fritzbox trotzdem bin ich mir sicher das du dort eine route eintragen kannst.

und zwar netz 192.168.178.0 über 192.168.200.2

gruss chroiss



[EDIT]
wenn die fritzbox auch mit einer conf.datei arbeitet ( ich weiss es nicht)
würde darin die Route noch schöner wirken :

Code: Alles auswählen

route 192.168.178.0 255.255.255.0 192.168.200.2
[/EDIT]
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.

Schmide
Beiträge: 33
Registriert: 22.01.2005 11:19:42

Beitrag von Schmide » 01.02.2007 21:44:56

Hallo chroiss,
ich schätze mal das das GW vom client 2 ist der Router ( auch ok )
Das Stimmt!!
Kann ich das auch ändern bzw was muß ich auf dem Server für eine Route eintragen?
So sollte es sein:
Client --> Server --> Router
192.168.178.100 --> 192.168.178.10 --> 192.168.178.1

Kann man das machen?

Gruss
Schmide

Benutzeravatar
chroiss
Beiträge: 332
Registriert: 29.10.2004 09:29:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)

Beitrag von chroiss » 02.02.2007 20:23:26

Auf der Fritzbox :

192.168.178.0 --> 192.168.200.2

was so viel heisst für deine Fritzbox wie :Alles was ins Netz 192.168.178.0 will, muss über die Schnittstelle laufen, die im Netz 192.168.200.0 liegt und somit 192.168.200.2 erreichen kann.
unter Debian wäre das (Nur als Beispiel) :

Code: Alles auswählen

route add -net 192.168.178.0 netmask 255.255.255.0 gw 192.168.200.2 dev tap0
Du musst es aber auf der Fritzbox machen.

Insgesamt ist das von mir aber geschätzt, da du in der Server Config ja schon die richtige Route eingetragen hast, denke ich das die Fritzbox den Push Befehl nicht aktzeptiert oder interpretieren kann.
Deshalb solltest Du den Pushbefehl herausnehmen und die Route "manuell" auf der FritzBox eintragen.
kann ich das auch ändern bzw was muß ich auf dem Server für eine Route eintragen?
So sollte es sein:
Client --> Server --> Router
192.168.178.100 --> 192.168.178.10 --> 192.168.178.1
Das wäre ja Quatsch: Du erzählst dann einem Rechner das er einen anderen erreichen kann der im selben Netz liegt wie er.
Unnötig und falsch .



gruss chroiss
Zuletzt geändert von chroiss am 02.02.2007 23:16:07, insgesamt 1-mal geändert.
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.

Benutzeravatar
chroiss
Beiträge: 332
Registriert: 29.10.2004 09:29:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)

Beitrag von chroiss » 02.02.2007 20:27:51

Hier ist das Bild -> http://www.wlan.burgcity.de/routing_fritz.jpg


nach diesem Schema machst du 192.168.178.0 255.255.255.0 192.168.200.2

gruss chroiss
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.

Schmide
Beiträge: 33
Registriert: 22.01.2005 11:19:42

Beitrag von Schmide » 08.02.2007 19:44:32

Hallo chroiss,

hatte leider wenig Zeit, deshalb starte ich jetzt einen neuen Versuch.
Habe die Anleitung wie in dem folgenden Link benutzt.

http://www.linuxforen.de/forums/showthread.php?t=169354

2) OpenVPN Tunnel mit Zertifikaten, Site-to-Site, 2 Server (Linux)

Nun habe ich jeweils einen Debian Server mit den Netzen.
192.168.1.0
192.168.178.0

beide Server stehen hinter einem Router.

folgendes kann ich machen:
Ping von Server A auf Server B

Code: Alles auswählen

server:~# ping 10.1.0.2
PING 10.1.0.2 (10.1.0.2) 56(84) bytes of data.
64 bytes from 10.1.0.2: icmp_seq=1 ttl=64 time=237 ms
64 bytes from 10.1.0.2: icmp_seq=2 ttl=64 time=136 ms
64 bytes from 10.1.0.2: icmp_seq=3 ttl=64 time=119 ms
64 bytes from 10.1.0.2: icmp_seq=4 ttl=64 time=140 ms
Ping von Server B auf Server A

Code: Alles auswählen

sarge:~# ping 10.1.0.1
PING 10.1.0.1 (10.1.0.1) 56(84) bytes of data.
64 bytes from 10.1.0.1: icmp_seq=1 ttl=64 time=132 ms
64 bytes from 10.1.0.1: icmp_seq=2 ttl=64 time=125 ms
64 bytes from 10.1.0.1: icmp_seq=3 ttl=64 time=123 ms
64 bytes from 10.1.0.1: icmp_seq=4 ttl=64 time=126 ms
Server A:

Code: Alles auswählen

dev tap
proto udp
port 1194
mode server
ifconfig 10.1.0.1 255.255.255.0
tls-server
dh /etc/openvpn/zertifikate/dh2048.pem
ca /etc/openvpn/zertifikate/ca.crt 
cert /etc/openvpn/zertifikate/server.crt 
key /etc/openvpn/zertifikate/server.key 
cipher AES-256-CBC 
user nobody # Nur Linux 
group nogroup # Nur Linux 
status /etc/openvpn/openvpn-status.log 
comp-lzo 
verb 3
Server B:

Code: Alles auswählen

dev tap
remote xxxxxxx
ifconfig 10.1.0.2 255.255.255.0
tls-client
ca /etc/openvpn/zertifikate/ca.crt
cert /etc/openvpn/zertifikate/server2.crt
key /etc/openvpn/zertifikate/server2.key
port 1194
cipher AES-256-CBC
user nobody		# Nur Linux
group nogroup	# Nur Linux
comp-lzo
verb 3
Leider kann ich keine IP im Netz dahinter pingen.

Code: Alles auswählen

server:~# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

--- 192.168.1.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2001ms
Kannst du mir bitte auf die Sprünge helfen.

Gruss
Schmide

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 08.02.2007 22:13:03

Hallo,

also zuerst musst du für dein Szenario sowohl auf Server A, als auch Server B "IP_FORWARD" aktivieren.

Und zweitens muss der Server A und die Clients im Netz 192.168.178.0/24 wissen, das sie Netz 192.168.1.0/24 über 10.1.0.2 erreichen. Das gleiche gilt für Server B und die Clients im Netz 192.168.1.0/24 entsprechend andersherum. Das geht über das Setzen von Routen.

Schmide
Beiträge: 33
Registriert: 22.01.2005 11:19:42

Beitrag von Schmide » 08.02.2007 22:58:10

Hallo DynaBlaster,

IP_FORWARD ist in der config von Shorewall auf beiden Rechnern gesetzt.

folgende Routen habe ich jetzt gesetzt:
Server A: mit dem Netz 192.168.178.0

Code: Alles auswählen

server:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.178.0   *               255.255.255.0   U     0      0        0 br0
192.168.1.0     10.1.0.2        255.255.255.0   UG    0      0        0 tap3
10.1.0.0        *               255.255.255.0   U     0      0        0 tap3
default         fritz.box       0.0.0.0         UG    0      0        0 br0
server:~#
Server B: mit dem Netz 192.168.1.0

Code: Alles auswählen

sarge:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.178.0   10.1.0.1        255.255.255.0   UG    0      0        0 tap0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
10.1.0.0        *               255.255.255.0   U     0      0        0 tap0
default         router          0.0.0.0         UG    0      0        0 eth0
sarge:~#
Jetzt kann ich von Server A (IP 192.168.178.10) den Server B (IP 192.168.1.2) pingen genauso umgekehrt.
Aber dahinter kann ich nichts pingen z.B: die 192.168.1.1

Gruss
Schmide

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 08.02.2007 23:25:10

Ja klar, weil z.B. dem Router 192.168.1.1 immer noch die Route ins Netz 192.168.178.0/24 fehlt. Also schickt er und alle Clients, die ihn als Standard-GW nutzen, ihre Pakete über den WAN-Anschluss des Routers raus - die Antwortpakete gehen also ins Nirvana.

Chroiss schrieb doch schon, dass du statische Routen auf den DSL-Routern setzen sollst - dann kannst du dir die manuellen route-Befehle auf den Servern A und B sparen, weil sie dei Route ins Netz hinter dem jeweils anderen Server dann von ihrem Standard-Gateway erfahren ...

Lässt die Firewall (Shorewall) auf den Servern denn Pakete durch die FORWARD-CHAIN passieren ?

balduin222
Beiträge: 147
Registriert: 07.04.2005 19:51:42

Beitrag von balduin222 » 09.02.2007 09:30:31

Also am einfachsten ist es doch, wenn du auf dem Router mit der IP 192.168.178.1 eine Route anlegst. Und zwar

Code: Alles auswählen

192.168.1.0 via 192.168.178.10
Dann brauchst du nicht auf jedem Client im 192.168.178er Netz ne Route anlegen.

Gruß
balduin222

Schmide
Beiträge: 33
Registriert: 22.01.2005 11:19:42

Beitrag von Schmide » 13.02.2007 19:34:55

Hallo Leute,

sorry das ich mich so spät melde, bin leider krank.
Dank an alle endlich funktionierts.

Gruss
Schmide

Antworten