Windows:

$technitiumPortableDownload="https://download.technitium.com/dns/DnsServerPortable.zip"
$tempDir="C:\Temp";
$extractionDir="C:\Technitium"
$destinationFile = "$tempDir\DnsServerPortable.zip";
try{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}catch{}
New-Item -ItemType Directory -Force -Path $tempDir
New-Item -ItemType Directory -Force -Path $extractionDir
$webclient = New-Object System.Net.WebClient;
$WebClient.DownloadFile($technitiumPortableDownload,$destinationFile);
expandZipfile $destinationFile -Destination $extractionDir

Linux Manual methods:

# Download Technitium DNS Server portable
wget https://download.technitium.com/dns/DnsServerPortable.tar.gz sudo mkdir -p /etc/dns/ sudo tar -zxf DnsServerPortable.tar.gz -C /etc/dns/
# Call DNS Server Daemon from startup script
cd /etc/dns/ sudo ./start.sh

# Systemd
sudo cp /etc/dns/systemd.service /etc/systemd/system/dns.service sudo systemctl enable dns.service sudo systemctl start dns.service
# Monitor the service
journalctl --unit dns --follow

Ubuntu:

curl -sSL  | sudo bash

Raspbian

curl -sSL  | sudo bash