Caching Server and IPv6 support

Does anyone know if it is possible to configure the Caching Server to work if you are running a dual-stack IPv4 and IPv6 network.


When running dua-stack all client devices will prefer IPv6 whenever possible so Apple's Caching Server service is seeing each connecting client as originating from a separate network rather than from the same network. There does not appear to be a way to configure the Caching Server on OS X Server 5 for an IPv6 subnet, it only accepts IPv4 addresses.


Before I submit this as a bug can anyone prove me wrong with a work-around to get a dual-stack network to work with the Caching Server.

Mac mini (Late 2014)

Posted on Apr 16, 2016 11:29 AM

Reply
5 replies

May 16, 2017 1:11 PM in response to Gino_Cerullo

This doesn't work in Server 5.3.1, putting in an IPv6 address gives an error in /Library/Server/Caching/Logs/Debug.log:


2017-05-16 20:31:30.205 PublicRanges entry has invalid IPv4 address: {

first = "2001:8b0:25a:5ba0:0:0:0:0";

last = "2001:8b0:25a:5ba0:ffff:ffff:ffff:ffff";

}


Caching used to work for me on this dual stack system but has now stopped (I had no special configuration). Running the caching service now stops iOS clients on the local network updating apps.

Apr 17, 2016 9:25 AM in response to Gino_Cerullo

I got this working, it was just a matter of editing the Caching server config file by hand to add the IPv6 range.


The configuration file is located at /Library/Server/Caching/Config/Config.plist


Make sure the Caching server is not running while you edit the config file.


Open the file in Terminal for editing and look for the following:


<key>PreviousDataPaths</key>

<array>

<string>/Library/Server/Caching/Data</string>

</array>

<key>Region</key>

<string>65622637284725D55356E27799AC1535</string>


I'm going to use the example of an IPv6 range for the following subnet, 2001:377:3f:65ec::/64


Edit the config file to add the IPv6 range as follows:


<key>PreviousDataPaths</key>

<array>

<string>/Library/Server/Caching/Data</string>

</array>

<key>PublicRanges</key>

<array>

<dict>

<key>first</key>

<string>2001:377:3f:65ec:0:0:0:0</string>

<key>last</key>

<string>2001:377:3f:65ec:ffff:ffff:ffff:ffff</string>

</dict>

</array>

<key>Region</key>

<string>65622637284725D55356E27799AC1535</string>


Now add the DNS TXT record to the zone file located at /Library/Server/named/db.example.com


_aaplcache._tcp 259200 IN TXT "prs=2001:377:3f:65ec:0:0:0:0-2001:377:3f:65ec:ffff:ffff:ffff:ffff"


Now start up the Caching server and restart the DNS server if it was running.

Apr 17, 2016 10:50 AM in response to Gino_Cerullo

One other thing. I was reading Apple's help documentation for setting up the Caching server and came across this tidbit.


"The syntax for specifying TXT records, and non-ASCII characters in TXT records, will vary for your DNS server. Both IPv4 and IPv6 are accepted, but only IPv4 is supported."


With that in mind I removed the TXT record I added to the zone file and re-test the caching server. It continued to work. It seems that for IPv6 the TXT record is not required.


The help documentation for Server version 5.1 can be found here:


https://help.apple.com/serverapp/mac/5.1/

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Caching Server and IPv6 support

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.