PS4 Remote Play within two local networks

Hello all,

I have a problem with configuring Playstation 4 Remote Play in my local network.
My config is as follows:

  • RB435G as a router. 192.168.1.100 on wlan2, 192.168.0.254 on wlan1, 192.168.88.1 on ether1;
  • PS4 connected to wlan1. Static IP 192.168.0.4 got from DHCP;
  • PSTV (device for remote play) connected to ether1. Static IP 192.168.88.99 got from DHCP

Routing works great: devices from any network are reaching devices on every other networks.
Already tried UPnP, hairpin NAT and IGMP Proxy. Firewall rules are empty.
The following doesn’t help neither:

chain=dstnat action=dst-nat to-addresses=192.168.0.4 protocol=udp in-interface=ether1

With this, packet counter is ticking but remote play session isn’t being established and no packets seem to get back.

I can see the connection while it’s being established from PSTV to PS4:
connection.png

You don’t need NAT for this. Can you ping 192.168.88.99 and 192.168.0.4? And what is IP of your PC.

I was sure that I don’t need NAT but I’m running out of options here.
Yes, I can ping 192.168.88.99 from any of these networks. I’ve got about 22 machines on 192.168.0.0, 11 on 192.168.1.0 and one (PSTV) on 192.168.88.0. They all are pinging each other (I’ve tried connecting a PC to 192.168.88.0 to see if it can ping my main PC on 192.168.0.0). Let’s assume, that my main PC has 192.168.0.1.
I’ve upgraded my packages to 6.40.4 to see if it helps - it didn’t.
I’m just wondering why dst-nat isn’t working in this case :confused:

I forgot to mention: remote play feature works when both PS4 and PSTV are on same network (192.168.0.0).

Then why did you asign 88.99 to PSTV? Bridge these hosts in one network.

Well, my network config is more complicated and I described only part of it.
The most important thing is that it’s double NATed: I’ve got a Linksys router (for 192.168.1.0 network; distant location) that serves as a WAN for my RB435G (192.168.0.0 and 192.168.88.0 networks). After bridging wlan2 (192.168.0.0) and ether1 (192.168.88.0) the problem will still persist for remote play from my main PC (192.168.1.0).
Of course, the simplest solution would be to bridge all the interfaces (wlan1, wlan2 and ether1) and get everything working on 192.168.1.0 network but then if the Linksys fails (which happens) or the link between Linksys and RB435G fails then my whole local network will fail too. What’s more, the network scalability and options for traffic control will shrink. That’s why I want to get everything routed rather than bridged.
Last thing is that the ether1 interface serves as a service port. The RB435G sits on top of my house and if I mess the config too much there is always an option to connect to it without getting the ladder and disassembling routerboard casing.

Then do source nat from your PSTV network to PS4. Then PS4 will think, that PSTV in the same network with him. But NAT it only for PS4 host, cause you can break your NAT for Internet. Like: ip filrewall nat add action=masquerade chain=srcnat src-address=192.168.88.99 dst-address=192.168.0.4 out-interface=wlan1 src-address=192.168.88.99. If you masquerade it, src ip 192.168.88.99 will be the IP of wlan1 interface. If src-nat - you can choose IP by yourself with option “to-addresses=”, for example 192.168.0.5.

That’s an idea. Thanks for that! I will give it a try later on and report back here.

Uhhh.. that would be too easy…
The packets sent from PSTV aren’t even going through srcnat. I did all (at least I hope) the combinations for 192.168.88.99 and 192.168.0.4. Here are the results:
fw.png
As I mentioned in the first post, I’ve already tried:

chain=dstnat action=dst-nat to-addresses=192.168.0.4 protocol=udp in-interface=ether1

which would be logical since the only NAT packet goes through dstnat (I’ve also tried without specifying the protocol).

Clear all your rules and do src nat.

Did that. Result is exactly the same: no packets going through that rule.
During the discovery process (when PSTV seeks for PS4), there are 10 packets being sent to 192.168.88.255 (see the pic from first post). These packets are going through dstnat and not srcnat.

I think you have to bridge these hosts. What type of traffic roaming when PSTV seeks PS4?

During lookup, there are 10 packets (88 bytes each) being sent. Destination port 987 (udp). The source ports differ for each try.
I can’t believe it is not possible to achieve this other way than by bridging interfaces…

What is destination IP?

Like I said before (look also at the picture in the first post), dst is 192.168.88.255.

Just bridge them