Add manage_iptables
This commit is contained in:
parent
9896c3ac17
commit
e8c105a90c
108
manage_iptables
Normal file
108
manage_iptables
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to display the menu
|
||||||
|
show_menu() {
|
||||||
|
echo "=============================="
|
||||||
|
echo " Iptables Manager "
|
||||||
|
echo "=============================="
|
||||||
|
echo "1. List current iptables rules"
|
||||||
|
echo "2. Add IP address to whitelist (ACCEPT)"
|
||||||
|
echo "3. Remove IP address from blacklist (DROP)"
|
||||||
|
echo "4. Add IP address to blacklist (DROP)"
|
||||||
|
echo "5. Remove IP address from whitelist (ACCEPT)"
|
||||||
|
echo "6. Exit"
|
||||||
|
echo "=============================="
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to list current iptables rules
|
||||||
|
list_rules() {
|
||||||
|
echo "Current iptables rules:"
|
||||||
|
sudo iptables -L -n -v
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to check if an IP address is in the whitelist
|
||||||
|
is_in_whitelist() {
|
||||||
|
local ip_address=$1
|
||||||
|
sudo iptables -C INPUT -s "$ip_address" -j ACCEPT &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to check if an IP address is in the blacklist
|
||||||
|
is_in_blacklist() {
|
||||||
|
local ip_address=$1
|
||||||
|
sudo iptables -C INPUT -s "$ip_address" -j DROP &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to add IP address to whitelist
|
||||||
|
add_to_whitelist() {
|
||||||
|
read -p "Enter the IP address to whitelist: " ip_address
|
||||||
|
if is_in_whitelist "$ip_address"; then
|
||||||
|
echo "IP address $ip_address is already in the whitelist."
|
||||||
|
else
|
||||||
|
sudo iptables -A INPUT -s "$ip_address" -j ACCEPT
|
||||||
|
echo "IP address $ip_address added to whitelist."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to remove IP address from blacklist
|
||||||
|
remove_from_blacklist() {
|
||||||
|
read -p "Enter the IP address to remove from blacklist: " ip_address
|
||||||
|
if is_in_blacklist "$ip_address"; then
|
||||||
|
sudo iptables -D INPUT -s "$ip_address" -j DROP
|
||||||
|
echo "IP address $ip_address removed from blacklist."
|
||||||
|
} else {
|
||||||
|
echo "IP address $ip_address is not in the blacklist."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to add IP address to blacklist
|
||||||
|
add_to_blacklist() {
|
||||||
|
read -p "Enter the IP address to blacklist: " ip_address
|
||||||
|
if is_in_blacklist "$ip_address"; then
|
||||||
|
echo "IP address $ip_address is already in the blacklist."
|
||||||
|
else
|
||||||
|
sudo iptables -A INPUT -s "$ip_address" -j DROP
|
||||||
|
echo "IP address $ip_address added to blacklist."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to remove IP address from whitelist
|
||||||
|
remove_from_whitelist() {
|
||||||
|
read -p "Enter the IP address to remove from whitelist: " ip_address
|
||||||
|
if is_in_whitelist "$ip_address"; then
|
||||||
|
sudo iptables -D INPUT -s "$ip_address" -j ACCEPT
|
||||||
|
echo "IP address $ip_address removed from whitelist."
|
||||||
|
else
|
||||||
|
echo "IP address $ip_address is not in the whitelist."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main script loop
|
||||||
|
while true; do
|
||||||
|
show_menu
|
||||||
|
read -p "Select an option [1-6]: " option
|
||||||
|
|
||||||
|
case $option in
|
||||||
|
1)
|
||||||
|
list_rules
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
add_to_whitelist
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
remove_from_blacklist
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
add_to_blacklist
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
remove_from_whitelist
|
||||||
|
;;
|
||||||
|
6)
|
||||||
|
echo "Exiting..."
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid option. Please try again."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
Loading…
x
Reference in New Issue
Block a user