[Ubuntu] Default gateway VPN

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • dôh
  • Registratie: Juli 2000
  • Laatst online: 09-09 14:30
Ik zit met het volgende;

Op een Ubuntu machine maak ik een VPN verbinding, waar ik al het verkeer via wil laten lopen. Ik wil dus de default gateway van de VPN verbinding gebruiken.

Nu heb ik de verbinding 'tunnel' aangemaakt, en deze wordt perfect gemaakt.

Verder heb ik het volgende scriptie geschreven;

code:
1
2
3
4
5
6
7
/etc/ppp/ip-up.d/route
#!/bin/sh

if [ "${PPP_IPPARAM}" = "tunnel" ] ; then
  /sbin/route del default gw fritz.box dev eth0
  /sbin/route add default gw 192.168.2.1 dev ppp0
fi


Met dit scriptje zou de bestaande default gateway verwijderd moeten worden en de default gateway van de VPN server toegevoegd moeten worden. En dat is dus waar het fout gaat.

Als ik route intyp en de output bekijk dan staat er dit;

code:
1
2
3
4
5
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
53513067.cable. fritz.box       255.255.255.255 UGH   0      0        0 eth0
192.168.2.1     *               255.255.255.255 UH    0      0        0 ppp0
10.0.0.0        *               255.255.255.0   U     100    0        0 eth0
default         fritz.box       0.0.0.0         UG    0      0        0 eth0


Er is dus wel een entry toegevoegd, namelijk;
code:
1
192.168.2.1     *               255.255.255.255 UH    0      0        0 ppp0


Maar dat is niet de juist, want wanneer ik ping en traceroute, dan loopt al het verkeer gewoon via fritz.box.

Wanneer ik vervolgens handmatig route del default gw fritz.box dev eth0 en route add default gw 192.168.2.1 dev ppp0 uitvoer, dan loopt het verkeer wél via de remote gateway.

Route ziet er dan zo uit;
code:
1
2
3
4
5
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
53513067.cable. fritz.box       255.255.255.255 UGH   0      0        0 eth0
192.168.2.1     *               255.255.255.255 UH    0      0        0 ppp0
10.0.0.0        *               255.255.255.0   U     100    0        0 eth0
default         192.168.2.1     0.0.0.0         UG    0      0        0 ppp0


Het lijkt er dus op dat het scriptje route in ip-up.d niet goed wordt uitgevoerd. Waarom wordt hetzelfde command wél goed uitgevoerd als ik het handmatig doe en niet als het via het script loopt?

Mijn vraag is dus, wat doe ik fout en hoe los ik het probleem op? Heb al geprobeerd te zoeken, maar ik heb de oplossing niet kunnen vinden.

Acties:
  • 0 Henk 'm!

  • Tech
  • Registratie: Oktober 2000
  • Laatst online: 08-09 22:17
Dat het ip adres van de ppp0 in de routetabel komt, is logisch. Dat de default route met behulp van je script niet gewijzigd wordt, duidt op een fout in het script.

Optie 1: je script wordt helemaal niet uitgevoerd, bijvoorbeeld doordat execute persmissies ontbreken:

# chmod +x /etc/ppp/ip-up.d/script

Optie 2: de if statement matcht PPP_IPPARAM niet op de naam "tunnel". Heb je 'm misschien een andere naam gegeven?

Wat ik zou doen is even het script debuggen door de eerste regel van je script aan te veranderen in:

#!/bin/sh -x

Dan zie je exact wat er gebeurt.

Acties:
  • 0 Henk 'm!

  • dôh
  • Registratie: Juli 2000
  • Laatst online: 09-09 14:30
Tech schreef op vrijdag 24 september 2010 @ 10:06:
Dat het ip adres van de ppp0 in de routetabel komt, is logisch. Dat de default route met behulp van je script niet gewijzigd wordt, duidt op een fout in het script.

Optie 1: je script wordt helemaal niet uitgevoerd, bijvoorbeeld doordat execute persmissies ontbreken:

# chmod +x /etc/ppp/ip-up.d/script

Optie 2: de if statement matcht PPP_IPPARAM niet op de naam "tunnel". Heb je 'm misschien een andere naam gegeven?

Wat ik zou doen is even het script debuggen door de eerste regel van je script aan te veranderen in:

#!/bin/sh -x

Dan zie je exact wat er gebeurt.
Bedankt voor je reactie! Optie 1 is uitgesloten, ik had de juiste permissies al toegekend.

Optie 2 heb je denk ik wat meer informatie bij nodig;

Ik heb in /etc/ppp/peers/ het bestandje tunnel. Daar staat in;

code:
1
2
3
4
5
6
7
8
9
10
11
remotename tunnel
linkname tunnel
ipparam tunnel
pty "pptp server.naam --nolaunchpppd"
name vpn
require-mppe
refuse-eap
noauth
persist
# adopt defaults from the pptp-linux package
file /etc/ppp/options.pptp


Verder heb ik -x toegevoegd, maar ik zie niks extra's staan wanneer ik het pon tunnel uitvoer.

Acties:
  • 0 Henk 'm!

  • Tech
  • Registratie: Oktober 2000
  • Laatst online: 08-09 22:17
Staat er ook niets gelogd in de logfiles in /var/log/...?

Je kunt eventueel extra debug opties meegeven, zie:
http://pptpclient.sourcef...wto-diagnosis.phtml#debug