Really without knowing the number of hosts invoived it's difficult to give advice. How many hosts are there in total on each LAN? How many hosts are there on each LAN that need
to communicate with one another? This may be a much smaller number than the total.
You could put a router between the two networks and setup source and destination NAT rules to map addresses, but I think that would be a nightmare to administer and setup. It gives me a headache just thinking about it! If you have too many hosts to change the IP addresses, then I would say you have too many to setup some kind of mapping, the amount of effort would be similar.
Most hosts can support multiple IP addresses, I would say a simpler approach would be to leave the existing IP addresses as they are and add a second address to each host that needs to communicate between LANs, making sure the new addresses are in different subnets, e.g. allocate addresses in the range 172.16.0.1/13 to 172.23.255.254/13 to one network and 172.16.24.1/13 to 172.31.255.254/13 to the second network.
Next setup the VPN routers between the networks so that they only have IP addresses on the 172.16.0.0/13 and 172.24.0.0/13 networks. The clients that need to communicate between LANs will do so over the new addresses, but will still be able to communicate with their peers on the local LAN over 10.10.0.0.
11.x.x.x & 12.x.x.x are public addresses so if you used this method of mapping you would be potentially stopping users from accessing these public networks. You should use something like 172.16.0.0/13 and 172.24.0.0/13. However, I would choose a higher subnet value, i.e. more networks, less hosts, just in case you need to add further networks at a later date. Work out how many hosts you need on each network, then set the netmask accordingly.
Using the 172.16.0.0/12 private address range, assuming 3 addresses are lost in each subnet for the network, broadcast and router addresses:-
30 bits = 1 host, 262,144 netowrks
29 bits = 5 hosts, 131,072 netowrks
28 bits = 13 hosts, 65,536 networks
27 bits = 29 hosts, 32,768 networks
26 bits = 61 hosts, 16,384 networks
25 bits = 125 hosts, 8,192 networks
24 bits = 253 hosts, 4,096 networks
23 bits = 1,021 hosts, 2,048 netowrks
22 bits = 2,045 hosts, 1,024 netowrks
21 bits = 4,093 hosts, 512 netowrks
20 bits = 8,189 hosts, 256 networks
19 bits = 16,381 hosts, 128 networks
18 bits = 32,765 hosts, 64 networks
17 bits = 65,533 hosts, 32 networks
16 bits = 131,069 hosts, 16 networks
15 bits = 262,141 hosts, 8 networks
14 bits = 524,285 hosts, 4 networks
13 bits = 1,048,573 hosts, 2 networks
12 bits = 2,097,149 hosts, 1 network
Ideally you should renumber one of your networks, e.g. if you all your hosts on one network are in the range 10.10.0.1 to 10.10.127.254, then migrate all hosts on the other network to 10.10.128.1 to 10.10.255.254.
If you move all the users first and then the last thing you do is change netmasks, although potentially a lot of work, this would give minimal disruption, i.e. netmasks are originally 16 bit, once hosts are migrated change the netmask for all hosts on both networks to 17 bits.
You could setup a DHCP server with static leases for each user that is to be migrated to a new address, then all the clients need to do is to change to DHCP, then hey presto they get the IP address and netmask you've defined for them.
Educated Guesswork Ltd. (http://www.eguesswork.co.uk