Por mac vai dar um trabalho grande.
Eu geralmente faço assim:
Configuro duas ranges do dhcp (192.168.0.0 e 172.16.0.0 por exemplo).
Se a requisição vem pela eth0 e está está configurada para 192.X.X.X ele vai fornecer ip 192.X.x.x se vier pela outra ele fornec de acordo com a requisição.
Abraços!
&:)