Здравей
Мисля ,че удачен начин за филтриране на МАС адреси е със arp, или по-точно-статични записи.
Като за начало - Какво е MAC адрес и броудкаст адрес, ARP протокол.
После :
1. arp -an | awk -v OFS="\t" '{print(substr($2, 2, length($2)-2), $4)}' > ethers
2. arp -d -a
3. arp -f /usr/local/etc/ethers
Всеки който не е в ethers няма връзка с теб

'>
Ако използваш :
Примерен код |
#!/bin/sh # Static ARP-table loader
case $1 in start) arp -d -a > /dev/null arp -f /usr/local/etc/ethers > /dev/null echo 'Static ARP-table is loaded' ;; stop) arp -d -a > /dev/null echo 'Static ARP-table is unloaded' ;; restart) arp -d -a > /dev/null arp -f /usr/local/etc/ethers > /dev/null echo 'Static ARP-table is reloaded' ;; status) arp -an ;;
*) echo "Usage: `basename $0` {start|stop|restart|status}" >&2 ;; esac exit 0 |
може и да ти е по лесно
'>
Успех, и помисли внимателно дали наистина искаш да филтрираш FF:FF:FF:FF:FF:FF
P.s. Забравих да добавя
във rc.conf пишеш ifconfig_(интерфейса ти)="staticarp"
Така всички машини които не са във ethers, няма да могат да виждат интерфейса ти.
Да добавя
'> :
За да забраниш присвояване на свободни ip-та в мрежата ти :
arp -s свободно ип 0:0:0:0:0:0 pub - например
А ако искаш може и да ги сложиш във фаил и да четеш от него, така ще предотвратиш елементарна подмяна на ип и МАС адреси.