#!/bin/bash
#@WizardIP
if [ $# -lt 1 ]
then
echo "Usage : $0 [ OPTION ]"
echo "Options are:"
echo "by Port"
echo "by Interface"
echo "by Address (Full Access)"
echo "by Segment"
exit 1
fi
NUM='^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$'
NUM2='^-?[0-9]+$'
case "$1" in
P)
echo "Give me the IP"
read IP
if ! [[ $IP =~ $NUM ]]; then
echo "Please use numeric values"
exit 1
fi
echo "Give me the Port"
read PORT
if ! [[ $PORT =~ $NUM2 ]]; then
echo "Please use numeric values"
exit 1
fi
echo "Generating Rules...Please append it in the config file /etc/iptables.rules.date"
sleep 3
echo "-A INPUT -s $IP/32 -p tcp -m tcp --dport $PORT -j ACCEPT"
echo "-A OUTPUT -d $IP/32 -p tcp -m tcp --sport $PORT -j ACCEPT"
;;
I)
echo "Give me the Interface"
read INTER
echo "Give me the IP"
read IP
if ! [[ $IP =~ $NUM ]]; then
echo "Please use numeric values"
exit 1
fi
echo "Generating rules...Please append it in the config file /etc/iptables.rules.date"
sleep 3
echo "-A INPUT -i $INTER -p tcp -s $IP/32 -j ACCEPT"
echo "-A OUTPUT -o $INTER -p tcp -d $IP/32 -j ACCEPT"
;;
A)
echo "Give me the IP"
read IP
if ! [[ $IP =~ $NUM ]]; then
echo "Please use numeric values"
exit 1
fi
echo "Generating rules...Please append it in the config file /etc/iptables.rules.date"
sleep 3
echo "-A INPUT -s $IP -j ACCEPT"
echo "-A OUTPUT -d $IP -j ACCEPT"
;;
S)
echo "Give me the IP"
read IP
if ! [[ $IP =~ $NUM ]]; then
echo "Please use numeric values"
exit 1
fi
echo "Give me the Interface"
read INTER
echo "Generating rules...Please append it in the config file /etc/iptables.rules.date"
sleep 3
echo "-A INPUT -i $INTER -s $IP/24 -j ACCEPT"
echo "-A OUTPUT -o $INTER -d $IP/24 -j ACCEPT"
;;
*)
echo "Invalid option"
echo "Usage : $0 [ OPTION ]"
echo "Options are:"
echo "by Port"
echo "by Interface"
echo "by Address"
echo "by Segment"
exit 1
;;
esac
iptables-rules-generator.sh
d
Nombre: iptables-rule-generator.sh
Autor: Ricardo del Castillo @WizardIP
Descripcion: Generador básico de reglas de IPTables por puerto, interface, dirección IP o segmento para colocar en
el archivo generado por el comando iptables-save.
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario