From what I've seen RAC requires that you create Ethernet alias
interfaces (eth0:0) on each node, with addresses in a different range.
Thats not correct. If eth0 is the interface for the public network, then the VIPs and SCAN VIPs must be on the same subnet, that is exactly what you are asking for. Also its not you, but Oracle Grid Infrastructure that creates and manages these virtual IPs, you just specify the name and address for them.
Furthermore, the private virtual IPs (called HAIP) on the private network (lets say eth1) will be created in the 169.254.0.0/16 subnet, no matter what.
So here is a sample configuration for a 3 node cluster:
node1, eth0: 192.168.1.1/24
node2, eth0: 192.168.1.2/24
node3, eth0: 192.168.1.3/24
VIPs, with names defined in DNS or hosts file:
node1-vip, eth0:0: 192.168.1.11/24
node2-vip, eth0:0: 192.168.1.12/24
node3-vip, eth0:0: 192.168.1.13/24
Private addresses (note the different subnet), names are not necessary to be defined:
node1-priv, eth1: 192.168.2.1/24
node2-priv, eth1: 192.168.2.2/24
node3-priv, eth1: 192.168.2.3/24
SCAN VIPs (188.8.131.52 or above), with one single name defined in DNS:
Can run on any node as eth0:X. Number of SCAN VIPs is independent of number of nodes.
HAIP (184.108.40.206 or above), no names, the IPs are dynamic, so I have just put some random IPs here to complete the example:
node1: eth1.1: 169.254.190.49/16
node2: eth1.1: 169.254.203.17/16
node3: eth1.1: 169.254.243.66/16