Added Files
This commit is contained in:
parent
579043aa34
commit
6be83bd6c1
64
FQDN-Updater.sh
Normal file
64
FQDN-Updater.sh
Normal file
@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Replace 'your_fqdn_here.com' with the actual FQDN you want to update
|
||||
fqdn="your_fqdn_here.com"
|
||||
|
||||
# Path to the log file where the IP address will be recorded
|
||||
log_file="/path/to/ip_log.txt"
|
||||
|
||||
# Function to resolve the IP address from FQDN
|
||||
get_ip_address() {
|
||||
dig +short $fqdn
|
||||
}
|
||||
|
||||
# Function to get the last recorded IP address from the log file
|
||||
get_last_ip_address() {
|
||||
if [[ -f "$log_file" ]]; then
|
||||
tail -n 1 "$log_file"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if 'ufw' is installed
|
||||
if ! command -v ufw &> /dev/null; then
|
||||
echo "UFW is not installed. Please install it first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if 'dig' (from 'dnsutils') is installed
|
||||
if ! command -v dig &> /dev/null; then
|
||||
echo "The 'dnsutils' package is not installed. Please install it first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Enable UFW if it's not already enabled
|
||||
ufw --force enable
|
||||
|
||||
# Get the current and last recorded IP addresses
|
||||
current_ip=$(get_ip_address)
|
||||
last_ip=$(get_last_ip_address)
|
||||
|
||||
if [[ -z $current_ip ]]; then
|
||||
echo "Unable to resolve the IP address for '$fqdn'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $current_ip != $last_ip ]]; then
|
||||
# Remove the old IP address from UFW rules if it exists
|
||||
if [[ -n $last_ip ]]; then
|
||||
ufw delete allow from $last_ip
|
||||
fi
|
||||
|
||||
# Allow traffic from the obtained IP address
|
||||
ufw allow from $current_ip
|
||||
ufw reload
|
||||
|
||||
# Log the current IP address to the file
|
||||
echo "$current_ip" >> "$log_file"
|
||||
|
||||
echo "UFW has been updated to allow traffic from $fqdn ($current_ip)."
|
||||
else
|
||||
echo "IP address for '$fqdn' has not changed. No updates needed."
|
||||
fi
|
||||
|
||||
Loading…
Reference in New Issue
Block a user