Hi Niek,
It would be possible to do with DNAT and SNAT rules, but they are not applicable to ranges, so I do understand being reluctant to set up individual rules for each device, as it is both time and effort consuming.
There is another option - using NETMAP iptables rule, however that also has couple of cons:
- it is unavailable as WebUI configuration and would require usage of CLI commands.
- rule is removed after reboot
Both of the cons are easy to "workaround" with single action, but I just want you to understand the situation overall.
-------------------------------------------------------------------------------------------------------------------------------
CLI command to use: iptables -tnat -I PREROUTING -s <Nat'ed_subnet> -j NETMAP --to <LAN_subnet>
As per yours example for LAN 10.131.250.0/24 to be NAT'ed to 10.0.3.0/24, command would be:
iptables -tnat -I PREROUTING -s 10.0.3.0/24 -j NETMAP --to 10.131.250.0/24
Executing it via SSH/CLI interface will give you result that you desire, in another location you would need to change first range for example to 10.0.4.0/24 and you would be able to reach both of those locations on 10.0.3.0/24 and 10.0.4.0/24 subnets respectively while their actual LAN subnets would be the same (10.131.250.0/24)
Now for rule being removed after reboot. To mitigate this you would need to utilize User Scripts in WebUI or edit /etc/rc.local file via CLI and add said command there before exit 0:
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
iptables -tnat -I PREROUTING -s 10.0.3.0/24 -j NETMAP --to 10.131.250.0/24
exit 0
This way this iptables rule will be executed every time router boots up, and it should NAT your subnet to one that you set up
Hope this helps.
Regards,
Vidas.