Can't connect to PMS on LAN, but fine on WAN

ios

#1

Since my iOS plex app upgraded to v4.0, it can no longer connect to my plex server whilst on my LAN. If I switch to WAN (i.e. 4G or an external VPN) it connects just fine. This is both iPhone and iPad.

  • LAN connection to the server works just fine from Plex on my iPad, still on v3.5.3. Since updating iPad to v4.0 it now also doesn't work on LAN.
  • I have a monthly plex pass, and I am signed in to the account on both server and iPhone/iPad
  • I am on the same LAN subnet as the server
  • Server is CentOS running PMS 0.9.12.9
  • I can reach plex-server:32400/web from Chrome on my iPhone just fine
  • I have tried 'Reset Cache' on the iPhone, and signing out and back in of my account in the app
  • The server appears in the list on my iPhone, but just shows as Offline.
  • It worked absolutely fine on v3.5, since the upgrade to v4 it's kapput!

Any suggestions for further diagnostics to run?


#2

Looks like the same symptoms as on this thread, but I am on the latest PMS version, which is the only tangible solution I could see in the thread.


#3

Does the problem go away if you disable Secure Connections in Server Network settings?
Is it set to Required or Preferred?
Just thinking it might be DNS Rebinding on the SSL connection plex.direct route

You can have a look yourself at the connection routes it would be trying to use by looking at the xml you get back from

plex.tv/pms/resources.xml?includeHttps=1


#4

Thanks for the reply @sa2000.

Secure Connections is set to Preferred. Changing it to Disabled doesn't fix the problem.

Looking at https://plex.tv/pms/resources.xml?includeHttps=1 I see:

[...]
<Device name="plex.my.lan" product="Plex Media Server" productVersion="0.9.12.9.1393-dec22b7" platform="Linux" platformVersion="2.6.32-40-pve (#1 SMP Fri Jul 24 11:16:05 CEST 2015)" device="PC" clientIdentifier="xxxxxxxxxxxxxxx" createdAt="1426355944" lastSeenAt="1439982563" provides="server" owned="1" synced="0" publicAddressMatches="1" presence="1">
<Connection protocol="https" address="1.2.3.4" port="32400" uri="https://1-2-3-4.xxxxxxx.plex.direct:32400" local="0"/>
</Device>
[...]

Where 1.2.3.4 is my WAN IP. Should I see the LAN IP here too? I've not opened that port on my router, so I don't image local traffic is going to be able to access it.

When you mention DNS Rebinding; I run my own DNS bind9 server on my LAN, could that be an issue here?


#5

In case it’s relevant, here are my Remote Access settings


#6

@rmoff said:
Thanks for the reply sa2000.

Secure Connections is set to Preferred. Changing it to Disabled doesn't fix the problem.

Looking at https://plex.tv/pms/resources.xml?includeHttps=1 I see:

[...]
<Device name="plex.my.lan" product="Plex Media Server" productVersion="0.9.12.9.1393-dec22b7" platform="Linux" platformVersion="2.6.32-40-pve (#1 SMP Fri Jul 24 11:16:05 CEST 2015)" device="PC" clientIdentifier="xxxxxxxxxxxxxxx" createdAt="1426355944" lastSeenAt="1439982563" provides="server" owned="1" synced="0" publicAddressMatches="1" presence="1">
<Connection protocol="https" address="1.2.3.4" port="32400" uri="https://1-2-3-4.xxxxxxx.plex.direct:32400" local="0"/>
</Device>
[...]

Where 1.2.3.4 is my WAN IP. Should I see the LAN IP here too? I've not opened that port on my router, so I don't image local traffic is going to be able to access it.

When you mention DNS Rebinding; I run my own DNS bind9 server on my LAN, could that be an issue here?

It is not detecting the local IP address for some reason.

Need to look at your network configuration.

What does ifconfig -a show
Enable debug logging on the server and restart and then retry and if same find the plex media server.log and attach


#7

ifconfig -a

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:695374 errors:0 dropped:0 overruns:0 frame:0
          TX packets:695374 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:105458547 (100.5 MiB)  TX bytes:105458547 (100.5 MiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:5863597 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7393475 errors:0 dropped:839 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:612898228 (584.5 MiB)  TX bytes:8735435641 (8.1 GiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.10.171  P-t-P:192.168.10.171  Bcast:192.168.10.171  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

It's running as a container under Proxmox, if that's relevant. I'll try switching it to a veth instead of venet adaptor and see if that helps.

What's frustrating is that I've not changed any config at all, other than the mandatory PMS upgrade when the iOS app v4 was released...


#8

You will need help from people that know Linux - not me. But your 192.168.0.171 seems dead with no tx rx counts or did you only do a partial copy and paste


#9

All sorted. Switched out venet for veth and everything now works. The local IP shows in the Remote Access screen, and I can connect from iPhone/iPad on LAN. For reference this is now my ip a:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP> mtu 1500 qdisc noqueue state DOWN
    link/void
    inet 127.0.0.1/32 scope host venet0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether 2a:a0:40:33:76:68 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.171/24 brd 192.168.10.255 scope global eth0
    inet6 fd00::1:28a0:40ff:fe33:7668/64 scope global dynamic
       valid_lft 7080sec preferred_lft 7080sec
    inet6 fe80::28a0:40ff:fe33:7668/64 scope link
       valid_lft forever preferred_lft forever

Thanks for your help @sa2000, much appreciated.