Our goal is to start the pppd daemon in a virtual machine. Then it is possible, for example, to connect to your DSL provider in a VM.

Caveat

This feature is experimental. It currently requires a version of vzctl patched with this patch.

It is also necessary to run one of these 2 kernels :

  • 2.6.27 briullov.1 or later
  • rhel5 064.4 or later

Howto

HN # modprobe ppp_async
HN # modprobe ppp_deflate
HN # lsmod | grep ppp
ppp_deflate 9793 2
zlib_deflate 21977 1 ppp_deflate
ppp_async 15169 1
crc_ccitt 6337 1 ppp_async
ppp_generic 30165 6 ppp_deflate,ppp_async
slhc 10561 1 ppp_generic

  • set “ppp” feature for stoppped VE:
HN # vzctl set [VEnumber] --features ppp:on --save
  • start VE :
HN # vzctl start [VEnumber]
  • Prepare /dev/ppp within VE:
HN # vzctl set [VEnumber] --devices c:108:0:rw --save HN # vzctl exec [VEnumber] mknod /dev/ppp c 108 0 HN # vzctl exec [VEnumber] chmod 600 /dev/ppp

 

  • See if it works (as root):
VE# /usr/sbin/pppd

You should see gibberish in the standard output like

 ~�}#�!}!}!} }4}”}&} } } } }%}&)Q�}4}’}”}(}”p})

If there is an error message instead, something went wrong.

  • From that point, you can finish your setup as in a real hardware environment.

} else {