Mostrando entradas con la etiqueta uniq. Mostrar todas las entradas
Mostrando entradas con la etiqueta uniq. Mostrar todas las entradas

viernes, 20 de febrero de 2015

Progamar Iptables para cancelar usuarios por Mac Address

Esto es parte de un trabajo cuyo objetivo es limitar el acceso a la red WiFi de usuarios con Smartphones.

creamos el archivo del script y le damos atributo ejecutable:

touch /etc/rc.d/rc.Dropmac
chmod +x /etc/rc.d/rc.Dropmac



#!/bin/bash +x
# Usaríamos inotify para lanzar nuestro script pero considerando que dhcpd.leases tiene modificaciones permanentes  por todas las vlans, estariamos reiniciando el firewall a cada segundo
#####
# inotifywait -m -e modify,close_write /var/lib/dhcpd/
#
# iptables -N CELU > /dev/null 2> /dev/null
# Borramos manualmente las entradas en la cadena CELU
echo "#!/bin/bash">/etc/rc.d/rc.drop
iptables -S |grep CELU|grep INPUT|sed 's/-A/iptables -D/g'>>/etc/rc.d/rc.drop
/etc/rc.d/rc.drop
#
iptables -F CELU
iptables -A CELU -j LOG --log-prefix "--ANDROID"
iptables -A CELU -j DROP
cat /var/lib/dhcpd/dhcpd.leases|grep android -3|grep hardware|awk '{print $3}'| cut -f1| sort | tr -d ';'|uniq>>/etc/rc.d/vlan.acl
cat /var/lib/dhcpd/dhcpd.leases|grep Phone -3|grep hardware|awk '{print $3}'| cut -f1| sort | tr -d ';'|uniq>>/etc/rc.d/vlan.acl
for MAC in `cat /etc/rc.d/vlan.acl|sort|uniq`;
do
iptables -I INPUT -i vlan110 -m mac --mac-source $MAC -j CELU
done
editamos el cron e ingresamos nuestro script:
#crontab -e
*/15 * * * * /etc/rc.d/rc.Dropmac