//nbkelley /homelab

OPNsense Interface Reassignment & NIC Troubleshooting

OPNsense Interface Reassignment & NIC Troubleshooting#

What Was Established#

Procedures for reassigning WAN/LAN interfaces via the OPNsense console following a system upgrade, and troubleshooting connectivity loss after a physical NIC replacement.

Key Decisions#

  • Console-Based Reassignment: Use the OPNsense console menu (1. Assign Interfaces) to map physical ports to WAN/LAN roles.
  • Network-Only Reset: If configuration is lost, use 2. Reset to factory defaults and select “Reset only the network configuration” to preserve other settings.
  • Manual Config Edit: Fallback to vi /conf/config.xml to manually adjust <interfaces> tags (<wan>, <lan>) if the menu fails.
  • NIC Troubleshooting Workflow: Verify driver recognition (vmstat -i), link status (ifconfig), and system logs (dmesg). Check NAT/Outbound and LAN firewall rules. Isolate hardware issues by reverting to the original NIC.

Current Configuration#

  • Gateway: UCG Express “Olorín” (OPNsense) at 192.168.1.1.
  • VLANs: Gandalf (192.168.1.x), Mithrandir (192.168.2.x), Tharkûn (192.168.3.x), Rivendell (192.168.4.x).
  • Switch: Netgear MS308E (trunk/access VLANs managed via OPNsense).

Historical Notes#

  • Procedures documented for OPNsense upgrades where interface assignments reset.
  • Troubleshooting steps refined for scenarios involving physical NIC swaps (e.g., 2.5GbE to 1GbE) causing interface loss.
  • Note: Driver support (Intel igb/em, Realtek) and firmware updates may be required for newer NICs.

Open Questions#

  • Specific driver requirements for the current UCG Express “Olorín” gateway NICs.
  • Automation of interface reassignment to prevent manual console steps during future upgrades.

Sources#

  • ingested/chats/034-Reassign WAN and LAN on OPNsense Post-Upgrade.md
  • Historical DeepSeek conversation on OPNsense console interface reassignment and NIC troubleshooting.

Windows VM Installation Troubleshooting

Windows VM Installation Troubleshooting#

What Was Established#

Troubleshooting guide for Windows installation when the local disk does not appear in the partitioning screen during setup.

Key Troubleshooting Steps#

  1. Check disk detection in BIOS/UEFI — If the disk doesn’t appear in BIOS, it’s a hardware issue (loose cable, faulty drive, wrong SATA port).

  2. Load storage drivers — Modern NVMe/RAID controllers may need drivers loaded during setup via Shift + F10 → “Load Driver”.

VS Code Live Server Path Configuration

VS Code Live Server Path Configuration#

What Was Established#

Resolved the “Cannot GET /page-name” error in VS Code Live Server by implementing a standardized project directory structure and correct relative pathing. The core fix involves ensuring the server root is set to the project root and using ../ to traverse up from subdirectories.

Key Decisions#

  • Project Rooting: Always open the top-level project folder in VS Code rather than individual subfolders (like html/). This allows Live Server to correctly resolve paths relative to the project root.
  • Directory Separation: Adopted a structured hierarchy to separate assets, logic, and presentation.

Current Configuration#

Project Structure#

project-root/
├── Assets/
│   ├── icons/
│   └── images/
├── html/
│   ├── index.html
│   ├── about.html
│   └── contact.html
├── scripts/
│   └── main.js
└── Styles/
    └── style.css

Pathing Rules (when working inside html/)#

When files are located within the html/ subdirectory, all links to external directories must use the ../ prefix to exit the html/ folder first.

Proxmox Network Troubleshooting

Proxmox Network Troubleshooting#

What Was Established#

Troubleshooting steps for resolving connectivity loss to Proxmox nodes, specifically addressing IP conflicts and subnet mismatches.

Key Decisions#

  • Static IP Reservation: Proxmox nodes should always have a static IP (e.g., 192.168.0.69) that is excluded from the OPNsense DHCP pool.

Current Configuration#

Troubleshooting Workflow#

  1. Verify Connectivity: ping 192.168.0.69.
  2. Check Local Config: Log in via console and verify /etc/network/interfaces:
    auto vmbr0
    iface vmbr0 inet static
        address 192.168.0.69/24
        gateway 192.168.0.1
        bridge-ports enp3s0
  3. Check for IP Conflicts: Ensure no other device (via DHCP) has been assigned 192.168.0.69.
  4. ARP Cache: Clear local ARP cache if IP conflicts are suspected: arp -d 192.168.0.69.

Historical Notes#

Identified an issue where a DHCP client was assigned 192.168.0.69, conflicting with the Proxmox static IP.

Troubleshooting DeepSeek Language Switching

Troubleshooting DeepSeek Language Switching#

What Was Established#

Local DeepSeek models may intermittently switch from English to Chinese mid-response. This is typically caused by training bias (heavy Chinese dataset influence), loss of context during long conversations, or mixed-language input prompts.

Key Decisions#

To maintain English-only responses, the following parameters and prompting strategies should be applied:

  • Explicit Instruction: Always include a system-level or initial prompt instruction to respond exclusively in English.
  • Temperature Control: Use lower temperature settings (e.g., 0.3) to make the model more deterministic and less likely to drift.
  • Repetition Penalty: Implement a repetition_penalty (e.g., 1.2) to discourage the model from falling into repetitive patterns that might trigger language switching.

Current Configuration#

System Message Pattern#

When using APIs or local inference engines that support system roles:

Troubleshooting Network Interface Changes

Troubleshooting Network Interface Changes#

What Was Established#

When replacing a physical Network Interface Card (NIC)—for example, swapping a 2.5GbE card for a 1GbE card—the system will lose connectivity if the software configuration still references the old interface name.

Key Decisions#

Connectivity loss after a hardware swap is usually due to a mismatch in the bridge-ports setting within the network configuration. The new NIC will likely have a different kernel interface name (e.g., changing from enp0s1 to enp0s2).