From ab55a9bdc3a953a86e2aee8d3b58d9415e1f0cad Mon Sep 17 00:00:00 2001 From: nathansharief Date: Sat, 15 Jun 2024 19:39:47 +0100 Subject: [PATCH] Option to add custom DNS servers. Solution to #889 --- openvpn-install.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/openvpn-install.sh b/openvpn-install.sh index 98ffd1d..578019f 100644 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -191,10 +191,22 @@ if [[ ! -e /etc/openvpn/server/server.conf ]]; then echo " 5) Quad9" echo " 6) AdGuard" read -p "DNS server [1]: " dns - until [[ -z "$dns" || "$dns" =~ ^[1-6]$ ]]; do + until [[ -z "$dns" || "$dns" =~ ^[1-7]$ ]]; do echo "$dns: invalid selection." read -p "DNS server [1]: " dns done + if [[ "$dns" == 7 ]]; then + read -p "Enter custom DNS server 1: " dns_custom_1 + until [[ "$dns_custom_1" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; do + echo "$dns_custom_1: invalid DNS server." + read -p "Enter custom DNS server 1: " dns_custom_1 + done + read -p "Enter custom DNS server 2: " dns_custom_2 + until [[ "$dns_custom_2" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; do + echo "$dns_custom_2: invalid DNS server." + read -p "Enter custom DNS server 2: " dns_custom_2 + done + fi echo echo "Enter a name for the first client:" read -p "Name [client]: " unsanitized_client @@ -321,6 +333,10 @@ server 10.8.0.0 255.255.255.0" > /etc/openvpn/server/server.conf echo 'push "dhcp-option DNS 94.140.14.14"' >> /etc/openvpn/server/server.conf echo 'push "dhcp-option DNS 94.140.15.15"' >> /etc/openvpn/server/server.conf ;; + 7) + echo 'push "dhcp-option DNS '$dns_custom_1'"' >> /etc/openvpn/server/server.conf + echo 'push "dhcp-option DNS '$dns_custom_2'"' >> /etc/openvpn/server/server.conf + ;; esac echo 'push "block-outside-dns"' >> /etc/openvpn/server/server.conf echo "keepalive 10 120