From 6926af6485037f179bb66bb4ff56f2a3fb87f816 Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Mon, 11 Mar 2024 23:01:49 +0100 Subject: [PATCH] Add: script for auto testing resolve domain to specific interface --- README.md | 25 ++++++++++++++++++++++++- ShellScripts/set_dns_search_domain.sh | 10 ++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100755 ShellScripts/set_dns_search_domain.sh diff --git a/README.md b/README.md index 373d2f3..ffb34a8 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This repo holds most of my random small scripts, configs, paws(blobs) * [Shell Scripts](#shell-scripts) * [24-bit-color.sh](#24-bit-color-sh) * [rsync-incremental-backups.sh](#rsync-incremental-backups-sh) - + * [set_dns_search_domain.sh](#set_dns_search_domain-sh) --- ## Configs @@ -48,3 +48,26 @@ This script echoes a bunch of 24-bit color codes to the terminal to demonstrate ### rsync-incremental-backups.sh This script performs incremental backups of the specified source directory using rsync, and it keeps a symbolic link called 'latest' pointing to the most recent backup for easy reference. The script also logs backup details in a log file with a timestamp. Make sure to replace `` and `` with your actual source and backup directories. + +--- + +### set_dns_search_domain.sh + +Is a small script that runs the resolvectl domain command when the specific a Wi-Fi network is gets connected. + +* **To configure the system to run the script:** +You can configure your system to execute the script whenever the Wi-Fi connection event occurs. This typically involves using network manager scripts or similar mechanisms provided by your Linux distribution. +replace the ``, `` and `` with the actual values you have. +For example, with NetworkManager, you can place the script in the /etc/NetworkManager/dispatcher.d directory. Scripts in this directory are executed when network events occur. + +```Bash +sudo cp set_dns_search_domain.sh /etc/NetworkManager/dispatcher.d/ +``` + +Ensure that the script has execute permissions: + +```Bash +sudo chmod +x /etc/NetworkManager/dispatcher.d/set_dns_search_domain.sh +``` + +The script will be automatically executed whenever the Wi-Fi connection event occurs. When the targeted Wi-Fi network is connected, the DNS search domain will be set for the specified interface. diff --git a/ShellScripts/set_dns_search_domain.sh b/ShellScripts/set_dns_search_domain.sh new file mode 100755 index 0000000..444be58 --- /dev/null +++ b/ShellScripts/set_dns_search_domain.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Check the SSID of the connected Wi-Fi network +current_ssid=$(nmcli -t -f active,ssid dev wifi | grep -E '^yes' | cut -d\: -f2) + +# Check if the connected Wi-Fi network is the one you want to target +if [ "$current_ssid" = "" ]; then + # Set the DNS search domain for the taget interface + resolvectl domain +fi