%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/parallels-tools/tools/scripts/
Upload File :
Create Path :
Current File : //usr/lib/parallels-tools/tools/scripts/redhat-set_gateway.sh

#!/bin/bash
# Copyright (c) 2015 Parallels IP Holdings GmbH
#
# This script configure gateway inside RedHat like VM.
#
# Parameters: <dev> <IP>
#   <dev>         - name of device. (example: eth2)
#   <IP>          - IP address of gateway
#   <mac>         - hardware address of device
#  

prog="$0"
path="${prog%/*}"
funcs="$path/functions"

if [ -f "$funcs" ] ; then
	. $funcs
else
	echo "Program $0"
	echo "'$funcs' was not found"
	exit 1
fi


ETH_DEV=$1
ETH_GATEWAY=$2
ETH_MAC=$3
ETH_DEV_CFG=ifcfg-$ETH_DEV

IFCFG_DIR=/etc/sysconfig/network-scripts
IFCFG=${IFCFG_DIR}/${ETH_DEV_CFG}

ETH_ROUTE_CFG=route-$ETH_DEV
ROUTE_CFG=${IFCFG_DIR}/${ETH_ROUTE_CFG}

function set_gateway()
{
	if [ -f ${IFCFG} ] ; then
		/bin/rm -f ${ROUTE_CFG}
	else
		error "Config file ${IFCFG} is not found"
	fi

	for gw in ${ETH_GATEWAY}; do
		if [ "${gw}" == "remove" ]; then
			del_param ${IFCFG} "GATEWAY"
		elif [ "${gw}" == "removev6" ]; then
			del_param ${IFCFG} "IPV6_DEFAULTGW"
			del_param "/etc/sysconfig/network" "IPV6_DEFAULTDEV"
		elif is_ipv6 ${gw}; then
			put_param ${IFCFG} "IPV6_DEFAULTGW" ${gw}
			put_param "/etc/sysconfig/network" "IPV6_DEFAULTDEV" ${ETH_DEV}
		else
			put_param ${IFCFG} "GATEWAY" ${gw}
			echo "${gw} dev ${ETH_DEV} scope link" >> $ROUTE_CFG
			echo "default via ${gw}" >> $ROUTE_CFG
		fi
	done
	
	is_device_up ${ETH_DEV} && /sbin/ifdown ${ETH_DEV}
	/sbin/ifup ${ETH_DEV}
}

is_nm_active
if [ $? -eq 0 ]; then
	call_nm_script $0 "$@"
	exit $?
fi

set_gateway

# end of script

Zerion Mini Shell 1.0