#!/bin/sh 

# OVZAdmin,by Lars Bailey - lars.bailey@gmail.com
# version pre3
# Copyrighted by its respective Author and under the terms of the GPL.

###############################################################################
#   This program is free software; you can redistribute it and/or modify      #
#   it under the terms of the GNU General Public License as published by      #
#   the Free Software Foundation; either version 2 of the License, or         #
#   (at your option) any later version.                                       #
#                                                                             #
#   This program is distributed in the hope that it will be useful,           #
#   but WITHOUT ANY WARRANTY; without even the implied warranty of            #
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             #
#   GNU General Public License for more details.                              #
#                                                                             #
#   You should have received a copy of the GNU General Public License         #
#   along with this program; if not, write to the Free Software               #
#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA #
#                                                                             #
#                                                                             #   
# You can also find a copy of the GNU General Public License at               #   
# http://www.gnu.org/licenses/licenses.html#TOCLGPL                           #    
###############################################################################


# OVZAdmin,is a terminal based ANSI graphical administration program 
# for OpenVZ containers.
# It will create,destroy,and configure REDHAT standard or DEBIAN containers,
# based on user input.
# OVZAdmin supports both IPv4 and IPv6 networking.
# OVZAdmin supports running on REDHAT and DEBIAN Node servers.

# PLEASE NOTE the following;

# >> Some features in OVZAdmin have been removed,due to the requirement of 
#    third-party software.
#    This mainly pertains to the options in "Node Administration"

# >> Some of the VPS Administration options(add iface,disk-quotas,etc),is not 
#    complete.

# KNOWN issues

# >> IPv6 auto-configuration does not work for DEBIAN containers running on 
#    RedHat Nodes.
#
# >  How to use OVZAdmin;

# 1. OVZAdmin requires root user or SU. The script will check,before starting.

# 2. You will need to place OVZAdmin in system path,or create symlink 
#    from a working directory.
#    An example would be to create a "/vz/tools" directory and
#    symlink to /usr/bin.
#
#    ln -s /vz/tools/ovzadmin /usr/bin
#
# 3. Software requirements for OVZAdmin.

#    > SCREEN utility - SCREEN is used for the Terminal shell feature of 
#      OVZAdmin.

# Changes

#  4-2011 > Added a simple text file database for VPS configurations.
#           The default working directory is "/vz/vpsconfig"
#  5-2011 > Added advanced VPS config using selected vzctl options.
#  5-2011 > Added disk-quotas in default VPS build.
#  5-2011 > vzmemcheck in "dashboard",enabled with more verbose output.
#  5-2011 > Changed default "database" dir to /var/log/vpsdatabase.



#####################################################################################
#################################################################################
# > BEGIN OVZADMIN CODE

RETVAL=0


menu_return(){
clear
echo -e "Return to OVZADMIN main menu?"
echo -e "\E[34;40m********************************************************************************\E[0m"  
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[31;40m No\E[0m"
echo
read CHOICE
case $CHOICE in
    1)
    ovzadmin
    ;;
      
    2)
    clear
    exit $RETVAL
    ;;

    *)
    menu_return
    ;;    
esac  

}

# Failsafe for truncation of existing VE

vps_detection(){
clear
echo -e "\E[31;40mWARNING\E[0m  Existing VE detection"
echo -e "\E[34;40m********************************************************************************\E[0m"  
echo
echo -e "OVZADMIN has detected a VE configuration using ID $ID."
echo
echo -e "1\E[32;40m >\E[0m Return to VE configuration menu"
echo -e "2\E[32;40m >\E[0m Exit OVZAdmin"
echo
read CHOICE
case $CHOICE in

             1) 
             clear
             vps_admin
             ;;

             2)
             clear
             exit $RETVAL
             ;;
esac

}

# Warning for non-supported OS template caches

non_supported(){
clear
echo -e "\E[31;40mWARNING\E[0m  Non-supported OS template cache"
echo -e "\E[34;40m********************************************************************************\E[0m"
echo  
echo -e "OVZADMIN does not support the OS template cache used for VE $ID"
echo -e "You will have to configure this VE manually."
echo
echo -e "1\E[32;40m >\E[0m Return to VE configuration menu"
echo -e "2\E[32;40m >\E[0m Exit OVZADMIN"
echo
read CHOICE
case $CHOICE in

             1) 
             clear
             create_vps
             ;;

             2)
             clear
             exit $RETVAL
             ;;
esac

}





