#!/bin/sh

# OVZAdmin,by Lars Bailey - lars.bailey@gmail.com
# version alpha
# 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.

# 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.
# >> IPv6 DHCP only configures the networking parameters. Does not edit dhcpv6client
#    configuration file.(at least,in this version) 

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

# TODO

# 1. DEBIAN/OpenVZ support ?

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

RETVAL=0


menu_return(){
clear
echo -e "Return to OVZAdmin main menu?"
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 VPS

vps_detection(){
clear
echo -e "\E[31;40mWARNING\E[0m"
echo
echo -e "\E[36;40mOVZAdmin\E[0m has detected an existing VPS configuration with ID $ID."
echo -e "If this is a non-existent VPS,please remove the skeletal configuration file for"
echo -e "VPS $ID."
echo
echo -e "1\E[32;40m >\E[0m Return to VPS 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[36;40mOVZAdmin\E[0m does not support the"
echo -e "automatic configuration of the OS template cache"
echo -e "used for VPS $ID."
echo -e "You will have to configure VPS $ID manually."
echo
echo -e "1\E[32;40m >\E[0m Return to VPS 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

}


# Options menus
#-------------------------------------------------------------------------------------------------

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 Node Connectivity Check"
echo -e "2\E[32;40m >\E[0m Node Network monitoring"
echo -e "3\E[32;40m >\E[0m Web Traffic statistics"
echo -e "4\E[32;40m >\E[0m Firewall and Bandwidth management"
echo -e "5\E[32;40m >\E[0m Virtual Machine management"
echo -e "6\E[32;40m >\E[0m Virtual Switch management"
echo -e "7\E[32;40m >\E[0m Terminal console"                 
echo -e "8\E[32;40m >\E[0m\E[33;40m Exit\E[0m menu"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in
     
              1)
              clear
              node_check
              node_admin
              ;;
 
              2)
              clear
              node_admin
              ;;
                
              3)
              clear
              node_admin
              ;; 

              4)
              clear
              node_admin
              ;;
              
              5)
              clear
              node_admin             
              ;;

              6)
              clear
              node_admin
              ;;

              7)
              clear
              terminal            
              node_admin
              ;;

              8)
              clear
              menu_return
              ;;

              *)
              node_admin
              ;;

esac

}


vps_admin(){
clear
echo -e "\E[36;40m OVZAdmin\E[0m  VPS Administration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"     
echo
echo -e "1\E[32;40m >\E[0m Destroy VPS"
echo -e "2\E[32;40m >\E[0m Create VPS only"
echo -e "3\E[32;40m >\E[0m Create VPS with IPv4 networking"
echo -e "4\E[32;40m >\E[0m Create VPS with IPv6 networking"
echo -e "5\E[32;40m >\E[0m Create VPS with IPv4-IPv6 networking"
echo -e "6\E[32;40m >\E[0m VPS Network management"
echo -e "7\E[32;40m >\E[0m VPS 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
              vps_admin
              ;;
  
              6)
              clear
              vps_network
              vps_admin
              ;;

              7)
              clear
              disk_manage
              vps_admin
              ;;

              8)
              clear
              terminal
              vps_admin
              ;;

              9)
              clear
              ovzadmin
              ;;

              *)
              vps_admin
              ;;

esac

}

destroy_vps(){
clear
echo -e "\E[36;40m OVZAdmin\E[0m  Destroy VPS"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m" 
echo
echo "Enter the container ID"
echo
read ID

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

if [ /vz/private/$ID ]; 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/vz-scripts/$ID.conf.destroyed 2>/dev/null
     rm /etc/sysconfig/network-scripts/ifcfg-veth$ID.0 2>/dev/null
else
    echo -e "\E[31;40mVE $ID does not exist\E[0m" 
fi

}

vps_only(){
clear
echo -e "\E[36;40m OVZAdmin\E[0m  VPS only"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VE ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  VPS only"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
clear
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/usr/sbin/vzctl set $ID --onboot yes --save
/usr/sbin/vzctl start $ID

}

