I have my home network behind a wireguard VPN connection. The wireguard “server” is run on a debian computer and the home network is handled by an opnsense computer.

Edit: opnsense does DHCP but a switch does the actual local routing, so opnsense isn’t involved in 10.0.66.XXX <-> 10.0.69.XXX comms.

My home network is on the subnet 10.0.69.XXX, while the VPN connection gets the subnet 10.0.66.XXX.

Weirdly, this setup worked fine until yesterday for the PS Remote Play app (hard requirement, iOS device). Nothing changed as far as I can tell - but yesterday the PS4 stopped being found by the PS Remote Play app (when I’m home on the 10.0.69.XXX subnet, the PS Remote Play app works fine).

I suspect from what I can google ( https://www.snbforums.com/threads/ps4-remote-play-over-vpn.60629/ , https://github.com/williampiat3/ImprovingPSRemotePlay#longer-and-more-complex-solution ) that to make it seem to the PS Remote Play app that all is well abs. 100% I need to get my device on 10.0.66.10 to do a broadcast search on the 10.0.69.XXX subnet (or have a 10.0.69.XXX address).

I feel (hope) there is a way to do this, but I am no iptables wizard. Does anyone know how to accomplish this? The solutions linked don’t make sense to me in a practical way to apply them.

  • @[email protected]OP
    link
    fedilink
    English
    1
    edit-2
    1 year ago

    I did a wireshark packet capture and found the wake-up packet is on UDP 987. I can only capture broadcasts, not specific stuff it looks like. Source: 10.0.69.69(iOS device IP) Destination: 10.0.69.255 Protocol: UDP Length: 105 Info 57477(or 62764, 62335, 60311 as source ports) -> 987 Len=63

    Note the IP of the PS4 is 10.0.69.150

    I’m not sure what to do with this, though. Nothing I tried worked (e.g., jamming 987 into the IP tables iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A PREROUTING -p udp --dport 987 -j DNAT --to-destination 10.0.69.150:987; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -t nat -A POSTROUTING -p udp -d 10.0.69.150 --dport 987 -j SNAT --to-source 10.0.66.10:987 based on https://serverfault.com/questions/586486/how-to-do-the-port-forwarding-from-one-ip-to-another-ip-in-same-network).

    Additionally setting the Wireguard mask to 10.0.66.1/16 makes the WG connection not route successfully, and setting the mask in OpnsenseRouter->Interfaces->[LAN]->(under Static IPv4 configuration section) to 16 did nothing. Oh well, this seems beyond me