Toon posts:

PPTPD VPN -verbinding, routing problemen

Pagina: 1
Acties:

Verwijderd

Topicstarter
De situatie is als volgt:


Netwerk 1 <-> DIR-855 router <-> internet <-> linux debian server <-> Netwerk 2

Netwerk 1 is bij mij thuis en draait onder 192.168.10.x
Netwerk 2 is bij mijn ouders waar de server staat, en draait onder 192.168.50.x

Nu wil ik graag een VPN opzetten om vanuit netwerk 1 te kunnen verbinden met Netwerk 2. Ik zou graag de ingebouwde W7-client willen gebruiken, vandaar mijn keuze voor pptpd.

Het relevante stukje uit /etc/pptpd.conf:

code:
1
2
localip 192.168.50.75
remoteip 192.168.50.200-210


Het relevante uit /etc/ppp/pptpd-options:

code:
1
2
3
4
<...>
ms-dns 192.168.50.1
<...>
ms-wins 192.168.50.1


Poort 1723 in IPTABLES staat ook open uiteraard :)

Vervolgens maak ik in W7 een vpn-verbinding aan. "Inbellen" gaat en er komt een verbinding tot stand. In W7 levert dat het volgende op:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
PPP-adapter voor Groenlo:

   Verbindingsspec. DNS-achtervoegsel:
   Beschrijving. . . . . . . . . . . : Groenlo
   Fysiek adres. . . . . . . . . . . :
   DHCP ingeschakeld . . . . . . . . : nee
   Autom. configuratie ingeschakeld  : ja
   IPv4-adres. . . . . . . . . . . . : 192.168.50.200(voorkeur)
   Subnetmasker. . . . . . . . . . . : 255.255.255.255
   Standaardgateway. . . . . . . . . :
   DNS-servers . . . . . . . . . . . : 192.168.50.1
   Primaire WINS-server. . . . . . . : 192.168.50.1
   NetBIOS via TCPIP . . . . . . . . : ingeschakeld


Ook op de server komt er een interface bij, te weten ppp0:

code:
1
2
3
4
5
6
7
ppp0      Link encap:Point-to-Point Protocol
          inet addr:192.168.50.75  P-t-P:192.168.50.200  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
          RX packets:338 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:51075 (49.8 KiB)  TX bytes:118 (118.0 B)


Vanaf de W7-client kan ik WEL pingen naar 192.168.50.1, het normale lan-adres van de server (eth1)
Vanaf de W7-client kan ik WEL pingen naar 192.168.50.200, het tunnel-adres van de client (ppp)

Vanaf de W7-client kan ik NIET pingen naar 192.168.50.75, het tunnel-adres van de server (ppp0)
Vanaf de W7-client kan ik NIET pingen naar 192.168.50.137, een willekeurige client in netwerk 2. Ik krijg hierbij een time-out.

Vanaf de pptpd-server kan ik NIET pingen naar 192.168.50.200, het tunnel-adres van de client (ppp)
Vanaf de pptpd-server kan ik WEL pingen naar 192.168.50.1, het normale lan-adres van de server (eth1)

Conclusie: Vanaf de client kan ik over de tunnel wel pingen naar het normale lan-adres van de server, ondanks dat ik niet kan pingen naar het tunnel-adres van de server (192.168.50.75, ppp0)

Uiteraard heb ik ook

code:
1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


gebruikt, evenals diverse andere iptables-regels maar allemaal zonder succes. Eth0 is de NIC die aan het internet hangt, eth1 de NIC die aan het interne netwerk gekoppeld is.

Heeft iemand een vergelijkbare setup werkend gekregen?

  • Raymond P
  • Registratie: September 2006
  • Laatst online: 12:34
Bash:
1
2
3
4
5
6
7
echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

iptables -A INPUT -p tcp -i ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -j ACCEPT


Masquerade op je ppp interface heb je sowieso nodig, ip_forward heb je waarschijnlijk al aan staan.
Input/forward weet ik niet zeker meer.

Zo functioneert het hier iig, icm nog 500 regels iptables.

- knip -


Verwijderd

Topicstarter
ip_forward stond inderdaad al aan, deze regels toevoegen heeft de oplossing gebracht!

De meeste howto's vermelden enkel

code:
1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


en over de rest wordt niet gesproken. Mijn dank is groot ;)

Nu nog zoeken waarom wins hostname resolution nog niet werkt :) Pingen gaat goed evenals shares benaderen op ip-adres.

//Edit ook weer opgelost:

code:
1
iptables -A INPUT -p ALL -i ppp0 -j ACCEPT


in plaats van

code:
1
iptables -A INPUT -p tcp -i ppp0 -j ACCEPT


En alles werkt ook op hostname :)

Blokje voor pptpd ziet er dus als volgt uit:

code:
1
2
3
4
5
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

iptables -A INPUT -p ALL -i ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -j ACCEPT

[ Voor 38% gewijzigd door Verwijderd op 03-11-2012 13:38 ]


  • Raymond P
  • Registratie: September 2006
  • Laatst online: 12:34
Voor de meeste howto's is dat ook voldoende.
Niet veel personen bouwen hun eigen gateway met bijbehorende services. ;)
Als je bak aan de lan kant hangt (wat waanzin is in mijn ogen) dan heb je die extra regels niet nodig.
Echter, ik ben ook geen expert ofzo. Voor hetzelfde geld is het beter om te prerouten oid.

Blij dat het je geholpen heeft.

- knip -