20251128205912 push
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<article>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">Public Home Server: Introducing and Resolving Issues</h1>
|
||||
<p class="date">2025-02-16T00:00:00-08:00</p>
|
||||
<p class="date">2025-02-16 00:00:00 -08:00</p>
|
||||
</header>
|
||||
<p>As I have shared before, I have recently set up a server at home to run this website and web services like <a href="https://0x212.com/@iiogama">Mastodon</a>, <a href="https://git.0x212.com/iiogama">Gitea</a>, <a href="https://live.0x212.com">Owncast</a>, Miniflux, Linkding, and other great stuff. I decided to use <a href="https://cloudron.io">Cloudron</a> for simple server management, because I was struggling to get things up and running myself manually with package managers or compiling the software myself, or auto-magically using Docker, NixOS, etc. And I chose Cloudron over other similar services like <a href="https://yunohost.org">YunoHost</a> because I have used it before, it is quite stable, and does the thing it sets out to do well. The struggle with manually taking care of hosting issues came from long hours at work getting things set up and troubleshooting, and not having the energy in the evenings or weekends to get stuff set up and troubleshoot.</p>
|
||||
<h2 id="problem">Problem</h2>
|
||||
@@ -11,7 +11,7 @@
|
||||
<p>On my private local network, I could <code>ping</code> the public IP address and the private IP address of the server and all router gateways between, but I could not <code>ping 0x212.com</code>, indicating an issue with DNS. Yet, running <code>nslookup 0x212.com</code> showed correct name resolution, returning my public IP address. I am not running a private DNS server, so all DNS requests for my website were going out to a public DNS server. After checking and rechecking the router and server configurations, I started researching the issue online and learned that Network Address Translation requires loop-back to be enabled on the router for a web connection on the same IP address. But not all routers have that feature available, especially non-enterprise routers like my public facing router from AT&T (required for the fiber connection).</p>
|
||||
<p>While I was researching the name resolution issue, a different but related issue came up. Like all good multi-taskers doing too much at one time, I was playing around with all the new toys I was installing on the server. Since I could connect to my website from the Internet, I just enabled a VPN connection with <a href="https://mullvad.net">Mullvad</a> to connect to my servers web services. But while connected to the VPN, I could not SSH into the local IP address for the server. This was necessary because I was needing to transfer files from my computer to the server, and I did not want to send that transfer across the internet. The Mullvad VPN client has a local network sharing setting that allows your computer to connect to other devices on the local network, but this setting will only apply to devices on the same local network as the computer.</p>
|
||||
<h2 id="possible-solutions">Possible Solutions</h2>
|
||||
<p>So fundamentally I wanted DNS requests to resolve my website’s domain to the server’s private IP address for my computer on my local network. The Cloudron server has an setting that dynamically updates DNS records using the APIs for various DNS registrars, which can be configured to the public or private IP address for the server. Mine is configured for the public IP address. I started thinking of different ways to resolve my issues, such as the following:</p>
|
||||
<p>So fundamentally I wanted DNS requests to resolve my website’s domain to the server’s private IP address for my computer on my local network. he Cloudron server has an setting that dynamically updates DNS records using the APIs for various DNS registrars, which can be configured to the public or private IP address for the server. Mine is configured for the public IP address. I started thinking of different ways to resolve my issues, such as the following:</p>
|
||||
<ul>
|
||||
<li>Disable Cloudron’s dynamic DNS and pay for a public dynamic DNS service like <a href="https://www.noip.com">No-IP</a>. The server could be configured to accept all requests hitting the interface.</li>
|
||||
<li>Replace the public router with one that supports NAT loop-back, which is expensive and AT&T requires their fiber router.</li>
|
||||
|
||||
Reference in New Issue
Block a user