Dobrý den,
doufám, že to popíšu tak aby se to dalo pochopit. V iptables zakážete všechna spojení a port pro komunikaci ftp přesměrujete na lokalni web server. Na lokálním servru bude cgi skriptík který si vyžádá heslo po ověření podle IP zjistí MAC (toto jsem dělal podle leases od DHCP vy by jste mohl použit arp) a tu potom přes iptables povolí. Následně musíte čas od času (pravděpodobně cronem) smazat chain s povolenýma MAC adresama. Samozřejmně můžete mít již v defalutním nastavení ručně vložené MAC adresy. (Takto jsem měl jeden čas řešenou Wi-Fi).
Nicméně si nemyslím, že je to dobrý způsob (obecně MAC adresy). Pokud vím tak jde zjistit pouze MAC adresa zařízeních připojených do první brány (routeru, prostě pouze v jednom segmentu sítě, v prvním hopu). Takže pokud půjdou připojení třeba z internetu zkrz router tak budou vždycky označkovány MAC adresou routeru. Pokud se v tomto pletu tak mne prosím někdo opravte.