Network unreachable error when trying to 'Retrieve Keys'

Created:

2016-11-16 13:20:01 UTC

Modified:

2017-08-16 17:13:10 UTC

0

Was this article helpful?


Have more questions?

Submit a request

Network unreachable error when trying to 'Retrieve Keys'

Applicable to:

  • Plesk 12.5 for Linux
  • Plesk 11.x for Linux
  • Plesk 11.x for Windows
  • Plesk 12.0 for Windows
  • Plesk 12.0 for Linux
  • Plesk 12.5 for Windows

Symptoms

Retrieve

Running the Plesk Daily Maintenance Task or clicking the Retrieve Keys button (at Tools&Settings > License Management ) fails with the following error:

curl: (7) Failed to connect to 2001:4168:1236::80: Network is unreachable

In the user interface, the following error may appear:

cURL error description: Failed to connect to ka.plesk.com port 5224: Network unreachable(7)

Err

Cause

  • cURL bug. Inappropriate handling of interface availability:

    cURL tries to use IPv6 even though it is not configured properly (the IPv6 network is unreachable) and does not retry with IPv4 after a failure.
  • IPv6 stack misconfiguration:

    The IPv6 stack is configured but is not working (cannot be used to transmit/receive data). As a result, cURL fails when trying to connect via IPv6.

Related bug .

Resolution

  1. In any system, you can force cURL to drop its name resolution attempts by specifying the address of KA server in the appropriate hosts file ( /etc/hosts for Linux and C:\\Windows\\System32\\drivers\\etc\\hosts for Windows ):

    195.214.233.80 ka.plesk.com
  2. Disable IPv6.

    Note: Use it at your own risk!

    On Linux , you can try to disable the IPv6 protocol by adding the following lines to /etc/sysctl.conf :

    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1

    Alternatively, execute the following command:

    echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6

    On Windows , IPv6 tunneling interfaces can be disabled with the following commands:

    netsh interface ipv6 6to4 set state disabled
    netsh interface teredo set state disabled

    IPv6 for a real interface can be disabled via the user interface:

    DisabledIPv6

    IPv4 only

    You can also set the curl option when using it from PHP , as follows:

    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
Have more questions? Submit a request
Please sign in to leave a comment.