Toon posts:

Netwerk achter VPN werkt niet (openvpn onder linux)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,

Ik zit hier met een probleem dat ik de routing van het netwerk achter mijn VPN niet aan de gang krijg.
Situatieschets:

Netwerk 1 --> Server1 ---> Router --> Internet --> Router --> Server 2 --> Netwerk 2

Even wat gegevens van server1:

tun0 Link encap:Point-to-Point Protocol
inet addr:192.168.1.200 P-t-P:192.168.5.200 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1256 Metric:1
RX packets:23 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:1932 (1.8 Kb) TX bytes:1316 (1.2 Kb)

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.5.0 192.168.5.200 255.255.255.0 UG 0 0 0 tun0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default router.eegtech. 0.0.0.0 UG 0 0 0 eth0

[root@server1 root]# ping 192.168.5.200
PING 192.168.5.200 (192.168.5.200) 56(84) bytes of data.
64 bytes from 192.168.5.200: icmp_seq=1 ttl=64 time=53.2 ms

Pingen naar de remote host werkt goed zoals blijkt uit bovenstaand pingetje.


Gegevens van server2:

[root@amber root]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.200 * 255.255.255.255 UH 0 0 0 tun0
192.168.5.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 192.168.1.200 255.255.255.0 UG 0 0 0 tun0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.5.254 0.0.0.0 UG 0 0 0 eth0

tun0 Link encap:Point-to-Point Protocol
inet addr:192.168.5.200 P-t-P:192.168.1.200 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1256 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:252 (252.0 b) TX bytes:252 (252.0 b)

Allebei de server's hebben het ipforwarding regeltje opgenomen in het opstartsscript van openvpn:

echo 1 > /proc/sys/net/ipv4/ip_forward

Het probleem is dus dat ik van server2 niet naar het lokale netwerk van server1 kan pingen en van server1 niet naar het lokale netwerk van server2 kan pingen. Uiteindelijk moet het zo zijn dat een client van het netwerk van server1 moet kunnen pingen naar een client op het netwerk van server2.

[root@amber root]# ping 192.168.1.3
PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.

--- 192.168.1.3 ping statistics ---
7 packets transmitted, 0 received, 100% packet loss, time 6010ms

Wat zie ik over het hoofd???

Verwijderd

Enige wat ik me kan bedenken zo snel is dat hij het verkeer weer doorsluisd naar de default-router, je e-tech dus.

Maak daar ook eens een regel aan voor alle netwerken, bij beide netwerken.

Misschien dat het wat helpt :)

En maak eens een schemaatje, dat werkt sneller :)

Verwijderd

Ik kan niet helemaal lezen wat daar staat, maar meestal ligt het aan een van de volgende 2 dingen :

- Statische routes niet toegevoegd aan 1 van de servers, dat de paketten niet de weg terug vinden dus.

- Dat de 2 netwerken dezelfde range gebruiken, bv: 192.168.1.X . Dat vindt VPN ook niet lekker.

Verwijderd

Ping vanaf server1 naar een werkstation in het netwerk van server2.
Draai op server2 een tcpdump opzowel de tun0 als op de eth0 interface.

Post de log daar van eens hier.
(ik denk dat de routing ergens in de soep loopt)

Een cat /proc/sys/net/ipv4/ip_forward geeft ook daadwerkelijk een 1 terug?
Je weet zeker dat je geen firwewall hebt draaien? (Iptables -L )

edit:

ipsec0 moet tun0 zijn

[ Voor 20% gewijzigd door Verwijderd op 16-03-2004 09:55 ]


Verwijderd

Topicstarter
Ok hier komen de tcpdump's:

Ik heb gepingt vanaf server2 naar een client in het netwerk van server1 (client-3.eeg....)

tcpdump van tun0 op server1:

tcpdump: listening on tun0
19:54:40.604985 192.168.5.100 > 192.168.1.3: icmp: echo request (DF)
19:54:41.621587 192.168.5.100 > 192.168.1.3: icmp: echo request (DF)
19:54:42.621341 192.168.5.100 > 192.168.1.3: icmp: echo request (DF)

tcpdump van eth0 op server1:
19:50:50.980170 192.168.5.100 > client-3.eegtech.com: icmp: echo request (DF)
en nog een hele hoop zooi maar geen echo antwoord....

hij komt dus wel degelijk op 't netwerk maar er komt niets terug!
waar zit nu precies de fout??

[ Voor 111% gewijzigd door Verwijderd op 16-03-2004 19:55 ]


  • Predator
  • Registratie: Januari 2001
  • Laatst online: 16:41

Predator

Suffers from split brain

PNS -> NOS

Everybody lies | BFD rocks ! | PC-specs


Verwijderd

Het werkstation dat je wilt pingen moet ook de weg terug "vinden". De reply wordt richting je default gw geduwd en niet naar je linux server.

Voor al je statische route vragen:
code:
1
route /?



Succes ermee!

Verwijderd

Topicstarter
Verwijderd schreef op 16 maart 2004 @ 19:59:
Het werkstation dat je wilt pingen moet ook de weg terug "vinden". De reply wordt richting je default gw geduwd en niet naar je linux server.

