Local network Plex: no direct connections

Server Version#: 1.14.1.5488
Player Version#: Latest Android Plex App, iOS Plex app, vizio TV plex app

My situation is simple: I cannot create a direct connection from any plex app to the server.

All devices are on a local network. The network is using Cloudfare DNS (I also tried default ISP DNS and Google’s DNS - no change). I can ping every device from every device, I can browse Plex Server’s DLNA files and stream those without a problem, I can access shared folders from any device on any other device. The only local network connection that is not working is Plex. I am pretty lost, how do I fix this?

Thank you for any help!

see High bandwidth on local plex server routing traffic over WAN interface

I went through those settings, there’s no change. It still only sees the server as an indirect connection (and if I disable the remote network access on the server, it becomes invisible to all apps).

One curious thing about my router is that I have two different DNS settings: DNS for the Internet, which can either be manual or received from ISP; and DNS for the DHCP Server, which is optional. I have the Archer C8 by the way.

The first DNS setting is relevant.
Buit even more important is to create an exemption from the ‘DNS rebinding protection’ for the domain plex.direct.

Do you have more router-like devices in your network?

Are you running Plex in a virtual machine?

No, Plex runs directly on windows. No virtual machine.

My setup is ISP modem/router combo in bridge mode -> wan port on my router (archer C8). All my devices are connected to the router.

What’s curious is that I can see the Plex server on my iPhone’s VLC app (I’m assuming this is the DLNA server?), and I can cast files through that to my tv no problem. Of course this is not ideal, since my iPhone can not handle casting 4K movies, but maybe it can hint at what’s wrong with my setup.

As to your last comment, my router has no DNS rebinding settings.

I really don’t know where to go from here, so thank you for your help!

This is merely a test:
Settings - Server - Network - ‘Secure Connections’ = Disable

Afterwards close Plex server with the tray icon and reopen it after a few seconds.
Restart the client devices as well.

If I do that, none of my Plex clients can find the server (this includes Vizio TV, android phone, and an iPhone; all connected to the same wifi).

I even allowed insecure connections on the clients, no difference: the server to them is offline.

Try
Settings - Server - Network - ‘Show Advanced’
"Preferred network interface " = ‘Any’
“Enable local network discovery (GDM)” = ON
“LAN Networks” = the network address of your local (the Archer) network, e.g. 192.168.2.0/24
“Treat WAN IP As LAN Bandwidth” = ON
“Custom server access URLs” = EMPTY
“List of IP addresses and networks that are allowed without auth” = EMPTY

Afterwards, restart Plex Server again and let it sit for a few minutes

All settings were already that, other than the “LAN Networks” which I set to 192.168.0.1 (IP of my router). No change: Plex server couldn’t be found if remote network access is disabled, and only indirect connection if remote network access is enabled.

I’m losing hope… I almost feel like it’s not on my end, and something is wrong with Plex itself.

1 Like

You must not set a single IP here, but a “network”.
In your case it will be most likely 192.168.0.0/24
Copy it in full, including the slash, without spaces inbetween, before or after.

Ahh! I wasn’t aware of that format, a quick google search helped me.

Anyways, no change… Indirect connections only, and consequently no connection if I disable remote access. With my internet upload being only 15Mbps, this makes watching movies on my 4k HDR TV difficult :smiley:

Disable IPv6 support on the server.
Settings - Server - Network - ‘Show Advanced’
Afterwards, restart Plex server.

Any VPN software in use on the server machine or in the router?

  1. activate debug logging (not ‘verbose’!)
  2. quit Plex Server
  3. wait 1 minute
  4. start Plex Server
  5. wait 2 minutes
  6. play a video for ~ 1 minute on one or two of the affected clients
  7. wait 3 minutes
  8. fetch log files and attach them here - the full zip please

Disabling IPv6 had no effect.

I’m attaching the log files. Thank you again for looking at this!Plex Media Server Logs_2019-01-20_08-15-32.zip (1.1 MB)

Could you also gather client logs from a playback attempt?
Pick a client from which you are able to gather log files:
https://support.plex.tv/articles/201869908-log-files/

After you have fetched the client logs, please fetch immediately server logs again.

Please do also copy the output of the following command, issued in a command line window (cmd.exe):
nslookup 192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct

For sure! I’m attaching server and client (iOS) logs.Plex Media Server Logs_2019-01-20_18-18-13.zip (1.1 MB)
PlexDebugInfo-langur201@outlook.com-5.9.1-16104 (2019-01-20 18.17.18 -0800).zip (575.1 KB)

As for the output:

Server:  UnKnown
Address:  192.168.0.1

Non-authoritative answer:
Name:    192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct
Address:  192.168.0.195

Looked at the logs and the iOS log does show it trying to get through to the url you did the nslookup for

