<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pf on Linux Colorado</title><link>https://www.linuxcolorado.com/tags/pf/</link><description>Recent content in Pf on Linux Colorado</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 10 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.linuxcolorado.com/tags/pf/index.xml" rel="self" type="application/rss+xml"/><item><title>/ipad-internet off: A Claude Code Skill That Cuts One Device's Internet at the Firewall</title><link>https://www.linuxcolorado.com/post/2026-08-18-ipad-internet-firewall-skill/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.linuxcolorado.com/post/2026-08-18-ipad-internet-firewall-skill/</guid><description>&lt;p&gt;I wanted one command — &lt;code&gt;/ipad-internet off&lt;/code&gt; — that instantly cuts the household iPad&amp;rsquo;s internet, and &lt;code&gt;/ipad-internet on&lt;/code&gt; to give it back. Simple ask. The interesting part is doing it &lt;em&gt;correctly&lt;/em&gt;: instantly (no waiting on a config save), reversibly, without disturbing the LAN (AirPlay, printers, local media should all keep working), and — most importantly — in a way that &lt;strong&gt;can never accidentally knock a different device offline.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It ended up as a &lt;a href="https://docs.claude.com/en/docs/claude-code"&gt;Claude Code&lt;/a&gt; skill backed by a careful bit of &lt;strong&gt;OPNsense&lt;/strong&gt; / &lt;code&gt;pf&lt;/code&gt; design. This post is about that design: why it uses a pf table instead of editing the config, how it survives the iPad&amp;rsquo;s shifting IP and Apple&amp;rsquo;s private Wi-Fi MAC, and the ownership guard that makes the &amp;ldquo;wrong device&amp;rdquo; failure mode structurally impossible.&lt;/p&gt;</description></item></channel></rss>