First you'll need the external IP of router A (as reachable by router B), let's say it is 10.0.0.2/24, and router B (as reachable by router A) let's say it's 10.0.0.3/24. Router A or B could also be on one of each-others subnet (as I perhaps incorrectly assumed previously before my edit). Here the destination IP would be 192.168.0.0, the netmask would be 255.255.255.0, and the gateway would be 10.0.0.2.
Now, assuming:
- Router B is running Linux.
- You have root access (or CAP_NET_ADMIN) on Router B.
- Router A allows forwarding to 192.168.0.0/24 from 10.0.0.0/24 (which can be used with or without NAT/IP-masquerading) or can be configured to do so.
- Devices on router B are using 192.168.1.1 as their default gateway.
You can allow devices to access the entire 192.168.0.0/24 subnet through router B. On router B execute one of the two depending on what tools you have available ...
Using iproute2: ip route add 192.168.0.0/24 via 10.0.0.2
Using route: route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.2
On a Cisco router you can also use equivalently:
Router> enable
Router# configure terminal
Router(config)# ip route 192.168.0.0 255.255.255.0 10.0.0.2
If router B is not using NAT, you will also have to add a route on router A in order for packets to be able to be routed back to the 192.168.1.0/24 subnet. In order to make this work, we will have to add a few new assumptions:
- Router A is running Linux.
- You have root access (or CAP_NET_ADMIN) on Router A.
- Router B allows forwarding to 192.168.1.0/24 from 10.0.0.0/24 (which can be used with or without NAT/IP-masquerading) or can be configured to do so.
- Devices on router A are using 192.168.0.1 as their default gateway.
I'm also going to guess that your /32 netmask on router B is a typo, if this is not the case you will have to replace routes to to 192.168.1.0/24 with multiple routes to each device reachable through 192.168.1.1 which need to be able to access your NAS.
On router A execute one of the two depending on what tools you have available ...
Using iproute2: ip route add 192.168.1.0/24 via 10.0.0.3
Using route: route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.3
On a Cisco router you can also use equivalently:
Router> enable
Router# configure terminal
Router(config)# ip route 192.168.1.0 255.255.255.0 10.0.0.3
Now, when a device on 192.168.1.0/24 attempts to send packets to 192.168.0.180, it will know it cannot be reached on their configured 192.168.1.0/24 subnet, so it will route it to the configured default gateway (router B at 192.168.1.1). Router B does know how to reach the 192.168.0.0/24 subnet, through router A at 10.0.0.2 and will route the packets there. Router A can reach your NAS at 192.168.0.108, and will forward the packets there, and back again.
Of course, these routes will disappear when router A (or B) reboots. How to add this route every boot will depend greatly on what distro, init system, or job schedulers are available. There is no doubt also a way to do exactly this on BSD and other systems, I'm just not sure what they are.
If you are using DHCP for router A and B you can configure it to hand out the appropriate routes to the routers. If devices on router A and B are not using those routers as their default gateway, then they will need to be configured to reach 192.168.1.0/24 through 192.168.0.1 and 192.168.0.1/24 through 192.168.1.1 respectively. You can use DHCP to do this as well.
It would be good for you to clarify your network topology a little bit. I would have commented, but didn't have that privilege.