I'm not sure what you mean by "eth0 is the interface used between
qubes". Each qube is attached to its upstream proxy, its eth0
connecting to a vifX interface on the proxy.
You can examine the IP addresses allocated to the qubes using
'qvm-ls -n'.
On your proposal the downstream qubes would only be able to connect to
the networks attached to eth0 and eth1. This may be what you want. If
you want to connect to the net (or another network) via those connected
networks, there is an alternative.
Each firewall provides masquerade NAT to downstream qubes. This means
that you can simply do the following:
firewall-vm0 : eth0 - 10.137.10.10
firewall-vm1 : eth0 - 10.137.10.100
On sys-net-
iptables -I FORWARD -o eth0 -j DROP
iptables -I FORWARD -o eth1 -j DROP
iptables -I FORWARD -s 10.137.10.100 -o eth1 -j ACCEPT
iptables -I FORWARD -s 10.137.10.10 -o eth0 -j ACCEPT
Those rules explicitly block and allow traffic. You could combine into
one rule but this makes it clearer what is happening and will allow you
to track counters as traffic flows.
I think it's neater than your proposal.
You'll also want to keep the rules allowing established traffic back
though sys-net.
You can put these rules in to rc.local, and qubes-firewall-user-script,
as set out here:
www.qubes-os.org/doc/firewall
unman