{"id":6138,"date":"2026-09-02T21:03:18","date_gmt":"2026-09-02T12:03:18","guid":{"rendered":"https:\/\/eternalsphere.net\/echoes\/?p=6138"},"modified":"2026-09-12T17:17:11","modified_gmt":"2026-09-12T08:17:11","slug":"ys3g2krbmo07vvt","status":"publish","type":"post","link":"https:\/\/blog.eternalsphere.net\/index.php\/2026\/09\/02\/ys3g2krbmo07vvt\/","title":{"rendered":"When DNS Changes but Applications Still Connect to the Old IP: Diagnosing a Stale Local DNS Cache"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A domain name may be updated to point to a new public IP address, yet computers on a local network can continue resolving it to the old address. When this happens, applications such as SSH clients may appear to be caching the previous IP internally.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In many cases, however, the application is not responsible at all.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The real cause may be a stale DNS record cached by the local router.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This article walks through a practical troubleshooting scenario involving Linux clients, an OpenWrt router, <code>dnsmasq<\/code>, and a domain whose public IP address recently changed.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">The Scenario<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Assume a domain previously pointed to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>203.0.113.10\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The DNS record was then updated to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>198.51.100.25\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">After the change, an SSH client continued attempting connections to the old IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At first glance, the most obvious explanation seemed to be:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">The SSH client must have cached the old DNS result.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">That assumption turned out to be incorrect.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The stale record was actually being returned by the network&#8217;s local DNS resolver.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Check Normal DNS Resolution<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first test on the Linux workstation was:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig +short example.net\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The result was still the old address:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>203.0.113.10\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The system resolver returned the same value:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>getent ahosts example.net\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>203.0.113.10    STREAM example.net\n203.0.113.10    DGRAM\n203.0.113.10    RAW\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This is already an important clue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If both <code>dig<\/code> and <code>getent<\/code> return the old IP, the problem is probably not confined to one application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The operating system itself is receiving the old DNS answer.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Compare Against Public DNS Resolvers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The next step is to bypass the default DNS resolver and query several public DNS services directly:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig @1.1.1.1 example.net A +short\ndig @8.8.8.8 example.net A +short\ndig @9.9.9.9 example.net A +short\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Suppose all three return:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>198.51.100.25\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This immediately narrows down the problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Public DNS resolvers already know the new address, while the local machine still receives the old one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The DNS update itself is therefore probably correct.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The stale response must be somewhere between the workstation and the public DNS infrastructure.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Check the Authoritative DNS Record<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For additional confirmation, the authoritative DNS chain can be inspected with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig +trace example.net A\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Near the end of the trace, the authoritative nameserver should return something similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>example.net. 3600 IN A 198.51.100.25\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">At this point, three things are established:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The authoritative DNS server has the new address.<\/li>\n\n\n\n<li>Public DNS resolvers return the new address.<\/li>\n\n\n\n<li>The local workstation still receives the old address.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The DNS provider is therefore not the source of the problem.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Identify the Local DNS Resolver<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>dig +trace<\/code> output, <code>\/etc\/resolv.conf<\/code>, or network configuration can reveal which DNS server the workstation normally uses.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>192.168.1.1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In many home or small-office networks, this address belongs to the router.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With OpenWrt, DNS requests from LAN clients are commonly handled by <code>dnsmasq<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The effective resolution path may therefore look like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Application\n    \u2193\nLinux resolver\n    \u2193\nOpenWrt router\n    \u2193\ndnsmasq cache\n    \u2193\nUpstream DNS\n    \u2193\nAuthoritative DNS\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If <code>dnsmasq<\/code> still holds the previous A record, every LAN client using the router as its DNS server may receive the stale IP.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Why the Application Looked Guilty<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The SSH client appeared to be connecting to an old address, which made application-level caching seem plausible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But the client was simply doing something ordinary:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SSH client asks system:\n\"What IP belongs to example.net?\"\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The system asks the router.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The router answers:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>203.0.113.10\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The SSH client then connects to that address.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From the user&#8217;s perspective, it looks as though the SSH client remembers the old IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In reality, it is following the DNS answer it receives.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This distinction is important because clearing application data, deleting SSH hosts, or reinstalling the client would accomplish nothing.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Clear the OpenWrt DNS Cache<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On an OpenWrt router using <code>dnsmasq<\/code>, restarting the service is a straightforward way to discard its in-memory DNS cache:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/init.d\/dnsmasq restart\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Afterward, test from the workstation again:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig +short example.net\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The expected result should now be:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>198.51.100.25\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The system resolver can also be checked:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>getent ahosts example.net\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Once both commands return the new address, applications should normally begin using it automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No application-specific cache cleanup is necessary.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">A Useful Diagnostic Pattern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When a DNS record has recently changed, one of the fastest troubleshooting methods is simply to compare the default resolver against a known public resolver:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig +short example.net\ndig @1.1.1.1 example.net +short\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">There are several possible outcomes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Both Return the Old Address<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Default DNS: 203.0.113.10\nCloudflare:   203.0.113.10\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The DNS change may not have propagated yet, or the authoritative DNS record may still contain the old value.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig +trace example.net A\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Both Return the New Address<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Default DNS: 198.51.100.25\nCloudflare:   198.51.100.25\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">DNS resolution is working correctly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If an application still connects to the old IP, then application-level caching or configuration becomes a more reasonable suspect.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Public DNS Returns the New Address, but Local DNS Returns the Old One<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Default DNS: 203.0.113.10\nCloudflare:   198.51.100.25\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This is the classic indication of a stale local or upstream DNS cache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Possible sources include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>an OpenWrt router<\/li>\n\n\n\n<li><code>dnsmasq<\/code><\/li>\n\n\n\n<li>another local DNS forwarder<\/li>\n\n\n\n<li>Pi-hole<\/li>\n\n\n\n<li>AdGuard Home<\/li>\n\n\n\n<li>a corporate DNS server<\/li>\n\n\n\n<li>an ISP resolver<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The local DNS layer should be investigated before modifying the application.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">What About <code>systemd-resolved<\/code>?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On some Linux systems, the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>resolvectl query example.net\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">can be useful for inspecting DNS resolution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But it only works when <code>systemd-resolved<\/code> is actually running.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the command returns an error such as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Could not activate remote peer 'org.freedesktop.resolve1'\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">it does not necessarily indicate a networking problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It may simply mean that the system is not using <code>systemd-resolved<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Many Linux installations use another DNS configuration method instead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In such cases, commands such as these remain useful:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig\ngetent\ncat \/etc\/resolv.conf\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Do Not Confuse DNS Cache With SSH Known Hosts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Another common source of confusion is the SSH <code>known_hosts<\/code> database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DNS caching and SSH host-key storage are different mechanisms.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DNS answers this question:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Which IP address belongs to this hostname?\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">SSH <code>known_hosts<\/code> answers another:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Which SSH host key was previously associated with this hostname or IP?\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Changing a server&#8217;s public IP usually does not require deleting its known-host entry if the SSH host key remains unchanged.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The known-host database should only be investigated when SSH reports a host-key verification problem, such as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>REMOTE HOST IDENTIFICATION HAS CHANGED\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Deleting SSH host keys to fix a stale DNS record addresses the wrong layer of the problem.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Understanding TTL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DNS records include a TTL, or Time To Live.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>example.net. 3600 IN A 198.51.100.25\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A TTL of <code>3600<\/code> means the record may normally be cached for up to 3600 seconds, or one hour.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After a DNS record changes, recursive resolvers that cached the old result are allowed to continue serving it until its TTL expires.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is why DNS changes may appear inconsistent for a period of time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One resolver may return:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>203.0.113.10\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">while another already returns:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>198.51.100.25\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Once the old cached entry expires, the resolver requests the record again and receives the new address.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Restarting a local caching resolver such as <code>dnsmasq<\/code> effectively forces that local cache to be discarded immediately.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">A More Efficient Troubleshooting Workflow<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When a hostname seems stuck on an old IP address, a good diagnostic sequence is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig +short example.net\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then compare it with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig @1.1.1.1 example.net A +short\ndig @8.8.8.8 example.net A +short\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the results disagree, inspect the authoritative record:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig +trace example.net A\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then determine the machine&#8217;s normal DNS resolver:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/resolv.conf\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">or inspect the network configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the router is acting as the DNS forwarder, query it explicitly:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig @192.168.1.1 example.net A\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the router returns the old IP while public resolvers return the new one, the problem has effectively been isolated.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On OpenWrt with <code>dnsmasq<\/code>, the final corrective step may simply be:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/init.d\/dnsmasq restart\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then verify:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig +short example.net\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">The Main Lesson<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When an application continues using an old IP after a DNS change, do not immediately assume the application has cached it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DNS resolution is layered.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A typical request may pass through:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Application\n   \u2193\nOperating system\n   \u2193\nLocal router\n   \u2193\nDNS forwarder\/cache\n   \u2193\nRecursive resolver\n   \u2193\nAuthoritative nameserver\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Any caching layer can temporarily retain an older record.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The most useful diagnostic technique is therefore not indiscriminately clearing caches, but comparing answers from different points in the DNS chain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this scenario, the authoritative DNS infrastructure had already been updated correctly. Public resolvers also returned the new address. Only the local OpenWrt router continued serving the previous A record from its <code>dnsmasq<\/code> cache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Restarting <code>dnsmasq<\/code> removed the stale record, after which all clients on the LAN immediately began resolving the domain to its new public IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The apparent application cache was never an application cache at all.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It was DNS doing exactly what DNS caches are designed to do.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A domain name may be updated to point to a new public IP address, yet computers on a local network can continue resolving it to the old address. When this happens, applications such as SSH clients may appear to be caching the previous IP internally. In many cases, however, the &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[120],"tags":[243,334,264],"class_list":["post-6138","post","type-post","status-publish","format-standard","hentry","category-1s3b6h7r2zay02x","tag-dns","tag-routers","tag-troubleshooting"],"_links":{"self":[{"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/posts\/6138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/comments?post=6138"}],"version-history":[{"count":1,"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/posts\/6138\/revisions"}],"predecessor-version":[{"id":6139,"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/posts\/6138\/revisions\/6139"}],"wp:attachment":[{"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/media?parent=6138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/categories?post=6138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.eternalsphere.net\/index.php\/wp-json\/wp\/v2\/tags?post=6138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}