NAT (network address translation)
Rewriting the addresses in a packet as it passes through a router. On most cloud platforms that is where your server's public address lives: 203.0.113.40 is held by the provider's routers, which rewrite the destination to 10.0.0.5 before delivering the packet to your interface, and apply the reverse rewrite to the replies. So ip a will never show the public address, and its absence is not a misconfiguration: the machine only ever sees its private one. Two consequences. No software here can bind to 203.0.113.40, because that address exists on no interface. And ip a and ip route can both be flawless while the server stays unreachable: the translation happens in the provider's network, not in yours. Dedicated servers often do carry the public address directly — reading ip a tells you which case you are in.
Also written: DNAT, SNAT
