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.
My friendly 2 pence, my mobile provider me a 10.x.x.x IP with CNAT (carrier grade NAT) when I’m on mobile data.
Could you not set your subnet mask on the wireguard and home to 255.255.0.0 then you can see the whole 10.0.x.x block in a broadcast?
Where would I set the subnet mask?
I do not understand how to apply most networking concepts effectively - I only run Opnsense to get a router that has actual software updates, not because I now how to use it (no experience with networking otherwise).
In WireGuard I specify the 10.0.66.XX subnet directly without DHCP. In Opnsense, I’m not sure where to look and searching for it didn’t help illuminate anything obvious.
So the subnet mask is got from the device handing out dhcp. Not 100% sure but on my android the subnet mash for wireguard is as /24 set on the device and also matching in the wireguard settings in opnsense. Opnsense is very very powerful, I would watch a few videos on YouTube about subneting, wireguard routing & dhcp. Its gonna be quite the learning curve (or could be)
As to why everything has stopped working who knows…
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