I fixed the issue for myself, my fix might be different because of my network design but these are the steps i took to get it working, my firewall Pfsense rewrites source ports on both automatic and hybrid outbound NAT by default.
Solution :
REWRITTEN by @gouthamravee
- Navigate to Firewall > Aliases
- Click the + icon to create a new alias
- Name it
teamspeak_screenshareor what ever you want - Change type to Port(s)
- Paste
49152:65535into the “Content” section - Give it a description if you want
- Click Save
- You can do this again and create a Host(s) alias for the device(s) running the TeamSpeak Client, that way you can screen share from all your devices without having to create additional NAT rules.
- Navigate to Firewall > NAT > Outbound tab
- Select Hybrid Outbound NAT
- Click Save
- Click Add with the up arrow to add a rule to the top of the list
- Set Interface to WAN
- Set the Protocol to match the desired traffic (e.g. UDP)
- Set the Source to Single host or network and put the local IP address of the device you want to screen share from or select the alias if you created one before.
- For Source Port select the
teamspeak_screensharealias - Leave Destination as any
- Leave Destination Port as any
- Set the Translation Address to Interface Address
- Check Static Port to indicate that traffic matching this rule will retain the original source port
- Click Save
- Click Apply Changes
- I didn’t have to do the steps before, but its possible you might have to. You can test screen sharing now, if you still have trouble first make sure the IP and ports match exactly as described here, and then try the steps below.
- Navigate to Diagnostics > States
- Enter the IP address of the device in the Filter box if a specific source was used in the rule
- Click Filter
- Click Kill
ORIGINAL SOLUTION
- Navigate to Firewall > NAT on the Outbound tab
- Select Hybrid Outbound NAT
- Click Save
- Click Add with the up arrow to add a rule to the top of the list
- Set Interface to WAN
- Set the Protocol to match the desired traffic (e.g. UDP)
- Set the Source to match the local source of traffic, such as LAN Net or a specific device such as a game console IP address, or an alias containing multiple such devices
- Leave the Source Port box empty, which indicates any
- Set the Destination to match the traffic, if known, otherwise leave set to ‘any’
- Set the Destination Port to a specific port or port alias, if it is known, otherwise leave the box blank for any
- Set the Translation Address to Interface Address or an appropriate VIP if needed
- Check Static Port to indicate that traffic matching this rule will retain the original source port
- Click Save
- Click Apply Changes
- Navigate to Diagnostics > States
- Enter the IP address of the device in the Filter box if a specific source was used in the rule
- Click Filter
- Click Kill
Source: https://docs.netgate.com/pfsense/en/latest/nat/static-port.html
The issue was my firewall rewriting the ports for the p2p and STUN connections causing the connection failures, after forcing the the ports to stay the same as the source i can now stream with all my friends with no issues. Hope this helps!