PPP in container

From OpenVZ Virtuozzo Containers Wiki
Revision as of 17:54, 27 October 2012 by Powerpbx (talk | contribs) (Howto)
Jump to: navigation, search

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

It is necessary to run one of these 3 kernels :

Howto

  • ppp modules need to be loaded in the HN :
HN # modprobe ppp_async
HN # modprobe ppp_deflate
HN # modprobe ppp_mppe
HN # lsmod | grep ppp
ppp_mppe                6420  2
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

to make these changes persistent on reboot create a file called (for example) ppp.module

nano /etc/sysconfig/modules/ppp.module
#!/bin/sh
/sbin/modprobe ppp_async
/sbin/modprobe ppp_deflate
/sbin/modprobe ppp_mppe


  • 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.

See also