Anyone managed to use pppd inside a docker container?

I am trying to use docker to simulate a deployment of ppp over ssh using the technique outlined in http://nsd.dyndns.org/pppossh/

I am not trying to use pptp and my clients don’t have the resources for a full VPN solution.

The error I keep getting is:

Couldn’t open the /dev/ppp device: Operation not permitted

Several google searches later and I can ensure that:

The user invoking pppd is a member of the dip group, and a

$ mknod /dev/ppp c 108 0

appears to be successful.

These appear to be the most common causes of this issue in other contexts.

Has anyone managed to get this working in a docker container?

In case the details are of interest, you can find my docker-compose at https://github.com/spierepf/secure-snmp.

Once you’ve checked it out, you should be able to:

$ cd secure-snmp
$ docker-compose up

and then in a different terminal

$ docker exec -it securesnmp_client_1 /bin/bash
$ ./test.sh

The test.sh script performs a REST/json call against a web service provided by the server. This call creates a user on the server and exchanges public keys for authentication without user intervention. The test.sh script then connects via ssh to the server.

It is at this point that I hope to be able to start the ppp session on the server (and get the ppp preamble on my terminal. I figure that once I can convince the pppd service to start on the server, then I can close the loop with the clent, add some IP addresses and be off to the races.

Thanks for reading this far.

Peter.