<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Cloudron update recreated docker cloudron network causing database connectivity issues for all apps]]></title><description><![CDATA[<p dir="auto">Hi team,</p>
<p dir="auto">After upgrading to 9.1.7 and a few days later responding to the "reboot required" reminder email, none of my apps would come back up properly - some reported database connection errors so after staring at the logs for a while I set Claude loose on my environment to try and figure out what was going on.</p>
<p dir="auto">After about an hour of token burning I believe the root cause was:</p>
<p dir="auto"><strong>Root cause:</strong> Cloudron's update recreated the Docker cloudron network, assigning a new bridge ID (<code>br-redacted</code>). The nftables <code>ip raw PREROUTING</code> chain had stale security rules from the OLD bridge ID (<code>br-also-redacted</code>). These stale rules appeared BEFORE the new bridge's rules and dropped all container-to-database packets at the raw level — BEFORE the FORWARD chain was even reached.</p>
<p dir="auto"><strong>Why:</strong> Cloudron adds new bridge rules to <code>ip raw PREROUTING</code> when the network is created but does NOT remove old rules for the previous bridge ID. Old rules silently drop all traffic from containers on the new bridge to database IPs.</p>
<p dir="auto"><strong>How to diagnose:</strong></p>
<ol>
<li>Check <code>sudo nft list table ip raw</code> for rules with old bridge IDs that DROP container IPs</li>
<li>Look for high counters on <code>iifname != "br-XXXXXXXX"</code> rules — that's the stale rule doing the dropping</li>
<li>The iptables FORWARD chain counter for the database IP will show 0 (packets never reach FORWARD)</li>
<li>tcpdump on the veth shows SYNs leaving the container, but no SYN-ACKs return</li>
</ol>
<p dir="auto"><strong>Fix:</strong></p>
<pre><code class="language-bash">sudo nft -a list chain ip raw PREROUTING | grep br-&lt;OLD-ID&gt;  # find stale rule handles
sudo nft delete rule ip raw PREROUTING handle &lt;N&gt;             # delete each stale rule
</code></pre>
<p dir="auto">Delete all rules referencing the old bridge ID. The new bridge rules (for the current bridge) remain and are correct.</p>
<p dir="auto"><strong>How to apply:</strong> After any Cloudron update that changes the Docker network bridge ID, check <code>nft list table ip raw</code> for stale bridge rules. Also check after any reboot where Docker recreation of the cloudron network is suspected.</p>
<p dir="auto">Hopefully this helps anyone else who encounters this issue - it may be isolated to me, I don't know, but I'm really impressed that Claude was able to figure this out.</p>
<p dir="auto"><strong>Logs:</strong> I did not capture the <code>cloudron-support --troubleshoot</code> for this case as I've resolved the issue, but can do if the dev team thinks this will help them figure out what went wrong.</p>
]]></description><link>https://forum.cloudron.io/topic/15490/cloudron-update-recreated-docker-cloudron-network-causing-database-connectivity-issues-for-all-apps</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Jul 2026 10:42:10 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/15490.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 May 2026 05:06:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Fri, 22 May 2026 16:18:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/joseph" aria-label="Profile: joseph">@<bdi>joseph</bdi></a> thank you so much!  What a wild ride this was - I found the smoking gun by checking package manager logs:</p>
<p dir="auto">On 2026-03-29  21:23:20 I installed prometheus-node-exporter to ship metrics to my Grafana monitoring stack - apparently the workflow also installed iptables-persistent which installed netfilter-persistent as a dependency.  why, I don't know - but lesson learned.</p>
]]></description><link>https://forum.cloudron.io/post/125018</link><guid isPermaLink="true">https://forum.cloudron.io/post/125018</guid><dc:creator><![CDATA[leighmhart]]></dc:creator><pubDate>Fri, 22 May 2026 16:18:59 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Fri, 22 May 2026 15:27:06 GMT]]></title><description><![CDATA[<p dir="auto">Alright, found the issue! This magical command helped me debug the complete firewall rules:</p>
<pre><code>{ echo '=== iptables-save ==='; iptables-save; \
  echo '=== ip6tables-save ==='; ip6tables-save; \
  echo '=== nft ruleset ==='; nft list ruleset; \
  echo '=== ip route ==='; ip route; \
  echo '=== ip -6 route ==='; ip -6 route; \
  echo '=== ip a ==='; ip -br addr; \
  echo '=== bridges ==='; bridge link; } &gt; /tmp/netdump.txt
