Az, hogy a DHCP protokollt UDP-ben, IP fölött valósították meg, szerintem pusztán azért van, mert (nagyon helyesen) a Layer 2 rétegtől akarták függetleníteni: lehessen használni Etherneten, PPP-n, WLAN-on, bármin, ami IP továbbítására képes.
De ez nem jelenti azt (megint csak szerintem), hogy ténylegesen nem Layer 2 szinten működő protokoll: a DHCP "kliensnek" még nincs IP címe, tehát IP szinten csomagot sem tud fogadni. Kénytelen a link rétegben elfogadni és kezelni a megfelelő formátumú csomagot. Ez már onnan is látszik, hogy a dhcp szerver/kliens raw socketet nyit és nem INET socketet (ahogy az IP/UDP-ből következne). És ezért - amit a tapasztalataid is megerősítenek - az iptables nem tud hatással lenni a DHCP-re. Talán segít még, ha megnézed a http://jengelh.medozas.de/images/nf-packet-flow.png rajzot: a DHCP a kék színű rétegben zajlik, míg az iptables a zöld rétegben.