Skip to main content

Enable TUN/TAP and PPD in VM on open VZ

How to enable TUN/TAP and PPD in VM on open VZ

Please use the below steps to Enable TUN/TAP and PPD in VM on open VZ.

   1.Check the Node is enabled with tun/tap by entering the same from
   >> Go to list node >> edit node >> check "Allow clients to set TUN/TAP"
and "Allow clients to set PPP".
   2.How to enable TUN/TAP in OpenVZ?
STEP 1: Login to Node via SSH
STEP 2: Run the below pasted command to find out tun module is already loaded
or not

[root@Node]# lsmod | grep tun
  If the output of the above commands returns a blank value means the tun
module is not loaded in your Node.
Run the below command to load tum module.

[root@Node]# modprobe tun
[root@Node]# lsmod | grep tun
tun    82432  6

  3. Enabling TUN/TAP on VPS
vi /etc/sysconfig/vz-scripts/(VMID)4349.conf

Add the following in bottom of the file.

DEVNODES="net/tun:rw "

Allow the container to use the tun/tap device by running the following
commands on the host node:

[root@Node]# vzctl set 101(VMID) --devnodes net/tun:rw --save
[root@Node]# vzctl set 101 --devices c:10:200:rw --save
[root@Node]# vzctl stop 101
[root@Node]# vzctl set 101 --capability net_admin:on --save
[root@Node]# vzctl start 101
[root@Node]# vzctl exec 101 mkdir -p /dev/net
[root@Node]# vzctl exec 101 chmod 600 /dev/net/tun

4. To check whether the tun tap is enabled please login to VPS and check the
following command

cat: /dev/net/tun: File descriptor in bad state     # It means the TUN/TAP is
enabled on your VPS.


3. Enabling pppd


HN#  (Go to host node )

   modprobe tun

   modprobe ppp-compress-18

   modprobe ppp_mppe

   modprobe ppp_deflate

   modprobe ppp_async
modprobe pppoatm

   modprobe ppp_generic

4. Stop the VM

   # vzctl stop {VEID}

5. From HN, run the below commands:


   # vzctl set {VEID} --features ppp:on --save

   # vzctl start {VEID}

   # vzctl set {VEID} --devices c:108:0:rw --save

   # vzctl exec {VEID} mknod /dev/ppp c 108 0

   # vzctl exec {VEID} chmod 600 /dev/ppp

6. Login to VE and see if the 'pppd' command works.


   # /usr/sbin/pppd
If you see some garbage values, it means it is enabled correctly.


Popular posts from this blog

Qmail cheat sheet

1) To check the mail queue in plesk from command line, you can use the command :


2) You can examine the queue with qmail-qread.


3) From the qread command you get the message id . In the above example , let us assume one of the id is 524514 . Now you can find the file holding the email in/var/qmail/queue with find command.

# find /var/qmail/queue -iname 524514


/var/qmail/queue/mess/22/524514 (mail headers)


4) From the mail header you get the IP address

vi /var/qmail/queue/mess/22/524514


Shortcut for the cool guys

find /var/qmail/queue -iname queu_id | grep mess | xargs less


4) If you wish …

Logical volume vmxxxx_img is used by another device - Error on LVM removal

Hi Folks,

I've faced error while trying to remove an LVM from the server.

The exact LVM error will be "Logical volume vmxxxx_img is used by another device" on executing the lvremove command.

Feel free to remove the following steps to remove the LVM from the server.

Note: Please remember to replace <id> with your VMID in the below section.

dmsetup ls dmsetup info -c xen-vm<id>_img dmsetup remove xen-vm<id>_img lvremove -f /dev/xen/vm<id>_img ----------------------------------------------------------

Open VZ cheat Sheet


vzctl set 101 --diskspace 1000000:1100000 --save  To set diskspace for container with ID 101

vzctl set 101 --diskinodes 90000:91000 --save     To set inodes for container with ID 101

vzctl set 101 --quotatime 600 --save              To set quotatime for container with ID 101 (The time limit by

                                                       which container is allowed to temporarily exceed  its quota soft limits)

vzctl exec 101 df                                  To execute command df at the server with the CTID 101

vzctl set 101 --quotaugidlimit 100 --save          Set number of user/group id's allowed for internal disk
                                                                     quota,if 0 UID/GUID quota will not be allowed\

 vzctl set 0 --dcachesize 5G --save        Set dcachesize of the hardware node

sysctl fs.fsync-enable=0     or  echo 0 > /proc/sys/fs/fsync-enable        disable fsync calls inside containers .

Add the  …