DNSMasq dhcp kiszolgálás kliensnév függvényében

Fórumok

Egyfajta szűrést szeretnék, hogy ki az akit kiszolgáljak és ki az akit ne, csak nem MAC alapján.
Konkrétan a mobiltelefonnal a wifire fellépőket szeretném kiszűrni.


dnsmasq-dhcp[22685]: 242105090 sent size:  4 option: 59:T2  00:00:0c:4e
dnsmasq-dhcp[22685]: 242105090 sent size:  4 option:  1:netmask  255.255.255.0
dnsmasq-dhcp[22685]: 242105090 sent size:  4 option: 28:broadcast  192.168.0.255
dnsmasq-dhcp[22685]: 242105090 sent size:  4 option:  6:dns-server  192.168.0.10
dnsmasq-dhcp[22685]: 242105090 sent size:  4 option:  3:router  192.168.0.221
dnsmasq-dhcp[22685]: 242105090 available DHCP range: 192.168.0.111 -- 192.168.0.199
dnsmasq-dhcp[22685]: 242105090 client provides name: android_f5f432883e00991
dnsmasq-dhcp[22685]: 242105090 vendor class: dhcpcd 4.0.15
dnsmasq-dhcp[22685]: 242105090 DHCPREQUEST(eth1) 192.168.0.165 20:54:76:f5:c1:dd
dnsmasq-dhcp[22685]: 242105090 DHCPACK(eth1) 192.168.0.165 20:54:76:f5:c1:dd android_f5f432883e40991
dnsmasq-dhcp[22685]: 242105090 requested options: 1:netmask, 121:classless-static-route, 33:static-route,
dnsmasq-dhcp[22685]: 242105090 requested options: 3:router, 6:dns-server, 15:domain-name, 28:broadcast,
dnsmasq-dhcp[22685]: 242105090 requested options: 51:lease-time, 58:T1, 59:T2, 119:domain-search

Van arra lehetőség, hogy a "client provides name: android_f5f432883e00991"-ből az android-ra szűrve külön taggel lássam el a klienst. Jelenleg a "dhcp-vendorclass=set:red,dhcpcd" használón, de ez linuxos gépeket is kiszűri.

Hozzászólások

a dnsmask meg tud hívni callback scriptet (dhcp-script opció), aminek átadja
- új ip osztott, megújította vagy törölt egy lease-t
- milyen ip osztott
- milyen MAC-nek adta
- meddig tart a bérlet
- melyik interfészen törtent
- milyen kliensnevet küldött a kliens

ezen adatok alapján csinálhaszt tiltó/engedõ tũzfal szabályt.
mondjuk:


case "$1" in
add)
     if expr "$4" : android >/dev/null; then
          iptables -A FORWARD -i $DNSMASQ_INTERFACE -s $3 -m mac --mac-source $2 -j ACCEPT
     fi
     ;;
del)
     iptables -D FORWARD -i $DNSMASQ_INTERFACE -s $3 -m mac --mac-source $2 -j ACCEPT
     ;;
esac

~~~~~~~~
Linux 3.2.0-0.bpo.4-486
Debian 6.0.7