#!/usr/bin/env bash # -------------------------------------------------------------------------- # # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems # # # # Licensed under the Apache License, Version 2.0 (the "License"); you may # # not use this file except in compliance with the License. You may obtain # # a copy of the License at # # # # http://www.apache.org/licenses/LICENSE-2.0 # # # # Unless required by applicable law or agreed to in writing, software # # distributed under the License is distributed on an "AS IS" BASIS, # # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # # See the License for the specific language governing permissions and # # limitations under the License. # #--------------------------------------------------------------------------- # export DNS_VARIABLES="DNS $(env | sed 's/=.*$//' | grep -E '^ETH[0-9]+_DNS$' | sort)" export SEARCH_VARIABLES="SEARCH_DOMAIN $(env | sed 's/=.*$//' | grep -E '^ETH[0-9]+_SEARCH_DOMAIN$' | sort)" nameservers=$( for var in ${DNS_VARIABLES}; do value=$(eval "echo \"\${$var}\"") if [ -n "$value" ]; then echo "$value" fi done ) searchdomains=$( for var in ${SEARCH_VARIABLES}; do value=$(eval "echo \"\${$var}\"") if [ -n "$value" ]; then echo "$value" fi done ) [ -z "$nameservers" ] && exit 0 if [ -L /etc/resolv.conf ]; then unlink /etc/resolv.conf else echo -n '' > /etc/resolv.conf fi for nameserver in $nameservers; do echo nameserver $nameserver >> /etc/resolv.conf done if [ -f /etc/sysconfig/network/config ]; then sed -i "/^NETCONFIG_DNS_STATIC_SERVERS=/ s/=.*$/=\"$nameservers\"/" /etc/sysconfig/network/config fi [ -z "$searchdomains" ] && exit 0 echo search $searchdomains >> /etc/resolv.conf if [ -f /etc/sysconfig/network/config ]; then sed -i "/^NETCONFIG_DNS_STATIC_SEARCHLIST=/ s/=.*$/=\"$searchdomains\"/" /etc/sysconfig/network/config fi