node_admin(){

# Some Node Administration options have been removed
# due to third-party software requirements.  

clear
echo -e "\E[36;40m OVZADMIN\E[0m  Node Administration"
echo -e "\E[34;40m********************************************************************************\E[0m"     
echo
echo -e "1\E[32;40m >\E[0m Connectivity check"
echo -e "2\E[32;40m >\E[0m Real-time monitoring"
echo -e "3\E[32;40m >\E[0m Network monitoring"
echo -e "4\E[32;40m >\E[0m Network traffic statistics"
echo -e "5\E[32;40m >\E[0m Firewall and Bandwidth management"
echo -e "6\E[32;40m >\E[0m Virtual Machine management"
echo -e "7\E[32;40m >\E[0m Virtual Switch management"
echo -e "8\E[32;40m >\E[0m Terminal console"                 
echo -e "9\E[32;40m >\E[0m Exit menu"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in
     
              1)
              clear
              node_check
              node_admin
              ;;
 
              2)
              clear
              node_mon
              node_admin
              ;;
                
              3)
              clear
              node_netmon
              node_admin
              ;; 

              4)
              clear
              node_traffic
              node_admin
              ;;
              
              5)
              clear
              node_firewall
              node_admin             
              ;;

              6)
              node_vm
              clear
              node_admin
              ;;

              7)
              clear
              node_vs
              node_admin
              ;;
              
              8)
              terminal_console            
              node_admin
              ;;

              9)
              clear
              menu_return
              ;;

              *)
              node_admin
              ;;

esac

}


vps_admin(){
clear
echo -e "\E[36;40m OVZADMIN\E[0m  VE Administration"
echo -e "\E[34;40m********************************************************************************\E[0m"     
echo
echo -e "1\E[32;40m >\E[0m Destroy VE"
echo -e "2\E[32;40m >\E[0m Create VE only"
echo -e "3\E[32;40m >\E[0m Create VE with IPv4 networking"
echo -e "4\E[32;40m >\E[0m Create VE with IPv6 networking"
echo -e "5\E[32;40m >\E[0m Create VE with IPv4-IPv6 networking"
echo -e "6\E[32;40m >\E[0m VE Network management"
echo -e "7\E[32;40m >\E[0m VE Disk management"
echo -e "8\E[32;40m >\E[0m Terminal console"                  
echo -e "9\E[32;40m >\E[0m Exit menu"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in
     
              1) 
              clear
              destroy_vps
              vps_admin
              ;;
     
              2)
              clear
              vps_only
              vps_admin
              ;;
 
              3)
              clear
              vps_ip4
              ;;

              4)
              clear
              vps_ip6
              ;;

              5)
              clear
              ip6_dual
              ;;
  
              6)
              clear
              vps_network
              vps_admin
              ;;

              7)
              clear
              disk_manage
              vps_admin
              ;;

              8)
              clear
              terminal_console
              vps_admin
              ;;

              9)
              clear
              menu_return
              ;;

              *)
              vps_admin
              ;;

esac

}

destroy_vps(){
clear
echo -e "\E[36;40m OVZADMIN\E[0m  Destroy VE"
echo -e "\E[34;40m********************************************************************************\E[0m" 
echo
echo "Enter the VE ID"
echo
read ID

export VETH_IP=`/sbin/ifconfig veth$ID.0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1` 

if [ -e /etc/sysconfig/network-scripts/ifcfg-veth$ID.0 ]; then
/sbin/arp -d $VETH_IP 2>/dev/null
/sbin/ip addr flush $VETH_IP dev veth$ID.0 2>/dev/null
/usr/sbin/vzctl stop $ID
/usr/sbin/vzctl destroy $ID
rm /etc/sysconfig/network-scripts/ifcfg-veth$ID.0 2>/dev/null
rm /etc/sysconfig/vz-scripts/$ID.conf.destroyed 2>/dev/null
rm /var/log/vpsdatabase/vps$ID 2>/dev/null
elif [ -d /vz/private/$ID ]; then
/usr/sbin/vzctl stop $ID
/usr/sbin/vzctl destroy $ID
rm /var/log/vpsdatabase/vps$ID 2>/dev/null
else
clear
echo -e "\E[31;40m Warning\E[0m VE $ID does not exist on this server."
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[31;40m No\E[0m"
echo
read CHOICE
case $CHOICE in
    
    1)
    vps_admin
    ;;
      
    2)
    menu_return
    ;;
    
esac  
fi

}

vps_only(){
clear
echo -e "Enter the VE ID number"
echo
read ID
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config ve.unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID

}

vps_ip4(){
clear
echo -e "\E[36;40m OVZADMIN\E[0m  Create VE "
echo -e "\E[34;40m********************************************************************************\E[0m" 
echo
echo -e "1\E[32;40m >\E[0m Create VE with IPv4 DHCP" 
echo -e "2\E[32;40m >\E[0m Create VE with IPv4 Virtual Ethernet"
echo -e "3\E[32;40m >\E[0m Create VE with IPv4 bridged Virtual Ethernet"
echo -e "4\E[32;40m >\E[0m Previous menu"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in

              1)
              clear
              vps_dhcp
              vps_ip4
              ;;

              2)
              clear
              vps_virtual
              vps_ip4
              ;;
 
              3)
              clear
              vps_bridge
              vps_ip4
              ;;


              4)
              clear
              vps_admin
              ;;

              5)
              clear
              menu_return
              ;;

              *)
              vps_ip4
              ;;

