13 KiB
tags
| tags | |||
|---|---|---|---|
|
Home-Lab Environment
Environment Documentation
I have standardized your domain listings into a clean table, removed the empty unassigned IP rows to reduce clutter (while keeping your standard sequential block visible), and extracted the miscellaneous Windows 10 license key into a dedicated, secure metadata section so it doesn't skew your networking tables.
Home-Lab Environment Documentation
1. Public Domains & External Servers
This table tracks external public-facing domains, their current A-record IP destinations, and hosting providers.
| **Domain Name** | **Target IP Address** | **Host / Provider** | **Status / Notes** |
| `mcfetridge.us` | 129.213.86.62 | Oracle Server | Active |
| `mikemcfetridge.com` | 75.152.47.1 | Home | Active |
| `mmcfetridge.net` | 216.144.227.142 | RackNerd Server | Active |
| `mmcfetridge.xyz` | 107.175.245.171 | *N/A* | Deprecated / Not used anymore |
2. Local IP Asset Management (Subnet: 192.168.2.0/24)
This mapping tracks internal static IPs, infrastructure hosts, container stacks, and active client hardware.
Infrastructure & Server Hosts
| **IP Address** | **Server Name** | **Applications** | **Functional Comments** |
| **192.168.2.1** | PVE | Proxmox | Main Proxmox Virtualization Environment |
| **192.168.2.2** | PVE2 | Proxmox | Secondary Proxmox Node (Cluster/Failover) |
| **192.168.2.3** | docker-prod-01 | Docker | Production Docker environment |
| **192.168.2.4** | pangolin | *None Listed* | Assigned host |
| **192.168.2.5** | Domain Locker | Docker Monitoring | Container ecosystem tracking & monitoring |
Network Services & Core Stacks
| **IP Address** | **Server Name** | **Applications** | **Functional Comments** |
| **192.168.2.8** | Pi-Hole | Ad-blocking / DNS | Network-wide ad blocker |
| **192.168.2.9** | TECHNITIUMDNS-SERVER | DNS | Local authoritative DNS Server |
| **192.168.2.10** | ArrStack | Media Management | Automation stack |
| **192.168.2.12** | linkwarden | lw | Web bookmark and internet link management |
| **192.168.2.15** | docker-deploy | CI/CD Deployer | Dedicated environment for deployments |
| **192.168.2.19** | VAULTWARDEN-SERVER | Passwords | Self-hosted Bitwarden backend (Password Server) |
End-User Devices & Client Leases
| **IP Address** | **Device Name** | **Device Type** | **Functional Comments** |
| **192.168.2.248** | My iPad | Tablet | Personal client |
| **192.168.2.249** | My Laptop | Laptop | Primary workstation |
💡 Note: IP addresses
192.168.2.6through192.168.2.7,192.168.2.11,192.168.2.13through192.168.2.14,192.168.2.16through192.168.2.18, and192.168.2.20through192.168.2.30are currently unassigned and reserved for future static scaling.
3. Network Security & Trusted Subnets (CIDR)
The following blocks are designated as Trusted IP CIDRs within internal firewall and reverse proxy definitions.
127.0.0.0/8— Localhost loopback network10.0.0.0/8— Class A Private network space172.16.0.0/12— Class B Private network space (Commonly used by internal Docker bridges)192.168.0.0/22— Covers local scopes from192.168.0.0through192.168.3.255
4. Environment Metadata & Licenses
🔑 Windows 10 Pro Generic KMS / Setup Key: >
W269N-WFGWX-YVC9B-4J6C9-T83GX
🌐 Configuring Dynamic DNS (DDNS) with ddclient and Namecheap
This guide walks you through installing and configuring ddclient on Ubuntu to automatically update your Namecheap domain with your network's public IP address.
1. Installation
Install the ddclient utility from the standard package manager:
<div class="code-block ng-tns-c1605810258-312 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--1"><div class="formatted-code-block-internal-container ng-tns-c1605810258-312"><div class="animated-opacity ng-tns-c1605810258-312"></div></div></div>> 💡 **Note:** During the installation, a text-based setup wizard will appear in your terminal. You can safely select **"Other"** when prompted for a provider and cycle through the defaults. We will completely overwrite these wizard settings manually in the next step.
## 2. Configuration
Open the configuration file using the `nano` text editor:
<div class="code-block ng-tns-c1605810258-313 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-bash-1"><div class="formatted-code-block-internal-container ng-tns-c1605810258-313"><div class="animated-opacity ng-tns-c1605810258-313"><div class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1605810258-313 ng-star-inserted"><span class="ng-tns-c1605810258-313">Bash</span><div class="buttons ng-tns-c1605810258-313 ng-star-inserted"></div></div></div></div></div>```
sudo nano /etc/ddclient.conf
<div class="code-block ng-tns-c1605810258-314 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--7"><div class="formatted-code-block-internal-container ng-tns-c1605810258-314"><div class="animated-opacity ng-tns-c1605810258-314"></div></div></div>### 📋 Configuration Breakdown:
- **`server`**: Points directly to Namecheap's dedicated dynamic DNS handling infrastructure.
- **`use=web`**: Tells the client to fetch your external public IP using a web lookup utility (`ipify.org`) rather than checking your local router or network interface directly.
- **`login`**: Your root registered domain name.
- **`password`**: The unique, long alphanumeric DDNS password/token generated inside your Namecheap domain dashboard (this is *not* your Namecheap account password).
- **`@`**: Instructs `ddclient` to update the root domain apex itself. *(If you wanted to update a subdomain like `vpn.mikemcfetridge.com`, you would replace `@` with `vpn`).*
Save the file by pressing `CTRL + O`, then hit `Enter`, and exit the editor by pressing `CTRL + X`.
## 3. Managing the Service
Enable and start the background daemon process so that your system tracks and updates your IP automatically on reboots:
<div class="code-block ng-tns-c1605810258-315 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-bash-2"><div class="formatted-code-block-internal-container ng-tns-c1605810258-315"><div class="animated-opacity ng-tns-c1605810258-315"><div class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1605810258-315 ng-star-inserted"><span class="ng-tns-c1605810258-315">Bash</span><div class="buttons ng-tns-c1605810258-315 ng-star-inserted"></div></div></div></div></div>```
# Enable the service to start automatically on system boot
sudo systemctl enable ddclient
# Start the service right now
sudo systemctl start ddclient
# Check the running operational status of the service
sudo systemctl status ddclient
To verify that your configuration is error-free and successfully communicating with Namecheap's servers, run a manual forced update simulation with verbose logging enabled:
<div class="code-block ng-tns-c1605810258-316 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--13"><div class="formatted-code-block-internal-container ng-tns-c1605810258-316"><div class="animated-opacity ng-tns-c1605810258-316"></div></div></div>### Expected Output
Your terminal will print comprehensive initialization flags. Scroll down to the bottom of the output stream and verify that you see a `SUCCESS` confirmation similar to this:
<div class="code-block ng-tns-c1605810258-317 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-plaintext"><div class="formatted-code-block-internal-container ng-tns-c1605810258-317"><div class="animated-opacity ng-tns-c1605810258-317"><div class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1605810258-317 ng-star-inserted"><span class="ng-tns-c1605810258-317">Plaintext</span><div class="buttons ng-tns-c1605810258-317 ng-star-inserted"></div></div></div></div></div>```
opt{daemon} : 0
opt{debug} : 1
...
RECEIVE: <debug><![CDATA[]]></debug>
RECEIVE: </interface-response>
SUCCESS: updating @: good: IP address set to 174.179.116.220