Create a Secondary DNS Zone

Prerequisite: Before creating a secondary DNS zone with IONOS Cloud DNS, ensure that the primary zone is capable of establishing a zone transfer with the secondary DNS server; this means port 53 is open for TCP and UDP connections.

To create a secondary zone on the IONOS Cloud DNS, follow this step:

  • Perform a POST request to the /secondaryzones endpoint by providing the zoneName, description, and primaryIps for the IP address of the primary nameserver.

Note: For sending DNS notify messages, Cloud DNS uses following Anycast addresses: IPv4 212.227.123.25 or IPv6 2001:8d8:fe:53::5cd:25.

Request

curl --location 'https://dns.de-fra.ionos.com/secondaryzones' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--data '{
    "properties": {
        "zoneName": "example.com",
        "description": "This is a secondary zone created in IONOS Cloud DNS",
        "primaryIps": [
            "1.2.3.4",
            "5.6.7.8"
        ]
    }
}'

Response

202 Accepted

{
    "id": "a1bc82de-4cc5-40ca-bfb3-4e93bd9a367c",
    "type": "secondaryzone",
    "href": "/secondaryzones/a1bc82de-4cc5-40ca-bfb3-4e93bd9a367c",
    "metadata": {
        "createdDate": "2023-08-04T10:21:32+00:00",
        "lastModifiedDate": "2023-08-04T10:21:33+00:00",
        "nameservers": [
            "nscs-ic.ui-dns.com",
            "nscs-ic.ui-dns.de",
            "nscs-ic.ui-dns.org",
            "nscs-ic.ui-dns.biz"
        ],
        "state": "AVAILABLE"
    },
    "properties": {
        "description": "This is a secondary zone created in IONOS Cloud DNS",
        "primaryIps": [
            "1.2.3.4",
            "5.6.7.8"
        ],
        "zoneName": "example.com"
    }
}

Retrieve all secondary zones

To retrieve information about all the secondary zones, follow this step:

  • Send a GET request to the /secondaryzones endpoint.

Request

curl --location 'https://dns.de-fra.ionos.com/secondaryzones' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO'

Response

200 OK

{
    "id": "0a85684c-2171-5a78-985a-a3999a0f5046",
    "type": "collection",
    "href": "/secondaryzones?limit=100&offset=0",
    "items": [
        {
            "id": "a1bc82de-4cc5-40ca-bfb3-4e93bd9a367c",
            "type": "secondaryzone",
            "href": "/secondaryzones/a1bc82de-4cc5-40ca-bfb3-4e93bd9a367c",
            "metadata": {
                "createdDate": "2023-08-04T13:14:28+00:00",
                "lastModifiedDate": "2023-08-04T13:14:28+00:00",
                "nameservers": [
                    "nscs-ic.ui-dns.com",
                    "nscs-ic.ui-dns.de",
                    "nscs-ic.ui-dns.org",
                    "nscs-ic.ui-dns.biz"
                ],
                "state": "AVAILABLE"
            },
            "properties": {
                "description": "This is a secondary zone created in IONOS Cloud DNS",
                "primaryIps": [
                    "1.2.3.4",
                    "5.6.7.8"
                ],
                "zoneName": "example.com"
            }
        },
        {
            "id": "33085c93-425c-4909-9a5c-64ebf34dd9e9",
            "type": "secondaryzone",
            "href": "/secondaryzones/33085c93-425c-4909-9a5c-64ebf34dd9e9",
            "metadata": {
                "createdDate": "2023-08-04T13:15:32+00:00",
                "lastModifiedDate": "2023-08-04T13:15:32+00:00",                 
                "nameservers": [
                    "nscs-ic.ui-dns.com",
                    "nscs-ic.ui-dns.de",
                    "nscs-ic.ui-dns.org",
                    "nscs-ic.ui-dns.biz"
                ],
                "state": "AVAILABLE"
            },
            "properties": {
                "description": "This is a secondary zone created in IONOS Cloud DNS",
                "primaryIps": [
                    "1.2.3.4",
                    "5.6.7.8"
                ],
                "zoneName": "example.info"
            }
        },
        {
            "id": "fa4e179a-b1ab-4de5-ae38-48d5f02a605f",
            "type": "secondaryzone",
            "href": "/secondaryzones/fa4e179a-b1ab-4de5-ae38-48d5f02a605f",
            "metadata": {
                "createdDate": "2023-08-04T13:15:40+00:00",
                "lastModifiedDate": "2023-08-04T13:15:40+00:00",               
                "nameservers": [
                    "nscs-ic.ui-dns.com",
                    "nscs-ic.ui-dns.de",
                    "nscs-ic.ui-dns.org",
                    "nscs-ic.ui-dns.biz"
                ],                 
                "state": "AVAILABLE"
            },
            "properties": {
                "description": "This is a secondary zone created in IONOS Cloud DNS",
                "primaryIps": [
                    "1.2.3.4",
                    "5.6.7.8"
                ],
                "zoneName": "example.net"
            }
        },
        {
            "id": "04706207-a691-4710-902d-10acf5441bf1",
            "type": "secondaryzone",
            "href": "/secondaryzones/04706207-a691-4710-902d-10acf5441bf1",
            "metadata": {
                "createdDate": "2023-08-04T13:15:46+00:00",
                "lastModifiedDate": "2023-08-04T13:15:46+00:00",               
                "nameservers": [
                    "nscs-ic.ui-dns.com",
                    "nscs-ic.ui-dns.de",
                    "nscs-ic.ui-dns.org",
                    "nscs-ic.ui-dns.biz"
                ],                 
                "state": "AVAILABLE"
            },
            "properties": {
                "description": "This is a secondary zone created in IONOS Cloud DNS",
                "primaryIps": [
                    "1.2.3.4",
                    "5.6.7.8"
                ],
                "zoneName": "example.org"
            }
        }
    ],
    "offset": 0,
    "limit": 100,
    "_links": {
        "self": "/secondaryzones?limit=100&offset=0",
        "next": "/secondaryzones?limit=100&offset=100"
    }
}