esac

}

vps_dhcp(){
clear
echo -e "Enter the VE ID number"
echo
read ID
if [ -d /vz/private/$ID ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user's password"
echo
read PASSWORD
clear
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m DEBIAN\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 1
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo auto lo >> /vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo auto eth0 >> /vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet dhcp >> /vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m=>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID
     echo OS template cache used = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST>> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD>> /var/log/vpsdatabase/vps$ID
     echo Ethernet bridge ID = $BRIDGE >> /var/log/vpsdatabase/vps$ID
     echo Networking Type = DHCP >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[31;40m=>\E[0m Configuration database directory does not exist"
     fi
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m REDHAT\E[0m VE"
     echo
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 1
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo DEVICE=eth0 >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo BOOTPROTO=dhcp >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     if [ -s /vz/private/$ID/etc/sysconfig/network ]; then
     rm /vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >> /vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >> /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >> /vz/private/$ID/etc/sysconfig/network
     else
     echo NETWORKING=yes >> /vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >> /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >> /vz/private/$ID/etc/sysconfig/network
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m=>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST>> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD>> /var/log/vpsdatabase/vps$ID
     echo Ethernet bridge ID = $BRIDGE >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
     fi  

}

vps_virtual(){ 
clear
echo -e "Enter VE ID number"
echo
read ID
if [ -d /vz/private/$ID ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user password"
echo
read PASSWORD
clear
echo -e "Enter the virtual Ethernet interface IP address"
echo
read IP
clear
echo -e "Enter the Netmask"
echo
read NETMASK
clear
echo -e "Enter the VE IP address"
echo
read VIP
clear
echo -e "Enter the VE Netmask"
echo
read VNETMASK
clear
echo -e "Enter the primary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS
clear
echo -e "Enter the secondary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m DEBIAN\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating  static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPADDR=$IP >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo NETMASK=$NETMASK >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo auto lo >>/vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >>/vz/private/$ID/etc/network/interfaces
     echo auto eth0 >>/vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet static >>/vz/private/$ID/etc/network/interfaces
     echo address $VIP >>/vz/private/$ID/etc/network/interfaces
     echo netmask $VNETMASK >>/vz/private/$ID/etc/network/interfaces
     echo gateway $IP >>/vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations" 
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi     
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m=>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv4 address = $IP >> /var/log/vpsdatabase/vps$ID
     echo VETH interface Netmask = $NETMASK >> /var/log/vpsdatabase/vps$ID
     echo VE IPv4 address = $VIP >> /var/log/vpsdatabase/vps$ID
     echo VE Netmask = $VNETMASK >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m REDHAT\E[0m VE"
     echo
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPADDR=$IP >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo NETMASK=$NETMASK >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo >> /tmp/ifcfg-eth0 
     echo DEVICE=eth0 >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPADDR=$VIP >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo NETMASK=$VNETMASK >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo GATEWAY=$IP >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     if [ -s /vz/private/$ID/etc/sysconfig/network ]; then
     rm /vz/private/$ID/etc/sysconfig/network 
     echo NETWORKING=yes >> /vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >> /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >> /vz/private/$ID/etc/sysconfig/network
     else
     echo NETWORKING=yes >> /vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >> /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >> /vz/private/$ID/etc/sysconfig/network
     fi
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv4 address = $IP >> /var/log/vpsdatabase/vps$ID
     echo VETH interface Netmask = $NETMASK >> /var/log/vpsdatabase/vps$ID
     echo VE IPv4 address = $VIP >> /var/log/vpsdatabase/vps$ID
     echo VE Netmask = $VNETMASK >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_support
     fi

}

vps_bridge(){

clear
echo -e "Enter the VE ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user's password"
echo
read PASSWORD
clear
echo -e "Enter the VE IP address"
echo
read VIP
clear
echo -e "Enter the VE Netmask"
echo
read VNETMASK
clear
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
clear
echo -e "Enter the VE gateway IP address"
echo
read GATEWAY
clear
echo -e "Enter the primary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS
clear
echo -e "Enter the secondary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m DEBIAN\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 4
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo auto lo >> /vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo auto eth0 >> /vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet static >> /vz/private/$ID/etc/network/interfaces
     echo address $VIP >> /vz/private/$ID/etc/network/interfaces
     echo netmask $VNETMASK >> /vz/private/$ID/etc/network/interfaces
     echo gateway $GATEWAY >> /vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VE IPv4 address = $VIP >> /var/log/vpsdatabase/vps$ID
     echo VE Netmask = $VNETMASK >> /var/log/vpsdatabase/vps$ID
     echo Ethernet bridge ID = $BRIDGE >> /var/log/vpsdatabase/vps$ID
     echo VE Gateway IPv4 address = $GATEWAY >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m REDHAT\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 4
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1 
     echo DEVICE=eth0 >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPADDR=$IP >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo NETMASK=$NETMASK >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo GATEWAY=$GATEWAY >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -s /vz/private/$ID/etc/sysconfig/network ]; then
     rm /vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >> /vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >> /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >> /vz/private/$ID/etc/sysconfig/network
     else
     echo NETWORKING=yes >> /vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >> /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >> /vz/private/$ID/etc/sysconfig/network
     fi
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VE IPv4 address = $VIP >> /var/log/vpsdatabase/vps$ID
     echo VE Netmask = $VNETMASK >> /var/log/vpsdatabase/vps$ID
     echo Ethernet bridge ID = $BRIDGE >> /var/log/vpsdatabase/vps$ID
     echo VE Gateway IPv4 address = $GATEWAY >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
     fi  

}

vps_ip6(){
clear
echo -e "\E[36;40m OVZADMIN\E[0m  IPv6"
echo -e "\E[34;40m********************************************************************************\E[0m" 
echo
echo -e "1\E[32;40m >\E[0m Create VE with IPv6 DHCP"
echo -e "2\E[32;40m >\E[0m Create VE with IPv6 Virtual Ethernet"
echo -e "3\E[32;40m >\E[0m Create VE with IPv6 bridged Virtual Ethernet"
echo -e "4\E[32;40m >\E[0m Create VE with IPv6 auto-configuration"
echo -e "5\E[32;40m >\E[0m Previous menu"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in

              1)
              clear
              ip6_dhcp
              vps_ip6
              ;;

              2) 
              clear
              ip6_virtual
              vps_ip6
              ;;
 
              3)
              clear
              ip6_bridge
              vps_ip6
              ;;

              4)
              clear
              ip6_auto
              vps_ip6
              ;;

              5)
              clear
              vps_admin
              ;;

              6)
              clear
              menu_return
              ;;

              *)
              vps_ip6
              ;;

