A lightweight, interactive Bash script for Linux that allows you to view and change system DNS servers using NetworkManager (nmcli).
Designed for simplicity, transparency, and quick DNS switching without manually editing configuration files.
- Auto-Detection: Automatically identifies the active network device and current connection.
- Live Status: Displays currently active DNS servers and provider names.
- Quick Switcher: Instantly apply popular public DNS providers:
- Cloudflare
- Quad9
- OpenDNS
- AdGuard
- Custom Control: Supports manual entry for custom DNS IPs.
- Zero Bloat: No external dependencies beyond
nmcli.
- A Linux system using NetworkManager.
nmcliinstalled (standard on most desktop distros like Fedora, Ubuntu, Arch, etc.).- Root privileges (
sudo).
Note: This script will not work on systems managed purely by
systemd-resolved,netplan(without NM), or minimal server environments lacking NetworkManager.
-
Clone the repository:
git clone [https://github.com/Ronin-CK/Dns-changer.git](https://github.com/Ronin-CK/Dns-changer.git) cd Dns-changer -
Make the script executable:
chmod +x dns-changer.sh
Run the script with root privileges to allow network modification:
sudo ./dns-changer.sh