Retrieve a specific secondary zone information

To retrieve information about a specific secondary zone, follow this step:

  • Send a GET request to the /secondaryzones/{secondaryzoneId} endpoint.

Request

curl --location 'https://dns.de-fra.ionos.com/secondaryzones/04706207-a691-4710-902d-10acf5441bf1' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO'

Response

{
    "id": "04706207-a691-4710-902d-10acf5441bf1",
    "type": "secondaryzone",
    "href": "/secondaryzones/04706207-a691-4710-902d-10acf5441bf1",
    "metadata": {
        "createdDate": "2023-08-04T13:15:46+00:00",
        "lastModifiedDate": "2023-08-04T13:15:46+00:00",
        "nameservers": [
            "nscs-ic.ui-dns.com",
            "nscs-ic.ui-dns.de",
            "nscs-ic.ui-dns.org",
            "nscs-ic.ui-dns.biz"
        ],
        "state": "AVAILABLE"
    },
    "properties": {
        "description": "This is a secondary zone created in IONOS Cloud DNS",
        "primaryIps": [
            "1.2.3.4",
            "5.6.7.8"
        ],
        "zoneName": "example.org"
    }
}

Retrieve records for a specific secondary zone information

To retrieve records information about a specific secondary zone, follow this step:

  • Send a GET request to the /secondaryzones/{secondaryzoneId}/records endpoint.

Request

curl --location 'https://dns.de-fra.ionos.com/secondaryzones/04706207-a691-4710-902d-10acf5441bf1/records' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO'

Response

{
    "id": "04706207-a691-4710-902d-10acf5441bf1",
    "type": "collection",
    "href": "/secondaryzones/04706207-a691-4710-902d-10acf5441bf1/records?limit=100&offset=0",
    "metadata": {
        "primaryIps": [
            "217.160.220.23"
        ]
    },
    "items": [
        {
            "type": "record",
            "metadata": {
                "fqdn": "example.org",
                "zoneId": "04706207-a691-4710-902d-10acf5441bf1",
                "rootName": "example.org"
            },
            "properties": {
                "content": "example.org hostmaster.example.org 2037070192 28800 7200 604800 600",
                "enabled": true,
                "name": "",
                "priority": 0,
                "ttl": 3600,
                "type": "SOA"
            }
        },
        {
            "type": "record",
            "metadata": {
                "fqdn": "example.org",
                "zoneId": "04706207-a691-4710-902d-10acf5441bf1",
                "rootName": "example.org"
            },
            "properties": {
                "content": "ns.ui-global-dns.de",
                "enabled": true,
                "name": "",
                "priority": 0,
                "ttl": 3600,
                "type": "NS"
            }
        },
        {
            "type": "record",
            "metadata": {
                "fqdn": "example.org",
                "zoneId": "04706207-a691-4710-902d-10acf5441bf1",
                "rootName": "example.org"
            },
            "properties": {
                "content": "ns.ui-global-dns.biz",
                "enabled": true,
                "name": "",
                "priority": 0,
                "ttl": 3600,
                "type": "NS"
            }
        },
        {
            "type": "record",
            "metadata": {
                "fqdn": "example.org",
                "zoneId": "04706207-a691-4710-902d-10acf5441bf1",
                "rootName": "example.org"
            },
            "properties": {
                "content": "ns.ui-global-dns.com",
                "enabled": true,
                "name": "",
                "priority": 0,
                "ttl": 3600,
                "type": "NS"
            }
        },
        {
            "type": "record",
            "metadata": {
                "fqdn": "example.org",
                "zoneId": "04706207-a691-4710-902d-10acf5441bf1",
                "rootName": "example.org"
            },
            "properties": {
                "content": "ns.ui-global-dns.org",
                "enabled": true,
                "name": "",
                "priority": 0,
                "ttl": 3600,
                "type": "NS"
            }
        },
        {
            "type": "record",
            "metadata": {
                "fqdn": "www.example.org",
                "zoneId": "04706207-a691-4710-902d-10acf5441bf1",
                "rootName": "example.org"
            },
            "properties": {
                "content": "127.0.0.1",
                "enabled": true,
                "name": "www",
                "priority": 0,
                "ttl": 3600,
                "type": "A"
            }
        },
        {
            "type": "record",
            "metadata": {
                "fqdn": "www.example.org",
                "zoneId": "04706207-a691-4710-902d-10acf5441bf1",
                "rootName": "example.org"
            },
            "properties": {
                "content": "0:0:0:0:0:0:0:1",
                "enabled": true,
                "name": "www",
                "priority": 0,
                "ttl": 3600,
                "type": "AAAA"
            }
        },
        {
            "type": "record",
            "metadata": {
                "fqdn": "www2.example.org",
                "zoneId": "04706207-a691-4710-902d-10acf5441bf1",
                "rootName": "example.org"
            },
            "properties": {
                "content": "203.0.113.220",
                "enabled": true,
                "name": "www2",
                "priority": 0,
                "ttl": 3600,
                "type": "A"
            }
        }
    ],
    "offset": 0,
    "limit": 100,
    "_links": {
        "self": "/secondaryzones/04706207-a691-4710-902d-10acf5441bf1/records?limit=100&offset=0",
        "next": "/secondaryzones/04706207-a691-4710-902d-10acf5441bf1/records?limit=100&offset=100"
    }
}

