mekabe remain
Regular Contributor
This might not be a Asuswrt-Merlin specific question and might have a solution on plain/official firmware. However, I preferred to post here because maybe there is a specific solution on merlin fw.
Since I am using the Merlin fw, I believe this might be the correct place.
I have 2 houses with separate internet access. On one of them I have Asus AX88U and Asus mesh and also a static IP address.
On the other house I have Keenetic router and Keenetic's wifi extenders. On this house I don't have static IP address.
Keenetic router has OpenVPN client feature and connects to the Asus router's OpenVPN server.
LAN subnet on Keenetic is 192.168.1.0/24
LAN subnet on Asus is 192.168.254.0/24
OpenVPN provides free access between these 2 subnets and I can access resources on both network from any house's LAN.
I can also access resources on Asus network remotely (mobile) using port forwarding on Asus router. (192.168.254.0)
Now, I want to use port forwarding on Asus router to be able to access resources on Keenetic network (192.168.1.0) using the static IP on Asus router.
So for example, I want to access Radarr server on 192.168.1.40 port 7878
I added port forwarding on external port 17878 to internal 192.168.1.40 and port 7878
Packets from outside reach to the static IP address on Asus and are redirected to 192.168.1.40 on Keenetic router through the VPN.
I can see this on the server side.
external -> Asus:17878 -> OpenVPN tunnel -> Keenetic -> 192.168.1.40
However, the packet reaching the server at 192.168.1.40 has external (global) Ip address as source.
So the server tries to return through its default route on Keenetic router (Keenetic's internet access)
That's why I want to use NAT on Asus router for the incoming packet. How can I make Asus use NAT on the source address if the destination is behind VPN tunnel ?
If it could change the source with Asus router's internal IP address , my problem would be resolved.
Or any other alternative solution ?
Since I am using the Merlin fw, I believe this might be the correct place.
I have 2 houses with separate internet access. On one of them I have Asus AX88U and Asus mesh and also a static IP address.
On the other house I have Keenetic router and Keenetic's wifi extenders. On this house I don't have static IP address.
Keenetic router has OpenVPN client feature and connects to the Asus router's OpenVPN server.
LAN subnet on Keenetic is 192.168.1.0/24
LAN subnet on Asus is 192.168.254.0/24
OpenVPN provides free access between these 2 subnets and I can access resources on both network from any house's LAN.
I can also access resources on Asus network remotely (mobile) using port forwarding on Asus router. (192.168.254.0)
Now, I want to use port forwarding on Asus router to be able to access resources on Keenetic network (192.168.1.0) using the static IP on Asus router.
So for example, I want to access Radarr server on 192.168.1.40 port 7878
I added port forwarding on external port 17878 to internal 192.168.1.40 and port 7878
Packets from outside reach to the static IP address on Asus and are redirected to 192.168.1.40 on Keenetic router through the VPN.
I can see this on the server side.
external -> Asus:17878 -> OpenVPN tunnel -> Keenetic -> 192.168.1.40
However, the packet reaching the server at 192.168.1.40 has external (global) Ip address as source.
So the server tries to return through its default route on Keenetic router (Keenetic's internet access)
That's why I want to use NAT on Asus router for the incoming packet. How can I make Asus use NAT on the source address if the destination is behind VPN tunnel ?
If it could change the source with Asus router's internal IP address , my problem would be resolved.
Or any other alternative solution ?