Affected versions: FreeBSD 12

📖 ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

Host boots but has no IP address, breaking SSH and service discovery.

Environment & Reproduction

After kernel or NIC driver updates, `em0`/`re0` may stay down until manual `ifconfig up`.

Root Cause Analysis

Incorrect `rc.conf` entries, interface name changes, or missing default route settings are common causes.

Quick Triage

Confirm detected interfaces and startup config.

ifconfig -l
ifconfig -a
grep -E 'ifconfig_|defaultrouter' /etc/rc.conf

Step-by-Step Diagnosis

Compare expected NIC name with boot logs and rc scripts.

dmesg | grep -E 'em|re|igb|ix'
service netif status
service routing status
Illustrative mockup for freebsd-12 — freebsd12-cp003-diagnosis.webp
Reviewing rc.conf and interface flags — Illustrative mockup — Progressive Robot

Solution – Primary Fix

Set persistent network values and restart network services.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

sysrc ifconfig_em0='DHCP'
sysrc defaultrouter='192.168.1.1'
service netif restart && service routing restart
Illustrative mockup for freebsd-12 — freebsd12-cp003-fix.webp
Applying persistent interface settings with sysrc — Illustrative mockup — Progressive Robot

Solution – Alternative Approaches

For static addressing, define `ifconfig_em0=’inet 192.168.1.20/24’` and optional `ipv6_defaultrouter`.

Verification & Acceptance Criteria

Reboot test confirms interface auto-up, valid route table, and stable SSH connectivity.

Rollback Plan

Restore previous `/etc/rc.conf` from backup and restart `netif`/`routing`.

Prevention & Hardening

Track interface names in CMDB and validate `rc.conf` via configuration management linting.

`No route to host`, `network unreachable`, missing default route in `netstat -rn`.

Related tutorial: View the step-by-step tutorial for freebsd-12.

View all freebsd-12 tutorials on the Tutorials Hub →

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

`rc.conf(5)`, `netif(8)`, `routing(8)`.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today — we respond within one business day.