support for NATed networks

This commit is contained in:
Serghey Rodin 2013-02-05 22:58:40 +02:00
commit 138ef6c7b0
37 changed files with 271 additions and 94 deletions

View file

@ -256,9 +256,9 @@ add_web_config() {
-e "s/%ssl_ca_str%/${ssl_ca_str////\/}/g" \
-e "s/%ssl_ca%/${ssl_ca////\/}/g" \
-e "s/%nginx_extentions%/${NGINX_EXT//,/|}/g" \
-e "s/%elog%/$elog/g" \
-e "s/%cgi%/$cgi/g" \
-e "s/%cgi_option%/$cgi_option/g" \
-e "s/%elog%//g" \
-e "s/%cgi%//g" \
-e "s/%cgi_option%/+ExecCGI/g" \
>> $conf
}
@ -464,7 +464,6 @@ namehost_ip_disable() {
# Update web domain values
upd_web_domain_values() {
ip=$IP
group="$user"
email="$user@$domain"
docroot="$HOMEDIR/$user/web/$domain/public_html"

View file

@ -1,8 +1,7 @@
# Validationg ip address
is_ip_valid() {
#check_ifc=$(/sbin/ifconfig |grep "inet addr:$ip")
#if [ ! -e "$VESTA/data/ips/$ip" ] || [ -z "$check_ifc" ]; then
if [ ! -e "$VESTA/data/ips/$ip" ] ; then
check_nat=$(grep "^NAT='$ip'" $VESTA/data/ips/* 2>/dev/null)
if [ ! -e "$VESTA/data/ips/$ip" ] && [ -z "$check_nat" ] ; then
echo "Error: IP $ip not exist"
log_event "$E_NOTEXIST" "$EVENT"
exit $E_NOTEXIST
@ -11,7 +10,13 @@ is_ip_valid() {
# Check if ip availabile for user
is_ip_avalable() {
ip_data=$(cat $VESTA/data/ips/$ip)
if [ -e "$VESTA/data/ips/$ip" ]; then
ip_data=$(cat $VESTA/data/ips/$ip)
else
nated_ip=$(grep "^NAT='$ip'" $VESTA/data/ips/*)
nated_ip=$(echo "$nated_ip" | cut -f 1 -d : | cut -f 7 -d /)
ip_data=$(cat $VESTA/data/ips/$nated_ip)
fi
owner=$(echo "$ip_data"|grep OWNER= | cut -f 2 -d \')
status=$(echo "$ip_data"|grep STATUS= | cut -f 2 -d \')
shared=no
@ -90,7 +95,7 @@ update_ip_value() {
# Get ip name
get_ip_name() {
grep "NAME=" $VESTA/data/ips/$ip |cut -f 2 -d \'
grep "NAME=" $VESTA/data/ips/$ip | cut -f 2 -d \'
}
# Increase ip value
@ -192,6 +197,7 @@ create_vesta_ip() {
ip_data="$ip_data\nU_WEB_DOMAINS='0'"
ip_data="$ip_data\nINTERFACE='$interface'"
ip_data="$ip_data\nNETMASK='$mask'"
ip_data="$ip_data\nNAT='$nat_ip'"
ip_data="$ip_data\nTIME='$TIME'"
ip_data="$ip_data\nDATE='$DATE'"
echo -e "$ip_data" >$VESTA/data/ips/$ip
@ -205,3 +211,12 @@ create_ip_startup() {
ip_data="$ip_data\nNETMASK=$mask"
echo -e "$ip_data" > $iconf-$iface
}
get_real_ip() {
if [ -e "$VESTA/data/ips/$1" ]; then
echo $1
else
nated_ip=$(grep "^NAT='$1'" $VESTA/data/ips/*)
echo "$nated_ip" | cut -f 1 -d : | cut -f 7 -d /
fi
}

View file

@ -752,6 +752,7 @@ validate_format(){
max_db) validate_format_int "$arg" ;;
min) validate_format_mhdmw "$arg" $arg_name ;;
month) validate_format_mhdmw "$arg" $arg_name ;;
nat_ip) validate_format_ip "$arg" ;;
ns1) validate_format_domain "$arg" ;;
ns2) validate_format_domain "$arg" ;;
ns3) validate_format_domain "$arg" ;;