esac

}

ip6_dhcp(){

clear
echo -e "Enter the VE ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user's password"
echo
read PASSWORD
clear
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m DEBIAN\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 1
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo auto lo >> /vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo auto eth0 >> /vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet6 dhcp >> /vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST>> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD>> /var/log/vpsdatabase/vps$ID
     echo Ethernet bridge ID = $BRIDGE >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m REDHAT\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 1
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1 
     echo DEVICE=eth0 >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6INIT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo DHCPV6C=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -s /vz/private/$ID/etc/sysconfig/network ]; then
     rm /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >>/vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_FORWARDING=yes >>/vz/private/$ID/etc/sysconfig/network
     else
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >>/vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_FORWARDING=yes >>/vz/private/$ID/etc/sysconfig/network
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts  
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST>> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD>> /var/log/vpsdatabase/vps$ID
     echo Ethernet bridge ID = $BRIDGE >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
     fi  

}

ip6_virtual(){ 
clear

echo -e "Enter VE ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user password"
echo
read PASSWORD
clear
echo -e "Enter the virtual Ethernet interface IPv6 address"
echo
read IP
clear
echo -e "Enter the IPv6 prefix"
echo
read PREFIX
clear
echo -e "Enter the VE IPv6 address"
echo
read VIP
clear
echo -e "Enter the VE IPv6 prefix"
echo
read VPREFIX
clear
echo -e "Enter the primary DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS
clear
echo -e "Enter the secondary DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m DEBIAN\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6ADDR=$IP/$PREFIX >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo auto lo >>/vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >>/vz/private/$ID/etc/network/interfaces
     echo auto eth0 >>/vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet6 static >>/vz/private/$ID/etc/network/interfaces
     echo address $VIP >>/vz/private/$ID/etc/network/interfaces
     echo netmask $VPREFIX >>/vz/private/$ID/etc/network/interfaces
     echo gateway $IP >>/vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations" 
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     else 
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo >> /var/log/vpsdatabase/vps$ID
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 address = $IP >> /var/log/vpsdatabase/vps$ID
     echo VETH interface prefix = $PREFIX >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 address = $VIP >> /var/log/vpsdatabase/vps$ID
     echo VE prefix = $VPREFIX >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m REDHAT\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6ADDR=$IP/$PREFIX >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo DEVICE=eth0 >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6INIT=yes >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6ADDR=$VIP/$VPREFIX >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6_DEFAULTGW=$IP >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     if [ -s /vz/private/$ID/etc/sysconfig/network ];then
     rm /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >>/vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_FORWARDING=yes >>/vz/private/$ID/etc/sysconfig/network
     else
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >>/vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_FORWARDING=yes >>/vz/private/$ID/etc/sysconfig/network
     fi
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >>/vz/private/$ID/etc/hosts
     echo ::1 localhost6 >>/vz/private/$ID/etc/hosts
     echo $VIP $HOST >>/vz/private/$ID/etc/hosts
     else
     echo 127.0.0.1 localhost >>/vz/private/$ID/etc/hosts
     echo ::1 localhost6 >>/vz/private/$ID/etc/hosts
     echo $VIP $HOST >>/vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 address = $IP >> /var/log/vpsdatabase/vps$ID
     echo VETH interface prefix = $PREFIX >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 address = $VIP >> /var/log/vpsdatabase/vps$ID
     echo VE prefix = $VPREFIX >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported
     fi

}

ip6_bridge(){

clear

echo -e "Enter the VE ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user's password"
echo
read PASSWORD
clear
echo -e "Enter the VE IPv6 address"
echo
read VIP
clear
echo -e "Enter the VE prefix"
echo
read VPREFIX
clear
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
clear
echo -e "Enter the gateway IPv6 address"
echo
read GATEWAY
clear
echo -e "Enter the Primary DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS
clear
echo -e "Enter the secondary DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m DEBIAN\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 1
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo auto lo >> /vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo auto eth0 >> /vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet6 static >> /vz/private/$ID/etc/network/interfaces
     echo address $VIP >> /vz/private/$ID/etc/network/interfaces
     echo netmask $VPREFIX >> /vz/private/$ID/etc/network/interfaces
     echo gateway $GATEWAY >> /vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $VIP $HOST >> /vz/private/$ID/etc/hosts
     else
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $VIP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo >> /var/log/vpsdatabase/vps$ID
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Configured Host name = $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 address = $VIP >> /var/log/vpsdatabase/vps$ID
     echo VE prefix = $VPREFIX >> /var/log/vpsdatabase/vps$ID
     echo Ethernet bridge ID = $BRIDGE >> /var/log/vpsdatabase/vps$ID
     echo VE Gateway IPv6 address = $GATEWAY >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m REDHAT\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 1
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1 
     echo DEVICE=eth0 >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6INIT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6ADDR=$VIP/$VPREFIX >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6_DEFAULTGW=$GATEWAY >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -s /vz/private/$ID/etc/sysconfig/network ];then
     rm /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     else
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     fi
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $VIP $HOST >> /vz/private/$ID/etc/hosts
     else
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $VIP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabasevps$ID
     echo Configured Host name = $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 address = $VIP >> /var/log/vpsdatabasevps$ID
     echo VE prefix = $VPREFIX >> /var/log/vpsdatabase/vps$ID
     echo Ethernet bridge ID = $BRIDGE >> /var/log/vpsdatabasevps$ID
     echo VE Gateway IPv6 address = $GATEWAY >> /var/log/vpsdatabasevps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS >> /var/log/vpsdatabasevps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS >> /var/log/vpsdatabasevps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
     fi  

}

ip6_dual(){
clear
echo -e "\E[36;40m OVZADMIN\E[0m  IPv4-IPv6"
echo -e "\E[34;40m********************************************************************************\E[0m" 
echo
echo -e "1\E[32;40m >\E[0m Create VE with IPv4-IPv6 Virtual Ethernet"
echo -e "2\E[32;40m >\E[0m Create VE with IPv4-IPv6 bridged Virtual Ethernet"
echo -e "3\E[32;40m >\E[0m Previous menu"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in

              1)
              clear
              ip6_dualvirt
              ip6_dual
              ;;
 
              2)
              clear
              ip6_dualbridge
              ip6_dual
              ;;

              3)
              clear
              vps_admin
              ;;

              4)
              clear
              menu_return
              ;;

              *)
              ip6_dual
              ;;

esac

}

ip6_dualvirt(){ 
clear

echo -e "Enter VE ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user password"
echo
read PASSWORD
clear
echo -e "Enter the virtual Ethernet interface IPv4 address"
echo
read IP4
clear
echo -e "Enter the netmask"
echo
read NETMASK
clear
echo -e "Enter the virtual Ethernet interface IPv6 address"
echo
read IP6
clear
echo -e "Enter the IPv6 prefix"
echo
read PREFIX
clear
echo -e "Enter the VE IPv4 address"
echo
read VIP4
clear
echo -e "Enter the VE netmask"
echo
read VNETMASK
clear
echo -e "Enter the VE IPv6 address"
echo
read VIP6
clear
echo -e "Enter the VE IPv6 prefix"
echo
read VPREFIX
clear
echo -e "Enter the Primary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS4
clear
echo -e "Enter the Secondary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS4
clear
echo -e "Enter the Primary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS6
clear
echo -e "Enter the Secondary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS6
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m DEBIAN\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPADDR=$IP4 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo NETMASK=$NETMASK >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6ADDR=$IP6/$PREFIX >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo auto lo >>/vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo auto eth0 >> /vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet static >> /vz/private/$ID/etc/network/interfaces
     echo address $VIP4 >> /vz/private/$ID/etc/network/interfaces
     echo netmask $VNETMASK >> /vz/private/$ID/etc/network/interfaces
     echo gateway $IP4 >> /vz/private/$ID/etc/network/interfaces
     echo iface eth0 inet6 static >>/vz/private/$ID/etc/network/interfaces
     echo address $VIP6 >>/vz/private/$ID/etc/network/interfaces
     echo netmask $VPREFIX >>/vz/private/$ID/etc/network/interfaces
     echo gateway $IP6 >>/vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations" 
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     else
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID
     echo OS template cache = $CACHE >> /var/log/vpsdatabasevps$ID
     echo Host name =\E[36;40m $HOST >> /var/log/vpsdatabasevps$ID
     echo Password root user = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv4 address = $IP4 >> /var/log/vpsdatabase/vps$ID
     echo VETH interface netmask = $NETMASK >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 address = $IP6 >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 prefix = $PREFIX >> /var/log/vpsdatabase/vps$ID
     echo VE IPv4 address = $VIP4 >> /var/log/vpsdatabase/vps$ID
     echo VE netmask = $VNETMASK >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 address = $VIP6 >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 prefix = $VPREFIX >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS6 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS6 >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m REDHAT\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPADDR=$IP4 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo NETMASK=$NETMASK >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6ADDR=$IP6/$PREFIX >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo DEVICE=eth0 >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPADDR=$VIP4 >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo NETMASK=$VNETMASK >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo GATEWAY=$IP4 >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6ADDR=$VIP6/$VPREFIX >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6_DEFAULTGW=$IP6 >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     if [ -s /vz/private/$ID/etc/sysconfig/network ];then
     rm /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >>/vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_FORWARDING=yes >>/vz/private/$ID/etc/sysconfig/network
     else 
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >>/vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_FORWARDING=yes >>/vz/private/$ID/etc/sysconfig/networ
     fi
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     else
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Host name =\E[36;40m $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password root user = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv4 address = $IP4 >> /var/log/vpsdatabase/vps$ID
     echo VETH interface netmask = $NETMASK >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 address = $IP6 >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 prefix = $PREFIX >> /var/log/vpsdatabase/vps$ID
     echo VE IPv4 address = $VIP4 >> /var/log/vpsdatabase/vps$ID
     echo VE netmask = $VNETMASK >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 address = $VIP6 >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 prefix = $VPREFIX >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS6 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS6 >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported
     fi

}

ip6_dualbridge(){

clear
echo -e "Enter VE ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter the VE minimum disk-quota size in gigabytes -i.e 10G"
echo
read MINIMUM
clear
echo -e "Enter the VE maximum disk-quota size in gigabytes -i.e 11G"
echo
read MAXIMUM
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user password"
echo
read PASSWORD
clear
echo -e "Enter the VE IPv4 address"
echo
read VIP4
clear
echo -e "Enter the VE netmask"
echo
read VNETMASK
clear
echo -e "Enter the VE IPv6 address"
echo
read VIP6
clear
echo -e "Enter the VE IPv6 prefix"
echo
read VPREFIX
clear
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
clear
echo -e "Enter the gateway IPv4 address"
echo
read GATEWAY
clear
echo -e "Enter the Primary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS4
clear
echo -e "Enter the Secondary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS4
clear
echo -e "Enter the Primary DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS6
clear
echo -e "Enter the Secondary DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS6
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl set $ID --diskspace $MINIMUM:$MAXIMUM --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m DEBIAN\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPADDR=$IP4 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo NETMASK=$NETMASK >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6ADDR=$IP6/$PREFIX >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo auto lo >>/vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo auto eth0 >> /vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet static >> /vz/private/$ID/etc/network/interfaces
     echo address $VIP4 >> /vz/private/$ID/etc/network/interfaces
     echo netmask $VNETMASK >> /vz/private/$ID/etc/network/interfaces
     echo gateway $IP4 >> /vz/private/$ID/etc/network/interfaces
     echo iface eth0 inet6 static >>/vz/private/$ID/etc/network/interfaces
     echo address $VIP6 >>/vz/private/$ID/etc/network/interfaces
     echo netmask $VPREFIX >>/vz/private/$ID/etc/network/interfaces
     echo gateway $IP6 >>/vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations" 
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >>/vz/private/$ID/etc/hosts
     echo ::1 localhost6 >>/vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     else
     echo 127.0.0.1 localhost >>/vz/private/$ID/etc/hosts
     echo ::1 localhost6 >>/vz/private/$ID/etc/hosts
     echo $IP $HOST >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabasevps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Host name =\E[36;40m $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password root user = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv4 address = $IP4 >> /var/log/vpsdatabase/vps$ID
     echo VETH interface netmask = $NETMASK >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 address = $IP6 >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 prefix = $PREFIX >> /var/log/vpsdatabase/vps$ID
     echo VE IPv4 address = $VIP4 >> /var/log/vpsdatabase/vps$ID
     echo VE netmask = $VNETMASK >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 address = $VIP6 >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 prefix = $VPREFIX >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS6 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS6 >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m REDHAT\E[0m VE"
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VE $ID"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPADDR=$IP4 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo NETMASK=$NETMASK >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6ADDR=$IP6/$PREFIX >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo >> /tmp/ifcfg-eth0 
     echo DEVICE=eth0 >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPADDR=$VIP4 >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo NETMASK=$VNETMASK >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo GATEWAY=$IP4 >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6ADDR=$VIP6/$VPREFIX >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6_DEFAULTGW=$IP6 >>/vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -s /vz/private/$ID/etc/sysconfig/network ];then
     rm /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >>/vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_FORWARDING=yes >>/vz/private/$ID/etc/sysconfig/network
     else 
     echo HOSTNAME=$HOST >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING=yes >>/vz/private/$ID/etc/sysconfig/network
     echo GATEWAYDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo NETWORKING_IPV6=yes >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_DEFAULTDEV=eth0 >>/vz/private/$ID/etc/sysconfig/network
     echo IPV6_FORWARDING=yes >>/vz/private/$ID/etc/sysconfig/network
     fi
     if [ -s /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     else
     echo nameserver $PRIDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS4 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -s /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >>/vz/private/$ID/etc/hosts
     echo ::1 localhost6 >>/vz/private/$ID/etc/hosts
     echo $IP $HOST >>/vz/private/$ID/etc/hosts
     else
     echo 127.0.0.1 localhost >>/vz/private/$ID/etc/hosts
     echo ::1 localhost6 >>/vz/private/$ID/etc/hosts
     echo $IP $HOST >>/vz/private/$ID/etc/hosts
     fi 
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Host name =\E[36;40m $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password root user = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv4 address = $IP4 >> /var/log/vpsdatabase/vps$ID
     echo VETH interface netmask = $NETMASK >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 address = $IP6 >> /var/log/vpsdatabase/vps$ID
     echo VETH interface IPv6 prefix = $PREFIX >> /var/log/vpsdatabase/vps$ID
     echo VE IPv4 address = $VIP4 >> /var/log/vpsdatabase/vps$ID
     echo VE netmask = $VNETMASK >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 address = $VIP6 >> /var/log/vpsdatabase/vps$ID
     echo VE IPv6 prefix = $VPREFIX >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS6 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS6 >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported
     fi

}

ip6_auto(){

clear
echo -e "Enter the VE ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
clear
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
echo -e "Enter Host name"
echo
read HOST
clear
echo -e "Enter root user's password"
echo
read PASSWORD
clear
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
clear
echo -e "Enter the primary DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS6
echo -e "Enter the secondary DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read SECDNS6
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config unlimited
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl start $ID
     if [ -w /vz/private/$ID/etc/network/interfaces ]; then
     clear
     echo -e "Configuring\E[34;40m Debian\E[0m VE"
     echo
     echo -e "\E[32;40m=>\E[0m Creating virtual interfaces"
     echo
     /usr/sbin/vzctl set $ID --netif_add eth0 --save
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VETH$ID.0 interface"
     echo DEVICE=veth$ID.0 >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPv6_AUTOCONF=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo -e "\E[32;40m=>\E[0m Adding VETH$ID.0 to Ethernet bridge"
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Initializing Ethernet interface for VE"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration"
     echo auto lo >> /vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo auto eth0 >> /vz/private/$ID/etc/network/interfaces 
     echo iface eth0 inet6 auto >> /vz/private/$ID/etc/network/interfaces
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -e /vz/private/$ID/etc/hosts ]; then
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     else 
     echo >> /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     fi
     echo -e "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Host name =\E[36;40m $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password root user = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS6 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS6 >> /var/log/vpsdatabase/vps$ID
     echo Networking type = IPv6 auto-configuration >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m RedHat\E[0m VE"
     echo -e "\E[32;40m=>\E[0m Creating virtual interfaces"
     echo
     /usr/sbin/vzctl set $ID --netif_add eth0 --save 
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration for VETH$ID.0 interface"
     echo DEVICE=veth$ID.0 >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo ONBOOT=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo BRIDGE=$BRIDGE >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPV6INIT=yes >>/etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo IPv6_AUTOCONF=no >> /etc/sysconfig/network-scripts/ifcfg-veth$ID.0
     echo -e "\E[32;40m=>\E[0m Adding VETH$ID.0 to Ethernet bridge"
     /usr/sbin/brctl addif $BRIDGE veth$ID.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Intializing Ethernet interface for VE"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating static network configuration" 
     echo DEVICE=eth0 >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo TYPE=Ethernet >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo ONBOOT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6INIT=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo IPV6_AUTOCONF=yes >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     echo NETWORKING_IPV6=yes >> /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >> /vz/private/$ID/etc/sysconfig/network
     if [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS6 >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS6 >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ]; then
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     else
     echo >> /vz/private/$ID/etc/hosts
     echo 127.0.0.1 localhost >> /vz/private/$ID/etc/hosts
     echo ::1 localhost6 >> /vz/private/$ID/etc/hosts
     fi
     echo "\E[32;40m =>\E[0m Writing VE configuration database file"
     # This is a simple text file database
     if [ -d /var/log/vpsdatabase ]; then
     echo VE $ID >> /var/log/vpsdatabase/vps$ID 
     echo OS template cache = $CACHE >> /var/log/vpsdatabase/vps$ID
     echo Host name =\E[36;40m $HOST >> /var/log/vpsdatabase/vps$ID
     echo Password root user = $PASSWORD >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv4 address = $PRIDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv4 address = $SECDNS4 >> /var/log/vpsdatabase/vps$ID
     echo Primary DNS Server IPv6 address = $PRIDNS6 >> /var/log/vpsdatabase/vps$ID
     echo Secondary DNS Server IPv6 address = $SECDNS6 >> /var/log/vpsdatabase/vps$ID
     echo Networking type = IPv6 auto-configuration >> /var/log/vpsdatabase/vps$ID
     else
     echo -e "\E[33;40m=>\E[0m Configuration database directory does not exist"
     fi
     #
     echo -e "\E[32;40m=>\E[0m Restarting $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
     fi 

}


vps_network(){
clear
echo -e "\E[36;40m OVZAdmin\E[0m  VE Network Administration"
echo -e "\E[34;40m********************************************************************************\E[0m" 
echo
echo -e "1\E[32;40m >\E[0m Add network interface"
echo -e "2\E[32;40m >\E[0m Remove network interface"
echo -e "3\E[32;40m >\E[0m Add IP address"
echo -e "4\E[32;40m >\E[0m Remove IP address"
echo -e "5\E[32;40m >\E[0m Terminal shell"
echo -e "6\E[32;40m >\E[0m Previous menu"
echo -e "7\E[32;40m >\E[0m Exit"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in

              1)
              clear
              vps_ifadd
              vps_network
              ;;
 
              2)
              clear
              vps_ifremove
              vps_network
              ;;

              3)
              clear
              vps_ipadd
              vps_network
              ;;

              4)
              clear
              vps_removeip
              vps_network
              ;;

              5)
              clear
              terminal_console
              vps_network
              ;;

              6)
              clear
              vps_admin
              menu_return
              ;;

              *)
              vps_network
              ;;

esac

}



vps_ifadd(){

echo -e "\E[36;40m OVZAdmin\E[0m  Add network interface"
echo -e "\E[34;40m********************************************************************************\E[0m" 
echo
echo -e "1\E[32;40m >\E[0m IPv4 VETH"
echo -e "2\E[32;40m >\E[0m IPv6 VETH"
echo -e "3\E[32;40m >\E[0m IPv4 VLAN"
echo -e "4\E[32;40m >\E[0m IPv6 VLAN"
echo -e "5\E[32;40m >\E[0m IP Tunnel"
echo -e "6\E[32;40m >\E[0m Terminal shell"
echo -e "7\E[32;40m >\E[0m Previous menu"
echo -e "8\E[32;40m >\E[0m Exit"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in

              1)
              clear
              vps_ip4veth
              vps_network
              ;;
 
              2)
              clear
              vps_ip6veth
              vps_ip4
              ;;

              3)
              clear
              terminal
              vps_ip4
              ;;

              4)
              clear
              vps_admin
              ;;

              5)
              clear
              menu_return
              ;;

              *)
              vps_network
              ;;

esac

}

#-------------------------------------------------------------------------------------------------
# OVZAdmin main menu

# Checking for root

if ! [ "$UID" = "0" ];then
        echo "You must have SysAdmin priviledges to use this program....bye"
        exit $RETVAL
fi
#
clear     
if [ -e /usr/sbin/vzcpucheck ]; then
echo -e "\E[32;40m OVZ CPU\E[0m"
/usr/sbin/vzcpucheck
else
echo "vzcpucheck not found"
fi
echo
if [ -e /usr/sbin/vzmemcheck ]; then
echo -e "\E[32;40m OVZ Memory\E[0m"
/usr/sbin/vzmemcheck -A
else
echo "vzmemcheck not found"
fi
echo -e "\E[34;40m********************************************************************************\E[0m"
echo
echo -e "                    Welcome to the\E[36;40m OVZADMIN\E[0m Terminal Console"  
echo  
echo -e "                            1 > VE Administration"
echo -e "                            2 > Node Administration"     
echo -e "                            3 >\E[31;40m Exit\E[0m OVZAdmin"
echo
echo -e "                            Select a number"
echo
read CHOICE
case $CHOICE in
     
              1) 
              clear
              vps_admin
              ovzadmin
              ;;
     
              2)
              clear
              node_admin
              ;;
     
              3)
              clear
              exit $RETVAL
              ;;
              
                
              *)
              ovzadmin
              ;;

esac
exit $RETVAL

