Problems with inward PPTP tunnel

Brett Glass brett at lariat.net
Sun Mar 22 14:14:39 PDT 2009


Just a quick followup: I've finally figured out a workaround. A 
hack, to be sure, but a workaround nonetheless.

I've created a shell script called /etc/ppp/pppfix, which looks like this:

#!/bin/sh
# Fix up PPP routes
sleep 1;
logger -i -t ppp Fixing route: route change -host $1 $2 -ifp $3
route change -host $1 $2 -ifp $3

I invoke this from the relevant section of /etc/ppp.linkup with the line

!bg /etc/ppp/pppfix HISADDR MYADDR INTERFACE

Note that the "sleep" may not be absolutely necessary, but it seems 
like a good idea just in case there's a race condition.

I also added the following lines in the relevant section of ppp.linkdown:

iface clear
delete! HISADDR
delete! ALL
shell arp -d HISADDR
quit all

I found that if I did not do this, the modified route persisted 
after the connection terminated. The "arp -d HISADDR" should only 
be used if proxy arp is being done, and may not be strictly 
necessary; I wanted to make sure I tore down any residual proxy arp entry.

Of course, all of this is an awful hack and the relevant code in 
userland PPP still needs to be looked at.

--Brett Glass






More information about the freebsd-net mailing list