You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.9 KiB
53 lines
1.9 KiB
#!/bin/bash
|
|
|
|
# -------------------------------------------------------------------------- #
|
|
# Copyright 2010-2016, 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
|
|
|
|
echo -n '' > /etc/resolv.conf
|
|
|
|
for nameserver in $nameservers; do
|
|
echo nameserver $nameserver >> /etc/resolv.conf
|
|
done
|
|
|
|
[ -z "$searchdomains" ] && exit 0
|
|
|
|
echo search $searchdomains >> /etc/resolv.conf
|
|
|