Hi I got the following problem. I successfully created a Tailscale network and a user from outside the network can login and connect to my network. That part works properly. We use a Fedora Linux PC as a host (Sunshine) and Moonlight Client on a Windows 10 PC. After tinkering for hours we can now see each other but I get the following issue “Request Timed Out (Error 4)” This issue always happens after inputting the PIN which is displayed on the Windows (Moonlight) on my Fedora PC (Sunshine) the client cannot connect after that but still sees my PC online and as a viable option to connect.
Additional Info: I’ve asked in the Moonlight Discord but I still got no answer.
Maybe firewalld is getting in the way. You can temporarily disable it:
sudo systemctl stop firewalld
If that doesn’t work, you can see if SELinux is the issue. Temporarily disable:
sudo setenforce 0
Be sure to re-enable SELinux:
sudo setenforce 1
The firewall was the issue. How do I enable the firewall?
To start the firewall after you stopped it:
sudo systemctl start firewalld
systemctl
is part of systemd - it starts and stops various services, shows statuses, lists available services, etc.There is documentation on opening ports here, plus more details on enabling & disabling the firewall: https://docs.fedoraproject.org/en-US/quick-docs/firewalld/#_controlling_ports_using_firewalld
Reenable the firewall with
systemctl start firewalld
Then get the current networking zone with
firewall-cmd —get-active-zones
It will likely be called FedoraWorkstation, if not just replace that name with whatever it is called in the following steps.
Next you should enable the ports for Moonlight, which from a quick ddg search I think this should do it:
firewall-cmd —zone=FedoraWorkstation —permanent —add-port=47998/udp firewall-cmd —zone=FedoraWorkstation —permanent —add-port=47999/udp firewall-cmd —zone=FedoraWorkstation —permanent —add-port=48000/udp firewall-cmd —zone=FedoraWorkstation —permanent —add-port=47984/tcp firewall-cmd —zone=FedoraWorkstation —permanent —add-port=47989/tcp firewall-cmd —zone=FedoraWorkstation —permanent —add-port=48010/tcp firewall-cmd —zone=FedoraWorkstation —permanent —add-port=47990/tcp
Then reload the firewall with:
firewall-cmd —reload
Lmk if that works
Edit: added more ports needed for the WebUI and controller support. Check the docs here if you wanna see what each port is used for
Wouldn’t it be better to open specific ports than disabling the entire firewall? Or am i missing something?
Better for testing to disable, then figure out ports and stuff afterward if the disable worked, I assume is the logic
Good point, thanks for clarifying
The ports you need (unless you changed any) are:
- 47984/tcp
- 47989/tcp
- 48010/tcp
- 47998/udp
- 47999/udp
- 48000/udp
- 48002/udp
- 48010/udp
I didn’t change anything
Does it work inside the LAN without Tailscale?
No my Android phone with Moonlight can’t connect either on the same network.
The problem should be somewhere with Sunshine. Look at the logs. Maybe a firewall is on the server.
Yep sounds like firewall issue to me. Allow the ports eric mentioned in his comment thru firewall and it should work