[pptp-server] RE: [SLUG] PPPD and C source -Tracking that External IP....

Jean-Francois Dive jef at linuxbe.org
Tue Jan 15 15:45:02 CST 2002


what you look for is a serie like:

pid = fork();

if(pid != parentPid) {
// we are in the child
  excve(pppd);
}

probably.

JeF
On Wed, 16 Jan 2002, George Vieira wrote:

> I've done a little more research and found that there is no link between
> PPTP and PPPD which is traceable.. The only thing I can now think of is to
> make PPTP to pass the ipparam parameter to PPPD then it can be tracked
> back..eg.
>
> 1) VPN client connects from address 141.x.x.x
> 2) PPTPD accepts the connection
> 3) PPTPD creates a /var/run/pptpd-link0 and stores the external IP into it
>      (more client connections become -link1, -link2, etc)
> 4) PPTPD forks PPPD using: pppd blah blah blah ipparam ${ipparam}-link0
>      (Note: Incase the user already uses ipparam it is passed and "-link0"
> is added to it.ie. mypptp-link0)
> 5) PPPD starts up and uses the ipparam passed by PPTP and possibly anything
> else the user sent ( ${ipparam} ).
>
> PPPD ip-up.local can then determine from the ipparam parameter what the IP
> address is from the file containing the true IP address of the client
> (/var/run/pptp-link0) ...
>
> #  ip-up.local  (example)
>
> #!/bin/sh
> LINK=`echo "$6" | cut -f 2 -d "-"`
> REALIP=`cat /var/run/pptpd-$LINK`
>
> This sounds like it'll work without modifying the PPPD source code but has
> created alot more tweaking on the PPTPD source side... Worst thing is I have
> not coded C in 10 years and it's changed alot to me..
>
> Now for the hard part......
>
> thanks,
> George Vieira
> Systems Manager
> Citadel Computer Systems P/L
> http://www.citadelcomputer.com.au
> --
> SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
> More Info: http://lists.slug.org.au/listinfo/slug
>




More information about the pptp-server mailing list