<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Dhcp on &gt; Cabronerias de Matu</title>
    <link>https://blog.cabroneria.com/tags/dhcp/</link>
    <description>Recent content in Dhcp on &gt; Cabronerias de Matu</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 06 Apr 2026 09:38:00 -0400</lastBuildDate>
    <atom:link href="https://blog.cabroneria.com/tags/dhcp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>pfSense DHCP Outage a day after installing NetGate Plus 26.03-RELEASE</title>
      <link>https://blog.cabroneria.com/post/008_fun_pfsense_dhcp_outage/</link>
      <pubDate>Mon, 06 Apr 2026 09:38:00 -0400</pubDate>
      <guid>https://blog.cabroneria.com/post/008_fun_pfsense_dhcp_outage/</guid>
      <description>&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;&#xA;&lt;p&gt;On 2026-04-06 at approximately 09:38 EDT, the Kea DHCP service on pfSense (26.03-RELEASE) stopped serving leases on all interfaces. The root cause was a corruption of the &lt;code&gt;&amp;lt;dhcpd&amp;gt;&lt;/code&gt; block in &lt;code&gt;/cf/conf/config.xml&lt;/code&gt;, which caused pfSense to generate an empty Kea interfaces list. Service was restored by activating a previous ZFS boot environment.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;timeline&#34;&gt;Timeline&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Time (EDT)&lt;/th&gt;&#xA;          &lt;th&gt;Event&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;08:54&lt;/td&gt;&#xA;          &lt;td&gt;config.xml drops ~15KB — &lt;code&gt;&amp;lt;dhcpd&amp;gt;&lt;/code&gt; block wiped (config-1775480086.xml &amp;gt; config-1775480087.xml)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;08:54–09:37&lt;/td&gt;&#xA;          &lt;td&gt;Multiple config saves at reduced size; pfSense regenerates Kea config with empty interfaces each time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;09:38&lt;/td&gt;&#xA;          &lt;td&gt;Kea begins logging &lt;code&gt;DHCPSRV_NO_SOCKETS_OPEN&lt;/code&gt;; DHCP stops serving leases&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;09:38–09:41&lt;/td&gt;&#xA;          &lt;td&gt;Kea restarts repeatedly, fails each time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;~09:45&lt;/td&gt;&#xA;          &lt;td&gt;Operator detects outage; accesses box via WireGuard VPN&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;~10:00&lt;/td&gt;&#xA;          &lt;td&gt;Investigation begins&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;~10:30&lt;/td&gt;&#xA;          &lt;td&gt;Root cause identified: empty &lt;code&gt;&amp;lt;dhcpd&amp;gt;&lt;/code&gt; in config.xml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;~10:45&lt;/td&gt;&#xA;          &lt;td&gt;Config restore from backup attempted; Kea config generator continues producing empty interfaces&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;~11:00&lt;/td&gt;&#xA;          &lt;td&gt;ZFS boot environment rollback to &lt;code&gt;default_20260405014509&lt;/code&gt; initiated&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;~11:10&lt;/td&gt;&#xA;          &lt;td&gt;Service restored&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;root-cause&#34;&gt;Root Cause&lt;/h2&gt;&#xA;&lt;p&gt;A pfSense package operation (pfBlockerNG or Suricata reload/apply) triggered a config write at 08:54 that silently cleared the entire &lt;code&gt;&amp;lt;dhcpd&amp;gt;&lt;/code&gt; section from &lt;code&gt;/cf/conf/config.xml&lt;/code&gt;. This is a pfSense 26.x bug: package-initiated config saves can clobber unrelated service configuration blocks.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
