I think i have a stupid question but i couldn’t find answer to it so far :( When i want to reach a service that i host on my own server at home from the local network at home, is using a public domain effective way to do it or should i always use server’s IP when configuring something inside LAN? Is my traffic routed through the internet somehow when using domain even in LAN or does my router know to not do this?
is using a public domain effective way to do it or should i always use server’s IP when configuring something inside LAN? Is my traffic routed through the internet somehow when using domain even in LAN or does my router know to not do this?
It depends.
If you control your router (not ISP provided) you can just go into the router settings and tell it to always resolve your public domain to the local machine IP. This will make it so any computer on the network running a DNS query will get a local IP for that domain instead of the public one.
If you don’t control it, most likely your traffic is not routed through the internet because routers are usually configured for hairpinning / NAT loopback and they’ll simply forward the traffic internally.
You can test what’s going on by using the traceroute (or tracert on Windows) to find where the traffic is going. It will give you a line for each host your traffic has to go through in order to reach the destination. If you need help reading the output, just post it public IPs redacted.
Thanks for your reply, i’ll try the traceroute thing when i’ll be back home in a few days :)
If by “router” you mean the all-in-one box, yes. But even if you don’t fully control the device, you can usually change DHCP DNS so that LAN clients will use your local DNS servers.
But even if you don’t fully control the device, you can usually change DHCP DNS so that LAN clients will use your local DNS servers.
Not all ISPs allow this. Mine for instance doesn’t allow changing any LAN DHCP setting… fortunately they have an option to configure one of the ports as “bridge” and you’ll get a public IP there so I can just plug my own equipment and do whatever I want.
Not all isps allow this.
Hence the “usually” in their statement.
You want to split your domain so it resolves to a private IP internally and a public IP externally. So, your internal DNS server should return internal IPs.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DHCP Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network DNS Domain Name Service/System IP Internet Protocol NAT Network Address Translation
4 acronyms in this thread; the most compressed thread commented on today has 9 acronyms.
[Thread #702 for this sub, first seen 22nd Apr 2024, 14:45] [FAQ] [Full list] [Contact] [Source code]
Some routers will allow you to reach the external IP from inside your network, some may not. Mine currently does which is great (I can access www.example.com which resolves to my external IP address and it is forwarded as though I were outside my network).
What I do is register public domains on “example.com” and I have a sub-domain for internal IPs (home.example.com). My local DNS server responds for home.example.com and forwards for the rest.
This makes it clear to me which address I will be getting. And since all my public web traffic goes through a reverse-proxy it lets me also have a name for the server itself. e.g. “music.example.com” may go through the reverse proxy for my music server, but “music.home.example.com” resolves to my music server directly. So I can use the latter for ssh and other things.