Voor al je statische route vragen:
code:
1
route /?



Succes ermee!
't kan zijn dat ik scheel ben maar ik zie hier toch echt wel de juiste route staan:

[root@server1 root]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.5.100 * 255.255.255.255 UH 0 0 0 tun0
192.168.5.0 192.168.5.100 255.255.255.0 UG 0 0 0 tun0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default router.eegtech. 0.0.0.0 UG 0 0 0 eth0

hellup :X

ik vind trouwens nog iets vaags in mijn tcpdump:
20:29:32.821558 192.168.5.100 > client-3.eegtech.com: icmp: echo request (DF)
20:29:32.825834 client-3.eegtech.com.1062 > server1.eegtech.com.ssh: . ack 13021056 win 64240 (DF)
20:29:32.826212 client-3.eegtech.com.1062 > server1.eegtech.com.ssh: P 2395329:2395381(52) ack 13021056 win 64240 (DF)
20:29:32.826308 server1.eegtech.com.ssh > client-3.eegtech.com.1062: P 13021056:13021236(180) ack 2395381 win 8576 (DF) [tos 0x10]

client 3 stuurt wel iets terug naar server1 maar wat dat is ????

[ Voor 28% gewijzigd door Verwijderd op 16-03-2004 20:29 ]


Verwijderd

1. Je moet een statische route toevoegen op de clients. (Op de server wordt deze automatisch aangemaakt door OpenVPN.

2.
20:29:32.826212 client-3.eegtech.com.1062 > server1.eegtech.com.ssh: P
Er loopt SSH verkeer tussen je werkstation en server.
Mijn magische bol hier verteld me dat je je server beheerd via putty of iets dergelijks :)


ps:
Als je je default gateway van je clients laat verwijzen naar je linux machines ipv naar je router dan ben je er ook.

Verwijderd

Topicstarter
Verwijderd schreef op 16 maart 2004 @ 21:09:
1. Je moet een statische route toevoegen op de clients. (Op de server wordt deze automatisch aangemaakt door OpenVPN.

2.

[...]


Er loopt SSH verkeer tussen je werkstation en server.
Mijn magische bol hier verteld me dat je je server beheerd via putty of iets dergelijks :)
oepss :D jah idd ;) *over hoofd gezien* |:(
ps:
Als je je default gateway van je clients laat verwijzen naar je linux machines ipv naar je router dan ben je er ook.
dit werkt jammer genoeg ook niet :( er klopt ergens nog iets niet.... maar wat 8)7

Verwijderd

Hmm ik heb de openvpn pagina er eens op na geslagen. Als je deze howto volgt: http://openvpn.sourceforge.net/howto.html dan moet je toch een eind komen.

Je kan ook een tunnel maken tussen 2 hosts en dus niet tussen 2 subnetten. (Dat is ook een voorbeeldje wat ze geven op hun site) Dat kan verklaren waarom je alleen tussen de servers kan pingen. Overgens is het wel raar dat de icmp pakketten wel het andere lan op gestuurd worden.

Heb je het toch volgens bovenstaande howto gedaan dan zou ik je firewall instellingen toch maar eens nalopen. (controleer ook effe je logs dan kun je effe checken of dat Iptables niks blokt.

Succes ermee.

(Martijn is toch meer een FreeSwan typje :) )

Verwijderd

Topicstarter
Verwijderd schreef op 16 maart 2004 @ 21:43:
Hmm ik heb de openvpn pagina er eens op na geslagen. Als je deze howto volgt: http://openvpn.sourceforge.net/howto.html dan moet je toch een eind komen.

Je kan ook een tunnel maken tussen 2 hosts en dus niet tussen 2 subnetten. (Dat is ook een voorbeeldje wat ze geven op hun site) Dat kan verklaren waarom je alleen tussen de servers kan pingen. Overgens is het wel raar dat de icmp pakketten wel het andere lan op gestuurd worden.

Heb je het toch volgens bovenstaande howto gedaan dan zou ik je firewall instellingen toch maar eens nalopen. (controleer ook effe je logs dan kun je effe checken of dat Iptables niks blokt.

Succes ermee.

(Martijn is toch meer een FreeSwan typje :) )
jah 't klopt echt allemaal ik heb die howto 50x doorgelezen ofzo :P en iptables staat niet aan...... jah en anders maar Freeswan maar denk dat ik dan op 'tzelfde probleem stuit want het probleem zit niet in de vpn software zelf lijkt me...

  • PowerSp00n
  • Registratie: Februari 2002
  • Laatst online: 17-11-2025

PowerSp00n

There is no spoon

Ik ben op het moment lekker met OpenVPN bezig, en heb hetzelfde meegemaakt. Na wat proberen was ik erachter waardoor het komt. Als jij vanaf een van de VPN machines iets aan de andere kant van de endpoint probeert te pingen komt dat vanaf het IP van je endpoint. Maar enkel de VPN machine aan de andere kant weet de route naar dat IP nummer, hierdoor bereik je alleen de server aan de andere kant. Simpel op te lossen door een route toe te voegen voor het ip van de endpoint. Misschien beetje brak uitgelegd, hier is het in ieder geval opgelost :).
Pagina: 1