</code></pre>
<p dir="auto">What I found is that it had PREROUTING rules pointing to a stale bridge. The issue was that a package called <code>netfilter-persistent</code> was enabled on the server. <code>netfilter-persistent</code> will dump the current iptable rules at /etc/ipta/bles/* and restore it on reboot. Cloudron recreates the <code>cloudron</code> docker network during some updates like 9.1.7. When the network got re-created, it got a new bridge network id. However, the old iptable rules were referencing the previously dead bridge id and when restoring corrupting iptables. The solution was simply to purge <code>netfilter-persistent</code> package.</p>
]]></description><link>https://forum.cloudron.io/post/125014</link><guid isPermaLink="true">https://forum.cloudron.io/post/125014</guid><dc:creator><![CDATA[joseph]]></dc:creator><pubDate>Fri, 22 May 2026 15:27:06 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Fri, 22 May 2026 13:46:27 GMT]]></title><description><![CDATA[<p dir="auto">I have been debugging this set up on support . The issue is that 172.18.x.x for some reason does not work on that VM. The minimal repo is (I cleared all containers, cleared docker and just the below):</p>
<pre><code>
docker network create --subnet=172.18.0.0/16 cloudron
docker run -d --name c1 --network cloudron alpine sleep 1d
docker run -d --name c2 --network cloudron alpine sleep 1d
docker exec c1 sh -c "apk add --no-cache iputils &gt;/dev/null &amp;&amp; ping -4 -c 3 c2"
</code></pre>
<p dir="auto">The above does not work. Changing network to anything other than 172.18, say 172.19 works. I suspect somehow host rules and/or host network is interfering with the docker network. I am not sure how this is possible, but it does interfere <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f914.png?v=af5271e93de" class="not-responsive emoji emoji-android emoji--thinking_face" style="height:23px;width:auto;vertical-align:middle" title=":thinking_face:" alt="🤔" /></p>
]]></description><link>https://forum.cloudron.io/post/125008</link><guid isPermaLink="true">https://forum.cloudron.io/post/125008</guid><dc:creator><![CDATA[joseph]]></dc:creator><pubDate>Fri, 22 May 2026 13:46:27 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Mon, 18 May 2026 11:05:58 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/leighmhart" aria-label="Profile: leighmhart">@<bdi>leighmhart</bdi></a> can you write to me on <a href="mailto:support@cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">support@cloudron.io</a> ?  We can take a look</p>
]]></description><link>https://forum.cloudron.io/post/124834</link><guid isPermaLink="true">https://forum.cloudron.io/post/124834</guid><dc:creator><![CDATA[joseph]]></dc:creator><pubDate>Mon, 18 May 2026 11:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Thu, 14 May 2026 23:06:41 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a> <a href="/post/124618">said</a>:</p>
<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/leighmhart" aria-label="Profile: leighmhart">@<bdi>leighmhart</bdi></a></p>
<p dir="auto">At this point your Cloudron system has become a black box, and we can not analyse this issue from just forum posts.<br />
Since you have run some nft commands, please ensure that the service <code>nftables.service</code> is not enabled or running.</p>
<pre><code class="language-bash"> systemctl disable --now nftables.service
</code></pre>
<p dir="auto"><code>iptables</code> and <code>nftables</code> can be run together, but we do not support this at all and it will cause issues if not done properly.</p>
<p dir="auto">Reboot your system after that. This should ensure that the Cloudron default for iptables is restored.<br />
If the issue persists, please report back here.</p>
</blockquote>
<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a>,</p>
<pre><code class="language-bash">root@cloudron:~# systemctl status nftables.service
○ nftables.service - nftables
     Loaded: loaded (/lib/systemd/system/nftables.service; disabled; vendor pre&gt;
     Active: inactive (dead)
       Docs: man:nft(8)
             http://wiki.nftables.org
</code></pre>
<p dir="auto">I did not enable nftables, I just used those commands to resolve the issue with the tables - the system is currently in a broken state if you are able to take a look.</p>
<p dir="auto">appreciate your continued support!</p>
<p dir="auto">Regards</p>
<p dir="auto">Leigh</p>
]]></description><link>https://forum.cloudron.io/post/124741</link><guid isPermaLink="true">https://forum.cloudron.io/post/124741</guid><dc:creator><![CDATA[leighmhart]]></dc:creator><pubDate>Thu, 14 May 2026 23:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Tue, 12 May 2026 10:59:05 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/leighmhart" aria-label="Profile: leighmhart">@<bdi>leighmhart</bdi></a></p>
<p dir="auto">At this point your Cloudron system has become a black box, and we can not analyse this issue from just forum posts.<br />
Since you have run some nft commands, please ensure that the service <code>nftables.service</code> is not enabled or running.</p>
<pre><code class="language-bash"> systemctl disable --now nftables.service
</code></pre>
<p dir="auto"><code>iptables</code> and <code>nftables</code> can be run together, but we do not support this at all and it will cause issues if not done properly.</p>
<p dir="auto">Reboot your system after that. This should ensure that the Cloudron default for iptables is restored.<br />
If the issue persists, please report back here.</p>
]]></description><link>https://forum.cloudron.io/post/124618</link><guid isPermaLink="true">https://forum.cloudron.io/post/124618</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Tue, 12 May 2026 10:59:05 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Sun, 10 May 2026 04:52:28 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/necrevistonnezr" aria-label="Profile: necrevistonnezr">@<bdi>necrevistonnezr</bdi></a> <a href="/post/124532">said</a>:</p>
<p dir="auto">Also:</p>
<blockquote>
<p dir="auto">[FAIL]  Could not load dashboard domain.<br />
Hairpin NAT is not working. Please check if your router supports it</p>
</blockquote>
<p dir="auto"><a href="https://docs.cloudron.io/installation/home-server#nat-loopback" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/installation/home-server#nat-loopback</a></p>
</blockquote>
<p dir="auto">My PVE physical host is in a datacenter and all access to the apps are either public or private over VPN from my home site.  I use split DNS where it matters which is preferable to NAT reflection in my use cases.</p>
<p dir="auto">Cheers</p>
<p dir="auto">Leigh</p>
]]></description><link>https://forum.cloudron.io/post/124534</link><guid isPermaLink="true">https://forum.cloudron.io/post/124534</guid><dc:creator><![CDATA[leighmhart]]></dc:creator><pubDate>Sun, 10 May 2026 04:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Sun, 10 May 2026 04:45:03 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/necrevistonnezr" aria-label="Profile: necrevistonnezr">@<bdi>necrevistonnezr</bdi></a> <a href="/post/124531">said</a>:</p>
<blockquote>
<p dir="auto">2026-05-09: After <strong>Proxmox</strong> <strong>host</strong> kernel update + reboot</p>
</blockquote>
<p dir="auto">That could be the culprit… (e.g. LXC is not supported)<br />
<a href="https://forum.cloudron.io/tags/proxmox">https://forum.cloudron.io/tags/proxmox</a></p>
<p dir="auto">Have you already eliminated Proxmox and /or your network setup as the source of errors?</p>
</blockquote>
<p dir="auto">I run Cloudron on a dedicated VM, not as an LXC.  It has been running flawlessly for about six months, with regular updates as and when they come out (to both Cloudron and PVE).  The upgrade to 9.1.7 and today's PVE kernel update reboot are the only times this issue has occurred.</p>
<p dir="auto"><img src="/assets/uploads/files/1778388285898-6aa44b01-8b46-4f40-b1b8-48e85269aaee-image.jpeg" alt="6aa44b01-8b46-4f40-b1b8-48e85269aaee-image.jpeg" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.cloudron.io/post/124533</link><guid isPermaLink="true">https://forum.cloudron.io/post/124533</guid><dc:creator><![CDATA[leighmhart]]></dc:creator><pubDate>Sun, 10 May 2026 04:45:03 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Sun, 10 May 2026 04:43:56 GMT]]></title><description><![CDATA[<p dir="auto">Also:</p>
<blockquote>
<p dir="auto">[FAIL]  Could not load dashboard domain.<br />
Hairpin NAT is not working. Please check if your router supports it</p>
</blockquote>
<p dir="auto"><a href="https://docs.cloudron.io/installation/home-server#nat-loopback" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/installation/home-server#nat-loopback</a></p>
]]></description><link>https://forum.cloudron.io/post/124532</link><guid isPermaLink="true">https://forum.cloudron.io/post/124532</guid><dc:creator><![CDATA[necrevistonnezr]]></dc:creator><pubDate>Sun, 10 May 2026 04:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Sun, 10 May 2026 04:41:44 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">2026-05-09: After <strong>Proxmox</strong> <strong>host</strong> kernel update + reboot</p>
</blockquote>
<p dir="auto">That could be the culprit… (e.g. LXC is not supported)<br />
<a href="https://forum.cloudron.io/tags/proxmox">https://forum.cloudron.io/tags/proxmox</a></p>
<p dir="auto">Have you already eliminated Proxmox and /or your network setup as the source of errors?</p>
]]></description><link>https://forum.cloudron.io/post/124531</link><guid isPermaLink="true">https://forum.cloudron.io/post/124531</guid><dc:creator><![CDATA[necrevistonnezr]]></dc:creator><pubDate>Sun, 10 May 2026 04:41:44 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Sun, 10 May 2026 04:38:57 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/necrevistonnezr" aria-label="Profile: necrevistonnezr">@<bdi>necrevistonnezr</bdi></a> <a href="/post/124529">said</a>:</p>
<p dir="auto">Are those posts just AI gibberish to keep people busy?</p>
</blockquote>
<p dir="auto">No, as I said in my original post, I used AI to troubleshoot the issue - I'm just trying to provide as much information as possible to get to the issue fixed permanently.</p>
]]></description><link>https://forum.cloudron.io/post/124530</link><guid isPermaLink="true">https://forum.cloudron.io/post/124530</guid><dc:creator><![CDATA[leighmhart]]></dc:creator><pubDate>Sun, 10 May 2026 04:38:57 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Sun, 10 May 2026 04:39:40 GMT]]></title><description><![CDATA[<p dir="auto">Are those posts just AI gibberish to keep people busy?</p>
]]></description><link>https://forum.cloudron.io/post/124529</link><guid isPermaLink="true">https://forum.cloudron.io/post/124529</guid><dc:creator><![CDATA[necrevistonnezr]]></dc:creator><pubDate>Sun, 10 May 2026 04:39:40 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Sun, 10 May 2026 03:43:47 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> and team, that's strange, maybe that was Claude's method for determining what the issue was but it certainly seemed to correct the problem (by using nft to clear the rules).</p>
<p dir="auto">Here's a summary of a re-occurrence after I had to reboot my PVE server (kernel updates, anyone)?</p>
<p dir="auto">After any event that causes Cloudron to recreate the Docker <code>cloudron</code> network bridge (software update, host reboot), Cloudron adds new <code>ip raw</code> and <code>ip6 raw</code> PREROUTING rules for the new bridge interface, but does <strong>not</strong> remove the old rules for the previous bridge. The stale rules appear <strong>before</strong> the new rules in the chain and drop all container-to-database traffic, taking all apps offline.</p>
<p dir="auto">This has been reproduced twice:</p>
<ul>
<li><strong>2026-05-07</strong>: After Cloudron 9.1.7 software update + reboot</li>
<li><strong>2026-05-09</strong>: After Proxmox host kernel update + reboot</li>
</ul>
<hr />
<h2>Environment</h2>
<pre><code>cloudron-support --troubleshoot output:

Vendor: QEMU Product: Standard PC (i440FX + PIIX, 1996)
Linux: 5.15.0-177-generic
Ubuntu: jammy 22.04
Cloudron: 9.1.7
Execution environment: kvm
Processor: Intel(R) Xeon(R) E-2288G CPU @ 3.70GHz x 8
RAM: 24604988KB
Disk: /dev/sda2       384G
[OK]    node version is correct
[OK]    IPv6 is enabled in kernel. No public IPv6 address
[OK]    docker is running
[OK]    docker version is correct
[OK]    MySQL is running
[OK]    netplan is good
[OK]    DNS is resolving via systemd-resolved
[OK]    unbound is running
[OK]    nginx is running
[OK]    dashboard cert is valid
[OK]    dashboard is reachable via loopback
[OK]    No pending database migrations
[OK]    Service 'mysql' is running and healthy
[OK]    Service 'postgresql' is running and healthy
[WARN]  Service 'mongodb' is not running (may be lazy-stopped)
[OK]    Service 'mail' is running and healthy
[OK]    Service 'graphite' is running and healthy
[OK]    Service 'sftp' is running and healthy
[OK]    box v9.1.7 is running
[FAIL]  Could not load dashboard domain.
Hairpin NAT is not working. Please check if your router supports it
</code></pre>
<hr />
<h2>Technical Detail</h2>
<h3>Network layout</h3>
<ul>
<li>Cloudron Docker network: <code>172.18.0.0/16</code> (IPv4), <code>fd00:c107:d509::/64</code> (IPv6)</li>
<li>MySQL container static IP: <code>172.18.30.1</code> / <code>fd00:c107:d509::3</code></li>
<li>PostgreSQL container static IP: <code>172.18.30.2</code></li>
<li>Old bridge (pre-reboot): <code>br-c66a5d9c5bbc</code></li>
<li>New bridge (post-reboot): <code>br-12c45f5b526a</code></li>
</ul>
<h3>The bug</h3>
<p dir="auto">Cloudron writes security rules to <code>ip raw PREROUTING</code> and <code>ip6 raw PREROUTING</code> that protect service container IPs. The rule pattern is:</p>
<pre><code>iifname != "br-&lt;ID&gt;" ip daddr &lt;service-ip&gt; drop
</code></pre>
<p dir="auto">This means: "if a packet destined for this service IP did NOT arrive on the cloudron bridge, drop it."</p>
<p dir="auto">When the bridge ID changes (due to Docker network recreation), Cloudron correctly <strong>adds</strong> new rules for the new bridge ID but <strong>does not remove</strong> the old rules. The old rules sit earlier in the chain and match all traffic because the current bridge (<code>br-12c45f5b526a</code>) is not equal to the old bridge (<code>br-c66a5d9c5bbc</code>). Every packet from an app container to MySQL or PostgreSQL is dropped at the <code>raw</code> level — before connection tracking, before the FORWARD chain.</p>
<p dir="auto">Both the IPv4 (<code>ip raw</code>) and IPv6 (<code>ip6 raw</code>) tables are affected.</p>
<h3>State after second reboot (stale rules, handles 3–12 in both tables)</h3>
<p dir="auto"><strong>IPv4 (<code>sudo nft list chain ip raw PREROUTING</code>)</strong></p>
<pre><code>iifname != "br-c66a5d9c5bbc" ip daddr 172.18.30.2 counter packets 457 drop  # handle 3
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.30.3 counter packets 0   drop  # handle 4
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.30.4 counter packets 0   drop  # handle 5
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.30.1 counter packets 506 drop  # handle 6  ← MySQL
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.30.6 counter packets 0   drop  # handle 7
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.30.5 counter packets 0   drop  # handle 8
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.0.2  counter packets 0   drop  # handle 9
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.18.x counter packets 0   drop  # handle 10
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.16.x counter packets 0   drop  # handle 11
iifname != "br-c66a5d9c5bbc" ip daddr 172.18.20.x counter packets 0   drop  # handle 12
# (correct new-bridge rules follow from handle 13+, but are never reached)
</code></pre>
<p dir="auto"><strong>IPv6 (<code>sudo nft list chain ip6 raw PREROUTING</code>)</strong></p>
<pre><code>iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::3 counter packets 203  drop  # handle 3  ← MySQL
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::4 counter packets 0    drop  # handle 4
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::5 counter packets 0    drop  # handle 5
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::6 counter packets 0    drop  # handle 6
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::8 counter packets 84   drop  # handle 7
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::a counter packets 1005 drop  # handle 8
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::b counter packets 2832 drop  # handle 9
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::2 counter packets 0    drop  # handle 10
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::9 counter packets 0    drop  # handle 11
iifname != "br-c66a5d9c5bbc" ip6 daddr fd00:c107:d509::7 counter packets 387  drop  # handle 12
</code></pre>
<h3>Secondary effect (Roundcube / IPv6)</h3>
<p dir="auto">On the second occurrence, restarting the Roundcube container after the IPv4 fix caused its startup script to connect to MySQL using the hostname <code>mysql</code>. Docker DNS returns the IPv6 address first (<code>fd00:c107:d509::3</code>). The MySQL client tried IPv6, which was blocked by the stale <code>ip6 raw</code> rules, causing the startup to hang for the full TCP timeout duration. This app remained unhealthy until the <code>ip6 raw</code> stale rules were also removed.</p>
<hr />
<h2>Diagnosis steps</h2>
<ol>
<li>
<p dir="auto">Check packet counters on raw rules:</p>
<pre><code class="language-bash">sudo nft list chain ip raw PREROUTING
sudo nft list chain ip6 raw PREROUTING
</code></pre>
<p dir="auto">Look for rules referencing an old bridge ID with non-zero drop counters.</p>
</li>
<li>
<p dir="auto">Confirm the current bridge ID:</p>
<pre><code class="language-bash">sudo docker network inspect cloudron | grep -i bridge
</code></pre>
</li>
<li>
<p dir="auto">Add a counter to the FORWARD chain to confirm packets never reach it:</p>
<pre><code class="language-bash">sudo nft add rule ip filter FORWARD ip daddr 172.18.30.1 counter
# zero counter confirms packets are being dropped before FORWARD
</code></pre>
</li>
</ol>
<hr />
<h2>Manual fix (both occurrences required this)</h2>
<pre><code class="language-bash"># IPv4
for h in 3 4 5 6 7 8 9 10 11 12; do
  sudo nft delete rule ip raw PREROUTING handle $h
done

# IPv6
for h in 3 4 5 6 7 8 9 10 11 12; do
  sudo nft delete rule ip6 raw PREROUTING handle $h
done
</code></pre>
<p dir="auto"><strong>Note:</strong> The handle numbers were 3–12 in both occurrences but may vary. Identify them with:</p>
<pre><code class="language-bash">sudo nft -a list chain ip raw PREROUTING | grep '&lt;old-bridge-id&gt;'
sudo nft -a list chain ip6 raw PREROUTING | grep '&lt;old-bridge-id&gt;'
</code></pre>
<hr />
<h2>Expected behaviour</h2>
<p dir="auto">When Cloudron recreates the Docker <code>cloudron</code> network and generates new <code>raw PREROUTING</code> rules for the new bridge, it should remove (or replace) all existing rules referencing the previous bridge ID. Accumulating stale drop rules across reboots/updates will eventually break all container networking.</p>
<hr />
<p dir="auto">If you like when I reboot next, I can capture more logs before attempting to fix again - let me know what you might like me to capture.  Thanks!</p>
]]></description><link>https://forum.cloudron.io/post/124528</link><guid isPermaLink="true">https://forum.cloudron.io/post/124528</guid><dc:creator><![CDATA[leighmhart]]></dc:creator><pubDate>Sun, 10 May 2026 03:43:47 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Thu, 07 May 2026 11:16:23 GMT]]></title><description><![CDATA[<p dir="auto">The analysis is wrong. Cloudron does not use nft, it uses iptables. I think if you have logs at hand, we should start from there. That will give us a better idea of what went wrong.</p>
]]></description><link>https://forum.cloudron.io/post/124480</link><guid isPermaLink="true">https://forum.cloudron.io/post/124480</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Thu, 07 May 2026 11:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to Cloudron update recreated docker cloudron network causing database connectivity issues for all apps on Thu, 07 May 2026 06:12:44 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/leighmhart" aria-label="Profile: leighmhart">@<bdi>leighmhart</bdi></a> and welcome to the Cloudron forum</p>
<p dir="auto">Thanks for the detailed report.<br />
We will have to look into this.</p>
]]></description><link>https://forum.cloudron.io/post/124465</link><guid isPermaLink="true">https://forum.cloudron.io/post/124465</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Thu, 07 May 2026 06:12:44 GMT</pubDate></item></channel></rss>