Acabo de conseguirlo en una máquina virtual con dos interfaces de red: eth0 y eth1.
Aquí lo que he hecho:
Ambas configuradas con DHCP.
Firewall desactivado (disabled).
IPv6 desactivado.(No he tocado nada de rutas)
Hago un copy paste de los archivos de config, para referencia:
/etc/config/network:
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
option ipv6 'off'
config globals 'globals'
config interface 'lan0'
option ifname 'eth0'
option proto 'dhcp'
option delegate '0'
config interface 'lan1'
option ifname 'eth1'
option proto 'dhcp'
option delegate '0'
/etc/dhcp:
config dnsmasq
option domainneeded '1'
option boguspriv '1'
option filterwin2k '0'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option nonegcache '0'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
option nonwildcard '1'
option localservice '1'
config dhcp 'lan0'
option interface 'lan0'
option ignore '1'
config dhcp 'lan1'
option interface 'lan1'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
Salida de route:
root@OpenWrt:/etc/config# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.254 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
No sé por qué no lo conseguí cuando lo hice en el router físico. Volveré a probarlo otro día a ver si doy en el clavo. Se me ocurre ahora, por experimentar, añadir más interfaces (eth2 y eth3), a ver si también rula.
Volveré con documentación.
Edito, después de la prueba en cuestión:
Rula.


(No sé por qué se ve tan borroso, pero en fin. Se entiende la idea.)
Cada interfaz conectada a la misma red. Cada una con su IP, independiente de las demás.