36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
# Install using: sudo su -c "bash <(wget -qO- /url/to/install-bind.sh)"
|
|
|
|
REALUSER=$(logname)
|
|
|
|
apt update 2>>install.log
|
|
|
|
if ! ufw status | grep -q 'Status: active'; then
|
|
echo "Installing UFW..."
|
|
apt install ufw -y 2>>install.log &&
|
|
ufw default allow outgoing 2>>install.log &&
|
|
ufw default deny incoming 2>>install.log &&
|
|
ufw allow ssh 2>>install.log &&
|
|
ufw enable 2>>install.log
|
|
fi
|
|
if nslookup 127.0.0.1 | grep -q 'command not found'; then
|
|
echo "Installing DNS utils..."
|
|
apt install dnsutils 2>>install.log
|
|
fi
|
|
if ! named -v | grep -q 'BIND'; then
|
|
echo "Installing BIND9..."
|
|
apt install bind9 -y 2>>install.log &&
|
|
ufw allow Bind9 -y 2>>install.log &&
|
|
nslookup google.com 127.0.0.1
|
|
fi
|
|
if ! grep -q "listen-on {" "/etc/bind/named.conf.options"; then
|
|
sed -i -e 's/^};/\tlisten-on { any; };\n};/mig' /etc/bind/named.conf.options
|
|
fi
|
|
if ! grep -q "allow-query" "/etc/bind/named.conf.options"; then
|
|
sed -i -e 's/^};/\tallow-query { any; };\n};/mig' /etc/bind/named.conf.options
|
|
fi
|
|
if ! grep -q "\tforwarders {" "/etc/bind/named.conf.options"; then
|
|
sed -i -e 's/^};/\tforwarders { 1.1.1.1; 8.8.8.8; 8.8.4.4; };\n};/mig' /etc/bind/named.conf.options
|
|
fi
|
|
named-checkconf && systemctl restart bind9
|
|
|
|
echo 'Installation complete' |