#!/bin/bash # Copyright (c) 2015-2017, Parallels International GmbH # Copyright (c) 2017-2019 Virtuozzo International GmbH. All rights reserved. # # This script configure adapter to use DHCP inside RedHat like VM. # # Parameters: <dev> <mac> # <dev> - name of device. (example: eth2) # <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_MAC=$2 PROTO=$3 ETH_DEV_CFG=ifcfg-$ETH_DEV IFCFG_DIR=/etc/sysconfig/network-scripts IFCFG=${IFCFG_DIR}/${ETH_DEV_CFG} NETFILE=/etc/sysconfig/network HOSTFILE=/etc/hosts disable_network_manager PROTO4="none" PROTO6="no" for proto in ${PROTO}; do if [ "x$proto" == "x4" ] ; then PROTO4="dhcp" elif [ "x$proto" == "x6" ] ; then PROTO6="yes" fi done function create_config() { echo "DEVICE=${ETH_DEV} ONBOOT=yes BOOTPROTO=${PROTO4} DHCPV6C=${PROTO6} DHCPV6C_OPTIONS=-d HWADDR=${ETH_MAC} TYPE=Ethernet" > ${IFCFG_DIR}/bak/${ETH_DEV_CFG} || \ error "Unable to create interface config file" ${VZ_FS_NO_DISK_SPACE} } function backup_configs() { local delall=$1 rm -rf ${IFCFG_DIR}/bak/ >/dev/null 2>&1 mkdir -p ${IFCFG_DIR}/bak [ -n "${delall}" ] && return 0 pushd ${IFCFG_DIR} > /dev/null 2>&1 || return 1 if ls ${ETH_DEV_CFG}:* > /dev/null 2>&1; then ${CP} ${ETH_DEV_CFG}:* ${IFCFG_DIR}/bak/ || \ error "Unable to backup intrface config files" ${VZ_FS_NO_DISK_SPACE} fi popd > /dev/null 2>&1 } function move_configs() { pushd ${IFCFG_DIR} > /dev/null 2>&1 || return 1 rm -rf ${ETH_DEV_CFG}:* mv -f bak/* ${IFCFG_DIR}/ >/dev/null 2>&1 rm -rf ${IFCFG_DIR}/bak popd > /dev/null 2>&1 } function set_dhcp() { local delall=`[ "${PROTO4}" == "dhcp" ] && echo -n "yes"` backup_configs $delall create_config move_configs 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_dhcp # end of script
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 |
|