vps_ip4(){
clear
echo -e "\E[36;40m OVZAdmin\E[0m  Create VPS "
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m" 
echo
echo -e "1\E[32;40m >\E[0m Create VPS with IPv4 DHCP" 
echo -e "2\E[32;40m >\E[0m Create VPS with IPv4 Virtual Ethernet"
echo -e "3\E[32;40m >\E[0m Create VPS with IPv4 bridged Virtual Ethernet"
echo -e "4\E[32;40m >\E[0m Terminal shell"
echo -e "5\E[32;40m >\E[0m Previous menu"
echo -e "6\E[32;40m >\E[0m Exit"
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
              terminal
              vps_ip4
              ;;

              5)
              clear
              vps_admin
              ;;

              6)
              clear
              menu_return
              ;;

              *)
              vps_ip4
              ;;

esac

}

vps_dhcp(){
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS ID number"
echo
read ID

# Failsafe
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi

#
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter root user's password"
echo
read PASSWORD
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "Ethernet bridge ID =\E[36;40m $BRIDGE\E[0m"
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[33;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 -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 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 [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $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 -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 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 [ -e /vz/private/$ID/etc/sysconfig/network ]; then
     rm /vz/private/$ID/etc/sysconfig/network
     fi
     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
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
     fi  
     ;;
     
     2) 
     vps_dhcp
     ;;

     *)
     vps_dhcp
     ;;

esac

}



vps_virtual(){ 
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter VPS ID number"
echo
read ID
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"    
echo
echo -e "Enter root user password"
echo
read PASSWORD
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the virtual Ethernet interface IP address"
echo
read IP
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the Netmask"
echo
read NETMASK
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IP address"
echo
read VIP
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS Netmask"
echo
read VNETMASK
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the primary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
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
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"   
echo
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "VETH interface IPv4 address =\E[36;40m $IP\E[0m"
echo -e "VETH interface Netmask =\E[36;40m $NETMASK\E[0m"
echo -e "VPS IPv4 address =\E[36;40m $VIP\E[0m"
echo -e "VPS Netmask =\E[36;40m $VNETMASK\E[0m"
echo -e "Primary DNS Server IPv4 address =\E[36;40m $PRIDNS\E[0m"
echo -e "Secondary DNS Server IPv4 address =\E[36;40m $SECDNS\E[0m"
echo
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[31;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 VPS"
     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 network configuration for virtual interface veth$ID.0"
     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
     echo -e "\E[32;40m=>\E[0m Bringing up VPS $ID gateway"
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     echo -e "\E[32;40m=>\E[0m Initializing Ethernet interface for VPS"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating 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 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 [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ];then     
     rm /vz/private/$ID/etc/hosts
     fi 
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $ID"
     vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m RedHat\E[0m VPS"
     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 network configuration for virtual interface veth$ID.0"
     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
     echo -e "\E[32;40m=>\E[0m Bringing up VPS gateway"
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     echo -e "\E[32;40m=>\E[0m Intializing Ethernet interface for VPS $ID"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating network configuration"
     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 [ -e /vz/private/$ID/etc/sysconfig/network ]; then
     rm /vz/private/$ID/etc/sysconfig/network
     fi
     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
     if [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_support
     fi
     ;;

     2)
     clear
     vps_virtual
     ;;    

     *)
     vps_virtual
     ;;

esac

}

vps_bridge(){

clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS ID number"
echo
read ID

# Failsafe
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi

#
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter root user's password"
echo
read PASSWORD
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IP address"
echo
read VIP
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS Netmask"
echo
read VNETMASK
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the gateway IP address"
echo
read GATEWAY
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the primary DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read PRIDNS
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
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
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "VPS IPv4 address =\E[36;40m $VIP\E[0m"
echo -e "VPS Netmask =\E[36;40m $VNETMASK\E[0m"
echo -e "Ethernet bridge ID =\E[36;40m $BRIDGE\E[0m"
echo -e "VPS Gateway IPv4 address =\E[36;40m $GATEWAY\E[0m"
echo -e "Primary DNS Server IPv4 address =\E[36;40m $PRIDNS\E[0m"
echo -e "Secondary DNS Server IPv4 address =\E[36;40m $SECDNS\E[0m"
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[33;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 -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 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 [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $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 -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 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 [ -e /vz/private/$ID/etc/resolv.conf ]; then
     rm /vz/private/$ID/etc/resolv.conf
     fi
     echo nameserver $PRIDNS >> /vz/private/$ID/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/resolv.conf
     if [ -e /vz/private/$ID/etc/sysconfig/network ]; then
     rm /vz/private/$ID/etc/sysconfig/network
     fi
     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
     if [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
     fi  
     ;;
     
     2) 
     vps_bridge
     ;;

     *)
     vps_bridge
     ;;

esac

}

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 VPS with IPv6 DHCP"
echo -e "2\E[32;40m >\E[0m Create VPS with IPv6 Virtual Ethernet"
echo -e "3\E[32;40m >\E[0m Create VPS with IPv6 bridged Virtual Ethernet"
echo -e "4\E[32;40m >\E[0m Create VPS with IPv6 auto-configuration"
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 OVZAdmin"
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
              terminal
              vps_ip6
              ;;

              6)
              clear
              vps_admin
              ;;

              7)
              clear
              menu_return
              ;;

              *)
              vps_ip6
              ;;

esac

}

ip6_dhcp(){

clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS ID number"
echo
read ID

# Failsafe

if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
#
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter root user's password"
echo
read PASSWORD
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 DHCP"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
clear
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "Ethernet bridge ID =\E[36;40m $BRIDGE\E[0m"
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[33;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 -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 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 [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $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 -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 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
     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
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
fi  
     ;;
     
     2) 
     ip6_bridge
     ;;

     *)
     ip6_bridge
     ;;

esac

}



ip6_virtual(){ 
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter VPS ID number"
echo
read ID

# Failsafe

if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
#
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"    
echo
echo -e "Enter root user password"
echo
read PASSWORD
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the virtual Ethernet interface IPv6 address"
echo
read IP
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the IPv6 prefix"
echo
read PREFIX
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv6 address"
echo
read VIP
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv6 prefix"
echo
read VPREFIX
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read DNS6
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"   
echo
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "VETH interface IPv6 address =\E[36;40m $IP\E[0m"
echo -e "VETH interface IPv6 prefix =\E[36;40m $PREFIX\E[0m"
echo -e "VPS IPv6 address =\E[36;40m $VIP\E[0m"
echo -e "VPS IPv6 prefix =\E[36;40m $VPREFIX\E[0m"
echo -e "DNS Server IP =\E[36;40m $DNS6\E[0m"
echo
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[31;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 VPS"
     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 network configuration for virtual interface veth$ID.0"
     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
     echo -e "\E[32;40m=>\E[0m Bringing up VPS $ID gateway"
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     echo -e "\E[32;40m=>\E[0m Initializing Ethernet interface for VPS"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating network configuration"
     echo auto lo >>/vz/private/$ID/etc/network/interfaces
     echo iface lo inet6 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 [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ]; then 
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $ID"
     vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m RedHat\E[0m VPS"
     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 network configuration for virtual interface veth$ID.0"
     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
     echo -e "\E[32;40m=>\E[0m Bringing up VPS gateway"
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     echo -e "\E[32;40m=>\E[0m Intializing Ethernet interface for VPS $ID"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating 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 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 [ -e /vz/private/$ID/etc/sysconfig/network ];then
     rm /vz/private/$ID/etc/sysconfig/network
     fi
     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
     if [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported
fi
     ;;

     2)
     clear
     ip6_virtual
     ;;    

     *)
     ip6_virtual
     ;;

esac

}

ip6_bridge(){

clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS ID number"
echo
read ID

# Failsafe

if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
#
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter root user's password"
echo
read PASSWORD
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv6 address"
echo
read VIP
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS prefix"
echo
read VPREFIX
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the gateway IPv6 address"
echo
read GATEWAY
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the\E[35;40m DNS server IPv6\E[0m address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read DNS6
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Bridged Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "VPS IPv6 address =\E[36;40m $VIP\E[0m"
echo -e "VPS IPv6 prefix =\E[36;40m $VPREFIX\E[0m"
echo -e "Ethernet bridge ID =\E[36;40m $BRIDGE\E[0m"
echo -e "VPS IPv6 Gateway =\E[36;40m $GATEWAY\E[0m"
echo -e "DNS Server IPv6 address =\E[36;40m $DNS6\E[0m"
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[33;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 -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 inet6 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 [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $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 -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 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
     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
     if [ -e /vz/private/$ID/etc/resolv.conf ]; then
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     else
     echo >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $PRIDNS >> /vz/private/$ID/etc/resolv.conf
     echo nameserver $SECDNS >> /vz/private/$ID/etc/resolv.conf
     fi
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
fi  
     ;;
     
     2) 
     ip6_bridge
     ;;

     *)
     ip6_bridge
     ;;

esac

}


vps_network(){
clear
echo -e "\E[36;40m OVZAdmin\E[0m  VPS 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_remove
              vps_ip4
              ;;

              3)
              clear
              terminal
              vps_ip4
              ;;

              4)
              clear
              vps_admin
              ;;

              5)
              clear
              menu_return
              ;;

              *)
              vps_network
              ;;

esac

}

disk_manage(){
clear

}


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

}


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 VPS with IPv4-IPv6 Virtual Ethernet"
echo -e "2\E[32;40m >\E[0m Create VPS with IPv4-IPv6 bridged Virtual Ethernet"
echo -e "3\E[32;40m >\E[0m Terminal"
echo -e "4\E[32;40m >\E[0m Previous menu"
echo -e "5\E[32;40m >\E[0m Exit"
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
              terminal
              vps_ip4
              ;;

              4)
              clear
              vps_admin
              ;;

              5)
              clear
              menu_return
              ;;

              *)
              ip6_dual
              ;;

esac

}

ip6_dualvirt(){ 
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter VPS ID number"
echo
read ID

# Failsafe
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
#
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"    
echo
echo -e "Enter root user password"
echo
read PASSWORD
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the virtual Ethernet interface IPv4 address"
echo
read IP4
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the netmask"
echo
read NETMASK
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the virtual Ethernet interface IPv6 address"
echo
read IP6
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the IPv6 prefix"
echo
read PREFIX
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv4 address"
echo
read VIP4
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS netmask"
echo
read VNETMASK
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv6 address"
echo
read VIP6
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv6 prefix"
echo
read VPREFIX
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read DNS
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read DNS6
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"   
echo
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "VETH interface IPv4 address =\E[36;40m $IP4\E[0m"
echo -e "VETH interface netmask =\E[36;40m $NETMASK\E[0m"
echo -e "VETH interface IPv6 address =\E[36;40m $IP6\E[0m"
echo -e "VETH interface IPv6 prefix =\E[36;40m $PREFIX\E[0m"
echo -e "VPS IPv4 address =\E[36;40m $VIP4\E[0m"
echo -e "VPS netmask =\E[36;40m $VNETMASK\E[0m"
echo -e "VPS IPv6 address =\E[36;40m $VIP6\E[0m"
echo -e "VPS IPv6 prefix =\E[36;40m $VPREFIX\E[0m"
echo -e "DNS Server IPv4 address =\E[36;40m $DNS\E[0m"
echo -e "DNS Server IPv6 address =\E[36;40m $DNS\E[0m"
echo
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[31;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 VPS"
     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 network configuration for virtual interface veth$ID.0"
     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
     echo -e "\E[32;40m=>\E[0m Bringing up VPS $ID gateway"
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     echo -e "\E[32;40m=>\E[0m Initializing Ethernet interface for VPS"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating network configuration"
     echo auto lo >>/vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo iface lo inet6 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 
     /usr/sbin/vzctl set $ID --nameserver $DNS --save
     /usr/sbin/vzctl set $ID --nameserver $DNS6 --save
     if [ -e /vz/private/$ID/etc/hosts ]; then 
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $ID"
     vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m RedHat\E[0m VPS"
     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 network configuration for virtual interface veth$ID.0"
     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
     echo -e "\E[32;40m=>\E[0m Bringing up VPS gateway"
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     echo -e "\E[32;40m=>\E[0m Intializing Ethernet interface for VPS $ID"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating network configuration"
     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....."

     if [ -e /vz/private/$ID/etc/sysconfig/network ];then
     rm /vz/private/$ID/etc/sysconfig/network
     fi
     echo HOSTNAME=$HOST >>/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
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
    
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported
fi
     ;;

     2)
     clear
     ip6_dual
     ;;    

     *)
     ip6_dual
     ;;

esac

}

ip6_dualbridge(){

clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter VPS ID number"
echo
read ID

# Failsafe
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
#
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"    
echo
echo -e "Enter root user password"
echo
read PASSWORD
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the virtual Ethernet interface IPv4 address"
echo
read IP4
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the netmask"
echo
read NETMASK
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the virtual Ethernet interface IPv6 address"
echo
read IP6
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the IPv6 prefix"
echo
read PREFIX
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m---------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv4 address"
echo
read VIP4
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS netmask"
echo
read VNETMASK
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv6 address"
echo
read VIP6
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS IPv6 prefix"
echo
read VPREFIX
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the DNS server IPv4 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read DNS
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the DNS server IPv6 address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read DNS6
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv4-IPv6 Virtual Ethernet"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"   
echo
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "VETH interface IPv4 address =\E[36;40m $IP4\E[0m"
echo -e "VETH interface netmask =\E[36;40m $NETMASK\E[0m"
echo -e "VETH interface IPv6 address =\E[36;40m $IP6\E[0m"
echo -e "VETH interface IPv6 prefix =\E[36;40m $PREFIX\E[0m"
echo -e "VPS IPv4 address =\E[36;40m $VIP4\E[0m"
echo -e "VPS netmask =\E[36;40m $VNETMASK\E[0m"
echo -e "VPS IPv6 address =\E[36;40m $VIP6\E[0m"
echo -e "VPS IPv6 prefix =\E[36;40m $VPREFIX\E[0m"
echo -e "DNS Server IPv4 address =\E[36;40m $DNS\E[0m"
echo -e "DNS Server IPv6 address =\E[36;40m $DNS\E[0m"
echo
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[31;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 VPS"
     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 network configuration for virtual interface veth$ID.0"
     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
     echo -e "\E[32;40m=>\E[0m Bringing up VPS $ID gateway"
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     echo -e "\E[32;40m=>\E[0m Initializing Ethernet interface for VPS"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating network configuration"
     echo auto lo >>/vz/private/$ID/etc/network/interfaces
     echo iface lo inet loopback >> /vz/private/$ID/etc/network/interfaces
     echo iface lo inet6 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 
     /usr/sbin/vzctl set $ID --nameserver $DNS --save
     /usr/sbin/vzctl set $ID --nameserver $DNS6 --save
     if [ -e /vz/private/$ID/etc/hosts ]; then 
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $ID"
     vzctl restart $ID
elif [ -d /vz/private/$ID/etc/sysconfig/network-scripts ]; then
     echo -e "Configuring\E[31;40m RedHat\E[0m VPS"
     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 network configuration for virtual interface veth$ID.0"
     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
     echo -e "\E[32;40m=>\E[0m Bringing up VPS gateway"
     /sbin/ifdown veth$ID.0
     /sbin/ifup veth$ID.0
     echo -e "\E[32;40m=>\E[0m Intializing Ethernet interface for VPS $ID"
     /usr/sbin/vzctl exec $ID ifconfig eth0 0.0.0.0
     sleep 1
     echo -e "\E[32;40m=>\E[0m Creating network configuration"
     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....."
     if [ -e /vz/private/$ID/etc/sysconfig/network ];then
     rm /vz/private/$ID/etc/sysconfig/network
     fi
     echo HOSTNAME=$HOST >>/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
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save 
     /usr/sbin/vzctl set $ID --nameserver $DNS --save
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VE $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported
fi
     ;;

     2)
     clear
     ip6_dualbridged
     ;;    

     *)
     ip6_dualbridged
     ;;

esac

}

ip6_auto(){

clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Auto-configuration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the VPS ID number"
echo
read ID

# Failsafe
if [ -e /etc/sysconfig/vz-scripts/$ID.conf ]; then
vps_detection 
fi
#
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Auto-configuration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Select a OS template cache"
echo
ls /vz/template/cache
echo
read CACHE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Auto-configuration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter Host name"
echo
read HOST
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Auto-configuration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter root user's password"
echo
read PASSWORD
shift
clear
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Auto-configuration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the Ethernet bridge ID"
echo
read BRIDGE
shift
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Auto-configuration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "Enter the\E[35;40m DNS server IPv6\E[0m address"
echo -e "Press >\E[32;40m RETURN\E[0m key to skip"
echo
read DNS
clear
echo -e "\E[36;40m OVZAdmin\E[0m  IPv6 Auto-configuration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"  
echo
echo -e "VPS configuration"
echo
echo -e "OS template cache =\E[36;40m $CACHE\E[0m"
echo -e "Host name =\E[36;40m $HOST\E[0m"
echo -e "Password for root user =\E[36;40m $PASSWORD\E[0m"
echo -e "Ethernet bridge ID =\E[36;40m $BRIDGE\E[0m"
echo -e "DNS Server IPv6 address =\E[36;40m $DNS\E[0m"
echo -e "Is this correct?"
echo
echo -e "1 >\E[32;40m Yes\E[0m"
echo -e "2 >\E[33;40m No\E[0m"
echo
read YESNO
     case $YESNO in

1)
clear 
/usr/sbin/vzctl create $ID --ostemplate $CACHE --config vps.basic
/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 inet6 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 --nameserver $DNS --save
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting VPS $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 >> /vz/private/$ID/etc/sysconfig/network-scripts/ifcfg-eth0
     echo -e "\E[32;40m=>\E[0m Performing other configurations....."
     echo NETWORKING_IPV6=yes >> /vz/private/$ID/etc/sysconfig/network
     echo HOSTNAME=$HOST >> /vz/private/$ID/etc/sysconfig/network
     /usr/sbin/vzctl set $ID --nameserver $DNS --save
     /usr/sbin/vzctl set $ID --userpasswd root:$PASSWORD --save
     if [ -e /vz/private/$ID/etc/hosts ]; then
     rm /vz/private/$ID/etc/hosts 
     fi
     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
     echo -e "\E[32;40m=>\E[0m Restarting $ID"
     /usr/sbin/vzctl restart $ID
     else
     non_supported       
fi  
     ;;
     
     2) 
     ip6_auto
     ;;

     *)
     ip6_auto
     ;;

esac

}

##################################################################################################
# Software programs ran from within OVZAdmin

# Terminal shell

# Auxillary programs run from OVZAdmin



##################################################################################################


# 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
echo -e "\E[36;40mOVZAdmin\E[0m  Terminal VPS Administration"
echo -e "\E[34;40m--------------------------------------------------------------------------------\E[0m"     
if [ -e /usr/sbin/vzcpucheck ]; then
echo -e "\E[32;40m Node CPU\E[0m"
/usr/sbin/vzcpucheck
else
echo "vzcpucheck not found"
fi
echo
if [ -e /usr/sbin/vzmemcheck ]; then
echo -e "\E[32;40m Node Memory\E[0m"
/usr/sbin/vzmemcheck
else
echo "vzmemcheck not found"
fi
echo -e "\E[34;40m================================================================================\E[0m"   
echo
echo -e "Please select from the following menu options"
echo
echo -e " 1\E[32;40m >\E[0m Node Administration"                                
echo -e " 2\E[32;40m >\E[0m VPS Administration"
echo -e " 3\E[32;40m >\E[0m Exit OVZAdmin"
echo
echo -e "Select a number"
echo
read CHOICE
case $CHOICE in
     
              1) 
              clear
              node_admin
              ;;
     
              2)
              clear
              vps_admin
              ;;
     
              3)
              clear
              exit $RETVAL
              ;;
              
                
              *)
              ovzadmin
              ;;

esac
exit $RETVAL