Modify secondary zone

To modify the description of a secondary zone or update the IP addresses of its primary nameserver, follow this step:

  • Send a PUT request to the /secondaryzones/{secondaryzoneId} endpoint.

Request


curl --location --request PUT 'https://dns.de-fra.ionos.com/secondaryzones/04706207-a691-4710-902d-10acf5441bf1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--data '{
    "properties": {
        "zoneName": "example.org",
        "description": "Changing description and primaryIps for secondary zone example.org",
        "primaryIps": [
            "5.6.8.7",
            "12.23.34.99"
        ]
    }
}'

Response

202 Accepted

{
    "id": "a1bc82de-4cc5-40ca-bfb3-4e93bd9a367c",
    "type": "secondaryzone",
    "href": "/secondaryzones/a1bc82de-4cc5-40ca-bfb3-4e93bd9a367c",
    "metadata": {
        "createdDate": "2023-08-04T10:21:32+00:00",
        "lastModifiedDate": "2023-08-10T09:32:29+00:00",
        "nameservers": [
            "nscs-ic.ui-dns.com",
            "nscs-ic.ui-dns.de",
            "nscs-ic.ui-dns.org",
            "nscs-ic.ui-dns.biz"
        ],
        "state": "AVAILABLE"
    },
    "properties": {
        "description": "Changing description and primaryIps for secondary zone example.com",
        "primaryIps": [
            "5.6.8.7",
            "12.23.34.99"
        ],
        "zoneName": "example.com"
    }
}

Initiate zone transfer to a secondary zone

Note: The creation of a secondary zone initiates zone transfer. In case of disrupted network connectivity at this time, you can initiate the zone transfer manually between the primary and secondary (i.e. secondary name server could not access primary nameserver on port 53) zones.

To initiate zone transfer from the primary zone to the secondary zone, follow this step:

  • Send a PUT request to the /secondaryzones/{secondaryzoneId}/axfr endpoint.

Note: For sending DNS notify messages, Cloud DNS uses following Anycast addresses: IPv4 212.227.123.25 or IPv6 2001:8d8:fe:53::5cd:25.

Request

curl --location --request PUT 'https://qa.dns.de-txl.ionos.com/secondaryzones/a1bc82de-4cc5-40ca-bfb3-4e93bd9a367c/axfr' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO'

Response

200 OK

Check zone transfer status

To check zone transfer status, follow this step:

  • Perform a GET request to /secondaryzones/{secondaryzoneId}/axfr endpoint.

Request

curl --location 'https://qa.dns.de-txl.ionos.com/secondaryzones/a1bc82de-4cc5-40ca-bfb3-4e93bd9a367c/axfr' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO'

Response

200 OK

{
    "items": [
        {
            "errorMessage": "",
            "primaryIp": "5.6.8.7",
            "status": "OK"
        }
    ],
    "type": "collection"
}

Delete a secondary zone

To delete a secondary zone from the IONOS Cloud DNS, follow this step:

  • Send a DELETE request to the /secondaryzones/{zoneId} endpoint.

Request

curl --location --request DELETE 'https://dns.de-fra.ionos.com/secondaryzones/d8ff66f6-6777-42a8-b363-7f80b9105db4' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO'

Response

200 Accepted

Last updated

Was this helpful?

Revision created

Minor update from the comments