DDNS - Dynamic Domain Name System =================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is DDNS?** DDNS stands for Dynamic Domain Name System. It is a service that automatically updates DNS records when a device’s IP address changes, allowing you to access your device using a consistent domain name, even if its IP address is dynamic. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is DDNS useful?** * You have a dynamic IP address from your ISP (common in home networks) * You want to remotely access your home server, CCTV, or IoT device * You don’t want to manually update DNS records every time your IP changes .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works (in simple steps):** * Device gets a new IP address – Usually assigned by the ISP via DHCP. * DDNS client detects the change- A small program running on your device or router notices new IP. * Client updates the DNS record – It contacts the DDNS provider and updates your domain name with the new IP. * Domain stays reachable – Anyone using your domain name is directed to the correct, updated IP address. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is DDNS used?** * Home servers – To host websites, game servers, or file sharing from home. * Remote access – For accessing security cameras, NAS devices, or routers. * IoT and smart home – To connect to devices that don’t have static IPs. * Small businesses – That need remote access without paying for static IPs. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** * It interacts with DNS services, which are application-level protocols. * It uses HTTP, HTTPS, or proprietary APIs to update DNS records. * It provides a user-facing service that maps domain names to IP addresses dynamically. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`DDNS Version&RFC Details ` * :ref:`DDNS Basic Setup on Ubuntu using IPv4 ` * :ref:`DDNS Basic Setup on Ubuntu using IPv6 ` * :ref:`DDNS Protocol Packet Details ` * :ref:`DDNS Usecases ` * :ref:`DDNS Basic Features ` * :ref:`DDNS Feature : Dynamic IP Updates ` * :ref:`DDNS Feature : Real-Time DNS Mapping ` * :ref:`DDNS Feature : Remote Access Support ` * :ref:`DDNS Feature : Client Software Integration ` * :ref:`DDNS Feature : Authentication ` * :ref:`DDNS Feature : IPv4 and IPv6 Support ` * :ref:`DDNS Feature : Failover and Redundancy ` * :ref:`DDNS Feature : Integration with DHCP ` * :ref:`DDNS Feature : Custom Domain Support ` * :ref:`Reference links ` .. _DDNS_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _DDNS_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _DDNS_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _DDNS_step5: .. tab-set:: .. tab-item:: DDNS Version&RFC Details .. csv-table:: :file: ./DDNS/DDNS_Version_and_RFC_Details.csv :widths: 10,10,10,30 :header-rows: 1 .. _DDNS_step19: .. tab-set:: .. tab-item:: DDNS Basic Setup on Ubuntu using IPv4 **Setup** .. _DDNS_step20: .. tab-set:: .. tab-item:: DDNS Basic Setup on Ubuntu using IPv6 **Setup** .. _DDNS_step6: .. tab-set:: .. tab-item:: DDNS Protocol Packet Details **Update Request Packet** .. csv-table:: :file: ./DDNS/DDNS_packetdetails1.csv :widths: 10,20,30,10 :header-rows: 1 **Update Response Packet** .. csv-table:: :file: ./DDNS/DDNS_packetdetails2.csv :widths: 10,20,30,10 :header-rows: 1 .. _DDNS_step7: .. tab-set:: .. tab-item:: DDNS Usecases .. csv-table:: :file: ./DDNS/DDNS_Use_Cases.csv :widths: 10,20,30 :header-rows: 1 .. _DDNS_step8: .. tab-set:: .. tab-item:: DDNS Basic Features .. csv-table:: :file: ./DDNS/DDNS_Basic_Features.csv :widths: 10,10,30 :header-rows: 1 .. _DDNS_step9: .. tab-set:: .. tab-item:: DDNS Feature : Dynamic IP Updates **Dynamic IP Updates - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature1_Dynamic_IP_Updates_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step10: .. tab-set:: .. tab-item:: DDNS Feature : Real-Time DNS Mapping **Real-Time DNS Mapping - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature2_Real_Time_DNS_Mapping_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step11: .. tab-set:: .. tab-item:: DDNS Feature : Remote Access Support **Remote Access Support - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature3_Remote_Access_Support_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step12: .. tab-set:: .. tab-item:: DDNS Feature : Client Software Integration **Client Software Integration - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature4_Client_Software_Integration_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step13: .. tab-set:: .. tab-item:: DDNS Feature : Authentication **Authentication - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature5_Authentication_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step14: .. tab-set:: .. tab-item:: DDNS Feature : IPv4 and IPv6 Support **IPv4 and IPv6 Support - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature6_IPv4_and_IPv6_Support_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step15: .. tab-set:: .. tab-item:: DDNS Feature : Failover and Redundancy **Failover and Redundancy - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature7_Failover_and_Redundancy_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step16: .. tab-set:: .. tab-item:: DDNS Feature : Integration with DHCP **Integration with DHCP - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature8_Integration_with_DHCP_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step17: .. tab-set:: .. tab-item:: DDNS Feature : Custom Domain Support **Custom Domain Support - Testcases** .. csv-table:: :file: ./DDNS/DDNS_Feature9_Custom_Domain_Support_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _DDNS_step18: .. tab-set:: .. tab-item:: Reference links * Reference links