2019/01/20 18:14:08.150 (74 MB) (254369) 🔧 PMKConnectionTestOperation.m:51 | Testing connection <PMKPlexServerConnection: 0x282fa46e0>[ https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 - 192.168.0.195:32400 (plex,published,direct) ] to standard server GamingPC - 66b4f515378494619a7373873b677a0a94fd007b
2019/01/20 18:14:08.154 (74 MB) (254369) 🔧 PMKConnectionTestOperation.m:51 | Testing connection <PMKPlexServerConnection: 0x282fa4c30>[ https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 - 192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 (plex,published,direct) ] to standard server GamingPC - 66b4f515378494619a7373873b677a0a94fd007b
2019/01/20 18:14:08.161 (74 MB) (254369) 🔧 PMKConnectionTestOperation.m:51 | Testing connection <PMKPlexServerConnection: 0x282f598b0>[ https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 - 192.168.0.195:32400 (plex,discovered,direct) ] to standard server GamingPC - 66b4f515378494619a7373873b677a0a94fd007b
2019/01/20 18:14:08.165 (74 MB) (254369) 🔧 PMKConnectionTestOperation.m:51 | Testing connection <PMKPlexServerConnection: 0x282f59c20>[ https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 - 192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 (plex,discovered,direct) ] to standard server GamingPC - 66b4f515378494619a7373873b677a0a94fd007b
2019/01/20 18:14:23.282 (112 MB) (254553) ❌ PMKConnectionTestOperation.m:58 | Failed testing connection <PMKPlexServerConnection: 0x282f598b0>[ https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 - 192.168.0.195:32400 (plex,discovered,direct) ] to standard server GamingPC (hasPresence) - 66b4f515378494619a7373873b677a0a94fd007b with error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x2802583f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <8C50AC3C-F118-42B3-8E67-792A85AEA8E4>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
2019/01/20 18:14:23.286 (112 MB) (254330) ❌ PMKConnectionTestOperation.m:58 | Failed testing connection <PMKPlexServerConnection: 0x282f59c20>[ https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 - 192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 (plex,discovered,direct) ] to standard server GamingPC (hasPresence) - 66b4f515378494619a7373873b677a0a94fd007b with error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x2802a5e90 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <6C7B3FF1-7F73-44CB-9EFA-5C441DC21E5A>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
2019/01/20 18:14:23.286 (112 MB) (254551) ❌ PMKConnectionTestOperation.m:58 | Failed testing connection <PMKPlexServerConnection: 0x282fa46e0>[ https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 - 192.168.0.195:32400 (plex,published,direct) ] to standard server GamingPC (hasPresence) - 66b4f515378494619a7373873b677a0a94fd007b with error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x2802a7570 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <0E09891D-37FF-48BA-8EAF-DC9BE9982FA9>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
2019/01/20 18:14:23.287 (112 MB) (254552) ❌ PMKConnectionTestOperation.m:58 | Failed testing connection <PMKPlexServerConnection: 0x282fa4c30>[ https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 - 192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400 (plex,published,direct) ] to standard server GamingPC (hasPresence) - 66b4f515378494619a7373873b677a0a94fd007b with error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x2802a7630 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <47835C4F-0430-4F01-B98F-4404FD9C15B7>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(

You could enable the firewall logging on the PC and see if the requests are being dropped

The other area to look at is AP Isolation in the router - in case wifi is isolated from ethernet

What firewall is in use?

Add an inbound tcp rule

Protocol = tcp
local port = 32400
remote port = any
remote ip = any
action = allow

I have not read all the posts - i presume you checked that network connection is showing as Private Network in windows

If the firewall investigation / rule addition does not help, you could do some investigation on the iOS device

To confirm you are on same network and no AP isolation, you could use app like iNetTools to ping the server on 192.168.0.195

If that succeeds then move into testing the url in a browser on the iOS device
https://192-168-0-195.02f522da765c4d719da970c046c9a837.plex.direct:32400/web

You can also test in a browser on the iOS device
http://192.168.0.195:32400/web

I think I forgot to ask about one of the most basic things:
Take a look into the Windows ‘Network & Internet Settings’
Is the network connection classified as ‘Private’ or ‘Public’?
It must be ‘Private’, or the windows firewall will close all ports.

If it is currently ‘Public’, change that to ‘Private’.
https://tinkertry.com/how-to-change-windows-10-network-type-from-public-to-private

1 Like

Gentlemen! It was the firewall! Adding the TCP inbound rule solved the problem. Thank you both so much!

Question: should I change the rule at all to make it more secure? Or should I leave it in the format of:

Protocol = tcp
local port = 32400
remote port = any
remote ip = any
action = allow

Have you checked the network classification?
Because normally, all necessary FW rules are created during installation of PMS and are active for a ‘private’ network.

While your rule above will enable basic functionality, it is not sufficient if you want to use all Plex features in your local network (e.g. Plex companion).

See https://support.plex.tv/articles/201543147-what-network-ports-do-i-need-to-allow-through-my-firewall/