Just tweak the dhcp template as I said before, create zones, one for each VLAN you need.
It's better to make a backup of the template and create a file from scratch, adapted to your needs.
For each zone you can define on what interface it will be listening (even VLAN interfaces).
You don't need leases for VLAN's, just a proper dhcp.conf
subnet 192.168.100.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name "mydomain.local";
option routers 192.168.100.1;
option wpad "http://192.168.0.15/proxy.pac";
option domain-name-servers 192.168.0.15;
option ntp-servers 192.168.0.15;
interface "eth0.2";
}
This will set a DHCP server on VLAN 2 of interface eth0. It works because I used that on another Linux system. The config above will give DHCP addresses only on VLAN 2, neither on eth0 or on any other interface.
Do not define any DHCP server on the bridged interfaces if you already defined subnets on non-bridged interfaces ( e.g., if eth0.2 is part of GREEN=br0, do not set zones for both interfaces at the same time, it could lead to indefinitions).