#!/bin/bash # Copyright (c) 2018 Virtuozzo International GmbH. All rights reserved. # # This script sets up resolver inside VM controlled with NM # # arguments: <NAMESERVER> <SEARCHDOMAIN> <HOSTNAME> # <SEARCHDOMAIN> # Sets search domain(s). # <NAMESERVER> # Sets name server(s). 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 NAMESERVER="$3" SEARCHDOMAIN="$4" HOSTNAME="$5" function set_dns() { local errors=0 local nameservers="$1" [ -z "${nameservers}" ] && return 0 local uuid=`nm_check_and_create $ETH_DEV $ETH_MAC` [ -z "${uuid}" ] && return 0 local ns4="" local ns6="" for ip in ${nameservers}; do if is_ipv6 ${ip}; then [ -z "${ns6}" ] || ns6="${ns6}," ns6="${ns6}${ip}" else [ -z "${ns4}" ] || ns4="${ns4}," ns4="${ns4}${ip}" fi done call_nmcli c modify $uuid ipv4.dns "${ns4}" call_nmcli c modify $uuid ipv6.dns "${ns6}" call_nmcli c up ${uuid} return $errors } function set_domains() { local errors=0 local domains="$1" # nothing to do [ -z "${domains}" ] && return 0 # value for empty search list [ "${domains}" = "remove" ] && domains="" domains=`echo "${domains}" | tr -s ' ' ','` LC_ALL=C nmcli -t c show --active | cut -d: -f2 | \ while read uuid do call_nmcli c modify ${uuid} ipv4.dns-search "${domains}" call_nmcli c up ${uuid} done return $errors } function set_hostname() { local errors=0 local hostname="$1" # nothing to do [ -z "${hostname}" ] && return 0 call_nmcli general hostname "${hostname}" return $errors } set_dns "${NAMESERVER}" set_domains "${SEARCHDOMAIN}" set_hostname "${HOSTNAME}" exit 0
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 |
|