Dla tego zrobilem maly skrypt ktory pobiera sobie dane z konfiguracji serwera DHCP i automatycznie tworzy wpisy iptables.
- Código: Selecionar todos
#!/bin/sh
IPTABLES=/usr/sbin/iptables
#IPTABLES=echo
# Kasowanie starych wpisow
$IPTABLES -F user-filter
# funkcja ktora odczytuje ip oraz mac adres z pliku /etc/dnsmasq.conf
macfilter() {
while read line;
do
HOST=`echo $line | grep "dhcp-host"`
MAC=`echo $HOST | cut -f 2 -d = | cut -f 1 -d ,`
IP=`echo $HOST | cut -f 3 -d ,`
if [ $MAC ]; then
if [ $IP ]; then
$IPTABLES -A user-filter -s $IP --match mac --mac-source $MAC -j RETURN
fi
fi
done < /etc/dnsmasq.conf
}
# Odblokowanie portu 67 dla nieznanych maszyn, aby mogly pobrac IP
$IPTABLES -I user-filter -p udp --dport 67 -j RETURN
macfilter
# Zablokowanie dostepu dla nieznanych maszyn
$IPTABLES -A user-filter -i $LAN -j DROP
# -----------------------------------------
Skrypt mozna wkleic w Custom Firewall Rules, wtedy po kazdej zmianie ustawien serwera DHCP trzeba bedzie klikac Reload Firewall aby skrypt sie uruchomil.