Joining subnets



I am currently using nat to join two subnets for internal access to
services and am wondering if there is a more elegant solution.

eg.

net1 192.168.10.0
net2 192.168.11.0

net1 is our local lan and net2 is our servers. To avoid having to
cross two firewalls I am using a linux box with nat + firewall + dns +
routing on the local machines to give access to the servers. This is
very awkward, is there a better solution? I still want to limit
traffic between the subnets to only those services that are made
public on the net2 subnet.
.