C1: pin ringtail wired IP to 192.168.1.21 (static)
Removes DHCP lease renewal as a failure mode on ringtail after an outage on 2026-05-12 where the IP and routes silently disappeared from enp5s0 without any kernel link event. NetworkManager stays enabled for wireless fallback but no longer manages the wired interface. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
dc0916a548
commit
d0b5423135
3 changed files with 27 additions and 1 deletions
1
docs/changelog.d/ringtail-static-ip.infra.md
Normal file
1
docs/changelog.d/ringtail-static-ip.infra.md
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Pin ringtail's wired IP to `192.168.1.21` via NixOS scripted networking; NetworkManager no longer manages `enp5s0`. Removes DHCP lease renewal as a failure mode after a silent lease teardown took ringtail offline.
|
||||||
|
|
@ -25,6 +25,19 @@ Service host and gaming PC. Custom-built PC running NixOS.
|
||||||
| **OS** | NixOS 25.11 (Sway/Wayland) |
|
| **OS** | NixOS 25.11 (Sway/Wayland) |
|
||||||
| **Tailscale hostname** | `ringtail.tail8d86e.ts.net` |
|
| **Tailscale hostname** | `ringtail.tail8d86e.ts.net` |
|
||||||
|
|
||||||
|
## Networking
|
||||||
|
|
||||||
|
| Property | Value |
|
||||||
|
|----------|-------|
|
||||||
|
| **Interface (wired)** | `enp5s0` |
|
||||||
|
| **IP** | `192.168.1.21/24` (static, set by NixOS scripted networking) |
|
||||||
|
| **Gateway** | `192.168.1.1` (UX7) |
|
||||||
|
| **DNS** | `192.168.1.1`, `1.1.1.1` (used as Tailscale's upstream resolvers; `/etc/resolv.conf` is owned by Tailscale's MagicDNS at `100.100.100.100`) |
|
||||||
|
| **DHCP reservation** | UniFi "Fixed IP" tied to ringtail's MAC; belt-and-suspenders so the UX7 won't lease `192.168.1.21` to anyone else even though ringtail no longer asks for it |
|
||||||
|
| **Wireless** | `wlp6s0` still managed by NetworkManager as a fallback path |
|
||||||
|
|
||||||
|
NetworkManager is enabled but explicitly excluded from managing `enp5s0` via `networking.networkmanager.unmanaged = [ "interface-name:enp5s0" ]`. The wired address is configured by a deterministic `network-addresses-enp5s0.service` oneshot — no daemon, no lease, no renewal.
|
||||||
|
|
||||||
## Software
|
## Software
|
||||||
|
|
||||||
Managed declaratively via `nixos/ringtail/configuration.nix`. Home-manager handles ringtail-specific sway/waybar config; chezmoi manages cross-platform dotfiles.
|
Managed declaratively via `nixos/ringtail/configuration.nix`. Home-manager handles ringtail-specific sway/waybar config; chezmoi manages cross-platform dotfiles.
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,20 @@ in
|
||||||
systemd.tpm2.enable = false;
|
systemd.tpm2.enable = false;
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
|
# Wired interface (enp5s0) uses a static IP configured by NixOS scripted
|
||||||
|
# networking; NetworkManager is left enabled for the wireless fallback only.
|
||||||
networking.hostName = "ringtail";
|
networking.hostName = "ringtail";
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
unmanaged = [ "interface-name:enp5s0" ];
|
||||||
|
};
|
||||||
|
networking.useDHCP = false;
|
||||||
|
networking.interfaces.enp5s0.ipv4.addresses = [{
|
||||||
|
address = "192.168.1.21";
|
||||||
|
prefixLength = 24;
|
||||||
|
}];
|
||||||
|
networking.defaultGateway = "192.168.1.1";
|
||||||
|
networking.nameservers = [ "192.168.1.1" "1.1.1.1" ];
|
||||||
|
|
||||||
# Time zone
|
# Time zone
|
||||||
time.timeZone = "America/Los_Angeles";
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue