<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Mist - Tag - Fryguy's Blog</title><link>https://fryguy.net/tags/mist/</link><description>Mist - Tag - Fryguy's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 09 Nov 2026 09:00:00 -0500</lastBuildDate><atom:link href="https://fryguy.net/tags/mist/" rel="self" type="application/rss+xml"/><item><title>Protect-RE Filter Generator Update - Mist, TACACS+, DHCP and Custom Rules</title><link>https://fryguy.net/2026/11/09/protect-re-filter-generator-update-mist-tacacs-dhcp-custom-rules/</link><pubDate>Mon, 09 Nov 2026 09:00:00 -0500</pubDate><author>Fryguy</author><guid>https://fryguy.net/2026/11/09/protect-re-filter-generator-update-mist-tacacs-dhcp-custom-rules/</guid><description><![CDATA[<div class="featured-image">
                <img src="/images/posts/protect-re-v2-header.jpg" referrerpolicy="no-referrer">
            </div><p>The <a href="/tools-junos-protect-re/" rel="">Juniper Protect-RE Filter Generator</a> on the <a href="/tools/" rel="">Network Tools</a> page picked up a round of additions. The trigger was simple: we compared it against the <code>protect_re</code> filter a Mist-managed EX4400 actually carries, and found a handful of things a real-world filter needs that the generator didn&rsquo;t cover yet.</p>
<h2 id="whats-new">What&rsquo;s new</h2>
<ul>
<li><strong>Mist-Managed Device.</strong> A Mist switch opens its connections outward, so the filter only has to accept the <em>return</em> traffic. Three optional terms cover it: outbound SSH (TCP source-port 2200), the Mist cloud over HTTPS (443), and NAC RadSec (2083). Each is TCP with <code>tcp-established</code>, so a fresh inbound SYN doesn&rsquo;t match.</li>
<li><strong>TACACS+.</strong> Return traffic from your TACACS+ servers (TCP source-port 49, <code>tcp-established</code>), with the server list pulled live from <code>system tacplus-server</code> using the same <code>apply-path</code> trick the BGP, NTP and RADIUS terms use. It&rsquo;s TCP-only on purpose: TACACS+ doesn&rsquo;t run over UDP, and <code>tcp-established</code> can&rsquo;t match UDP anyway, so a combined TCP/UDP term can only ever match TCP.</li>
<li><strong>DHCP and DHCPv6.</strong> A client option for routers that get their management address by DHCP, and a server/relay option for routers that hand them out. The server/relay term is placed <em>ahead of</em> anti-spoof, because a client&rsquo;s first packet comes from <code>0.0.0.0</code>, which anti-spoof would otherwise discard.</li>
<li><strong>SNMP port 10161.</strong> An optional checkbox for the alternate SNMP port that shows up in Mist-managed switch filters.</li>
<li><strong>Custom rules.</strong> Add your own one-off terms for things the checkboxes don&rsquo;t cover: a CDN host, a monitoring probe, a vendor&rsquo;s update server. Each rule has a source, protocol, ports and an action. Discard rules land right after the fragment check, ahead of every accept; accept rules land after management access. A rule with an IPv6 source goes into the IPv6 filter, and one with no source goes into both. Rules with no match conditions are skipped with a warning rather than quietly becoming &ldquo;accept everything&rdquo;.</li>
<li><strong>More warnings.</strong> The generator now flags any <code>/0</code> source, a custom accept with no source address, and the Mist terms&rsquo; lack of source restriction.</li>
</ul>
<h2 id="why-the-mist-terms-arent-limited-to-mists-ips">Why the Mist terms aren&rsquo;t limited to Mist&rsquo;s IPs</h2>
<p>We wanted to pin those return-traffic terms to the Mist cloud addresses. It turns out <a href="https://networkingdocs.hpe.com/documentation/us/en/software/mist/mist-management/topics/ref/firewall-ports-to-open.html" target="_blank" rel="noopener noreffer ">Juniper doesn&rsquo;t publish an address list</a> for them. The firewall-ports page gives hostnames per region (the outbound-SSH terminator is <code>oc-term.&lt;region&gt;.mist.com</code>, for example) and says the terminator IPs change, so use FQDN-based firewall rules. A Junos firewall filter matches addresses, not hostnames, so any list we generated would quietly go stale.</p>]]></description></item></channel></rss>