diff --git a/.templates/90-dns_set.sh b/.templates/90-dns_set.sh index a0b67e93b..4f9b61e63 100755 --- a/.templates/90-dns_set.sh +++ b/.templates/90-dns_set.sh @@ -9,35 +9,38 @@ set -e # Avoid usage of local dns such as adguard home or pihole\n" if bashio::config.has_value 'DNS_server'; then - # Define variables - DNSSERVER=$(bashio::config 'DNS_server') - DNS="" - DNSLIST="" - - # Get DNS servers - # shellcheck disable=SC2086 - for server in ${DNSSERVER//,/ }; do # Separate comma separated values - # Only add DNS if successful - if ping -c 1 "$server" &> /dev/null; then - DNS="${DNS}nameserver $server\n" - DNSLIST="$server $DNSLIST" + if ! bashio::config.is_true "openvpn_enabled" && ! bashio::config.is_true "wireguard_enabled"; then + # Define variables + DNSSERVER=$(bashio::config 'DNS_server') + DNS="" + DNSLIST="" + + # Get DNS servers + # shellcheck disable=SC2086 + for server in ${DNSSERVER//,/ }; do # Separate comma separated values + # Only add DNS if successful + if ping -c 1 "$server" &> /dev/null; then + DNS="${DNS}nameserver $server\n" + DNSLIST="$server $DNSLIST" + else + bashio::log.warning "DNS $server was requested but can't be pinged. It won't be used" + fi + done + + # Only add DNS if there are DNS set + # shellcheck disable=SC2236 + if [[ -n "${DNS:-}" ]]; then + # Write resolv.conf + # shellcheck disable=SC2059 + printf "${DNS}" > /etc/resolv.conf + chmod 644 /etc/resolv.conf + bashio::log.info "DNS SERVERS set to $DNSLIST" else - bashio::log.warning "DNS $server was requested but can't be pinged. It won't be used" + bashio::log.warning "No valid DNS were found. Using default router (or HA) dns servers." fi - done - - # Only add DNS if there are DNS set - # shellcheck disable=SC2236 - if [[ -n "${DNS:-}" ]]; then - # Write resolv.conf - # shellcheck disable=SC2059 - printf "${DNS}" > /etc/resolv.conf - chmod 644 /etc/resolv.conf - bashio::log.info "DNS SERVERS set to $DNSLIST" else - bashio::log.warning "No valid DNS were found. Using default router (or HA) dns servers." + bashio::log.warning "DNS servers are enabled but a vpn is enabled. Resolv will be handled through the vpn script" fi - else bashio::log.info "DNS Servers option empty. Using default router (or HA) dns servers." fi