[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.148.112.216: ~ $
#!/bin/bash
# Copyright (c) 2015-2017, Parallels International GmbH
# Copyright (c) 2017-2019 Virtuozzo International GmbH. All rights reserved.
#
# This script configure IP alias(es) inside SuSE like VM.
#
# Parameters: <dev> <MAC_addr> <IPs>
#   <dev>         - name of device. (example: eth2)
#   <MAC_addr>    - MAC address of device
#   <IP/MASKs>    - IP address(es) with MASK 
#                   (example: 192.169.1.30/255.255.255.0)
#                   (several addresses should be divided by space)
#  

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_MAC=$2
IP_MASKS=$3
OPTIONS=$4
ETH_DEV_CFG=ifcfg-$ETH_DEV
IFNUM=-1

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

set_options "${OPTIONS}"

function create_config()
{
	local ip=$1
	local mask=$2
	local ifnum=$3
	local ifcfg=$4

	[ -z "${ip}" ] && \
		error "Empty value of IP"

	[ "${ip}" == "remove" ] && ip=""

	[ -z "${mask}" ] && \
		error "Empty value of MASK"

	local dhcp_type="static"
	if [ $USE_DHCPV4 -eq 1 -a $USE_DHCPV6 -eq 1 ]; then
		dhcp_type="dhcp"
	elif grep -qi "^[[:space:]]*VERSION.*1[1-9]" /etc/SuSE-release ; then
		# Only SUSE 11 and up supports explicit dhcp4 / dhcp6
		[ $USE_DHCPV4 -eq 1 ] && dhcp_type="dhcp4"
		[ $USE_DHCPV6 -eq 1 ] && dhcp_type="dhcp6"
	else
		[ $USE_DHCPV4 -eq 1 ] && dhcp_type="dhcp"
	fi

	echo "BOOTPROTO='${dhcp_type}'
STARTMODE='auto'
USERCONTROL='no'
IPADDR=${ip}" > ${ifcfg} || \
	error "Unable to create interface config file" ${VZ_FS_NO_DISK_SPACE}

	if ! is_ipv6 "${ip}" ; then
		echo "NETMASK=${mask}" >> ${ifcfg}
	else
		echo "PREFIXLEN=${mask}" >> ${ifcfg}
	fi

}

function add_alias()
{
	local ip=$1
	local mask=$2
	local ifnum=$3
	local ifcfg=$4
	local cfg

	if [ ! -f ${ifcfg} ]; then
		create_config "$ip" "$mask" "0" "$ifcfg"
		return
	fi
	cfg="IPADDR_${ifnum}=${ip}
LABEL_${ifnum}=${ifnum}"

	if ! is_ipv6 ${ip} ; then
		cfg="${cfg}
NETMASK_${ifnum}=${mask}"
	else
		cfg="${cfg}
PREFIXLEN_${ifnum}=${mask}"
	fi

	echo "${cfg}" >> ${ifcfg} || error "Unable to create interface config file ${ifcfg}" ${VZ_FS_NO_DISK_SPACE}
}

function move_configs()
{
	cd ${IFCFG_DIR} || return 1
	rm -rf ${ETH_DEV_CFG}*
	mv -f bak/* ${IFCFG_DIR}/ >/dev/null 2>&1 
	rm -rf ${IFCFG_DIR}/bak
}

function set_ip()
{
	local ip_mask ip mask
	local new_ips
	local ifcfg="${IFCFG_DIR}/bak/${ETH_DEV_CFG}"

	rm -rf ${IFCFG_DIR}/bak/ >/dev/null 2>&1
	mkdir -p ${IFCFG_DIR}/bak

	new_ips="${IP_MASKS}"
	for ip_mask in ${new_ips}; do
		let IFNUM=IFNUM+1
		if echo ${ip_mask} | grep -q '/' ; then
			mask=${ip_mask##*/}
		else
			if is_ipv6 ${ip_mask} ; then
				mask="64"
			else
				mask='255.255.255.255'
			fi
		fi
		ip=${ip_mask%%/*}
		if [ ${IFNUM} -eq 0 ] ; then
			create_config "${ip}" "${mask}" "${IFNUM}" "${ifcfg}"
		else
			add_alias "${ip}" "${mask}" "${IFNUM}" "${ifcfg}"
		fi
	done

	/sbin/ifdown ${ETH_DEV}

	move_configs

	/sbin/ifup ${ETH_DEV}
}

get_suse_config_name $ETH_DEV $ETH_MAC
set_ip

exit 0
# end of script

Filemanager

Name Type Size Permission Actions
debian-get_dhcp.sh File 1.32 KB 0755
debian-netplan_restart.sh File 439 B 0755
debian-restart.sh File 1.34 KB 0755
debian-set_dhcp.sh File 1.62 KB 0755
debian-set_gateway.sh File 1.85 KB 0755
debian-set_ip.sh File 4.35 KB 0755
debian-set_route.sh File 2.06 KB 0755
functions File 20.34 KB 0755
netplan-cfg.py File 8.63 KB 0755
netplan-cfg.pyc File 10.45 KB 0644
netplan-cfg.pyo File 10.45 KB 0644
nm-get_dhcp.sh File 834 B 0755
nm-restart.sh File 488 B 0755
nm-set_dhcp.sh File 1.23 KB 0755
nm-set_dns.sh File 1.71 KB 0755
nm-set_gateway.sh File 1.11 KB 0755
nm-set_ip.sh File 3.02 KB 0755
nm-set_route.sh File 1.12 KB 0755
redhat-get_dhcp.sh File 1.58 KB 0755
redhat-restart.sh File 429 B 0755
redhat-set_dhcp.sh File 2 KB 0755
redhat-set_gateway.sh File 1.54 KB 0755
redhat-set_ip.sh File 5.36 KB 0755
redhat-set_route.sh File 1.33 KB 0755
set_dns.sh File 4.03 KB 0755
suse-get_dhcp.sh File 1 KB 0755
suse-restart.sh File 255 B 0755
suse-set_dhcp.sh File 1.7 KB 0755
suse-set_gateway.sh File 970 B 0755
suse-set_ip.sh File 3.01 KB 0755
suse-set_route.sh File 1.12 KB 0755