{"id":53,"date":"2026-10-08T18:37:01","date_gmt":"2026-10-08T18:37:01","guid":{"rendered":"https:\/\/wordpress.theicealphawolfden.com\/?p=53"},"modified":"2026-10-08T19:08:25","modified_gmt":"2026-10-08T19:08:25","slug":"building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet","status":"publish","type":"post","link":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/","title":{"rendered":"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet"},"content":{"rendered":"\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>ONE YEAR OF RUNNING MY OWN NETWORK \u00b7 UPDATED 8 OCTOBER 2026<\/strong><\/p>\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The server stayed. The setup evolved.<\/h2>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">About a year ago, I turned an old gaming PC into my own home-network gateway. The first version used Ubuntu, dnsmasq, nftables, and a WireGuard tunnel to Proton VPN. Since then, <strong>Pi-hole has become part of the everyday setup, and I now run the network without a VPN<\/strong>.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">This is the build story and the year that followed: what I put in place, the problems that showed up when real devices used it, what the machine costs to keep running, and the camera-recorder idea I have been working towards.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>ABOUT ONE YEAR<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Used as part of my home network; this is not a claim of one year of uninterrupted uptime.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>CURRENT CORE<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>Ryzen 7 3700X \u00b7 24 GB RAM<\/strong><br>Ubuntu Server 26 with GNOME, <strong>nftables<\/strong>, and <strong>Pi-hole<\/strong>. No VPN in the current configuration.<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Over the past few years, the internet has stopped feeling like the free, open space many of us grew up with. Companies want more accounts, more permissions, more data. Governments talk about safety while privacy becomes something ordinary people have to argue for. I got tired of feeling that my only choice was to accept whatever settings someone else had picked.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">So I built something I could inspect and change myself. When the first VPN connection worked, it felt like taking back a piece of control. Like boarding up the broken windows of a house I still wanted to live in.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Getting that first working configuration in place took me about <strong>two hours<\/strong>. Living with it for a year is a much bigger story. A working tunnel is a starting point. Phones, smart-home devices, DNS, power consumption, software support, and everyday use are what turn an experiment into home infrastructure.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/i.ibb.co\/YFzGr97c\/Ethernet-connector.webp\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/i.ibb.co\/YFzGr97c\/Ethernet-connector.webp\" alt=\"Two transparent RJ45 Ethernet connectors on yellow cables.\" width=\"3227\" height=\"1885\" style=\"width:100%;height:auto;border-radius:12px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption class=\"wp-element-caption\" style=\"color:#b8ccd9\">An Ethernet connector, photographed by Wikideas1. CC0. An illustration, not a photograph of my own equipment. <a style=\"color:#8bd4f7\" href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Ethernet_connector.webp\">Source<\/a> \u00b7 <a style=\"color:#8bd4f7\" href=\"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/\">CC0<\/a>. <a style=\"color:#8bd4f7\" href=\"https:\/\/i.ibb.co\/YFzGr97c\/Ethernet-connector.webp\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">Why I bothered in the first place<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I do not want my digital life treated as a product that everybody else gets to trade. That feeling has not changed. What has changed is how precisely I describe what my server can do.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">An ISP can observe connection metadata, including destination IP addresses, timing, and traffic volume. Ordinary unencrypted DNS can reveal domain lookups. <strong>HTTPS already protects the contents of supported web connections<\/strong>, so it would be wrong to say an ISP can simply read every search term, page, or private message. The websites and apps I give information to are a different part of the picture. <a style=\"color:#8bd4f7\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/HTTPS\">HTTPS explained by MDN<\/a>.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">My concern about the UK\u2019s Online Safety Act and the EU debate often called \u201cChat Control\u201d was part of the motivation. I oppose designs that make inspecting private communication the price of using it. A home gateway gives me control over my network, but it cannot change what a service does with information I submit, or prevent software inspecting data on a device before encryption.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>The privacy debate needs accurate facts<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Ofcom\u2019s guidance published on <strong>8 May 2026<\/strong> describes technology-notice powers for terrorism and child sexual exploitation and abuse content, with requirements including necessity, proportionality, and technology accreditation. That is different from a blanket claim that every private message is already scanned. <a style=\"color:#8bd4f7\" href=\"https:\/\/www.ofcom.org.uk\/online-safety\/illegal-and-harmful-content\/consultation-technology-notices\">Ofcom\u2019s published framework<\/a>.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The Council\u2019s <strong>23 July 2026<\/strong> announcement reinstated an interim EU measure allowing <strong>voluntary<\/strong> detection and removal of child sexual abuse material until <strong>3 April 2028<\/strong>. It excludes the specified interpersonal communications where end-to-end encryption is, has been, or will be applied. The announcement discusses a separate long-term framework under negotiation. I can disagree with intrusive surveillance without treating a proposal, an interim measure, and a universal scanning obligation as the same thing. <a style=\"color:#8bd4f7\" href=\"https:\/\/www.consilium.europa.eu\/en\/press\/press-releases\/2026\/07\/23\/fighting-child-sexual-abuse-online-interim-measure-protecting-children-now-reinstated\/\">The Council\u2019s announcement<\/a>.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The server behind it today<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I reused hardware I already owned. The machine stopped being just a former gaming rig and became the part of the network where I could make my own decisions.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The system I use today is built around an <strong>AMD Ryzen 7 3700X<\/strong>, <strong>24 GB of G.Skill LED RAM<\/strong>, and an <strong>MSI MAG B550 TOMAHAWK (MS-7C91)<\/strong> motherboard, with an <strong>NVIDIA GeForce GTX 1050 Ti<\/strong> graphics card. It handles the network services alongside my Plex\/Jellyfin media use. The operating system lives on its own MP510 NVMe drive, with three large hard drives alongside it.<\/p>\n\n\n\n<figure class=\"wp-block-table alignwide\" style=\"margin:28px 0;color:#e5eef5\"><div style=\"overflow-x:auto;border:1px solid #365564;border-radius:12px\"><table style=\"width:100%;min-width:530px;border-collapse:collapse;background:#132733;font-size:0.95em;line-height:1.55\"><thead><tr><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">Part<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">My current setup<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">Its job<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">CPU<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">AMD Ryzen 7 3700X<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">An 8-core, 16-thread processor for Ubuntu and the server workloads.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Memory<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">24 GB G.Skill LED RAM<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Memory for the operating system and services.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Graphics<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">NVIDIA GeForce GTX 1050 Ti<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">The graphics card installed in the current server.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Motherboard<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">MSI MAG B550 TOMAHAWK (MS-7C91)<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">The platform for the Ryzen system.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">System drive<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">MP510 2 TB NVMe<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Ubuntu Server is installed on this SSD.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Operating system<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Ubuntu Server 26 with GNOME GUI<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Server software with the desktop interface I prefer.<\/td><\/tr><\/tbody><\/table><\/div><figcaption style=\"margin-top:12px;color:#b8ccd9;font-size:0.9em\">My current hardware, confirmed on 8 October 2026. CPU core\/thread specifications: <a style=\"color:#8bd4f7\" href=\"https:\/\/www.amd.com\/en\/support\/downloads\/drivers.html\/processors\/ryzen\/ryzen-3000-series\/amd-ryzen-7-3700x.html\">AMD<\/a>.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/i.ibb.co\/2132fV3g\/Current-server-hardware.png\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/i.ibb.co\/2132fV3g\/Current-server-hardware.png\" alt=\"Hardware schematic showing Ryzen 7 3700X, 24 GB G.Skill LED RAM, MSI MAG B550 TOMAHAWK MS-7C91, NVIDIA GeForce GTX 1050 Ti, MP510 2 TB NVMe with Ubuntu Server 26 and GNOME, and 14 TB, 12 TB and 20 TB hard drives. The free problematic 20 TB drive is used only for Plex\/Jellyfin media the owner is willing to lose.\" width=\"1600\" height=\"1300\" style=\"width:100%;height:auto;border-radius:12px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption class=\"wp-element-caption\" style=\"color:#b8ccd9\">My current server: Ryzen 7 3700X, 24 GB G.Skill LED RAM, MSI MAG B550 TOMAHAWK (MS-7C91), GTX 1050 Ti, and Ubuntu Server 26 with GNOME on the MP510 2 TB NVMe. The HDDs are 14 TB, 12 TB and 20 TB; the problematic free 20 TB drive holds expendable Plex\/Jellyfin media. <a style=\"color:#8bd4f7\" href=\"https:\/\/i.ibb.co\/2132fV3g\/Current-server-hardware.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">Three hard drives, with a clear limit on the free one<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Alongside the 2 TB system SSD, I have a <strong>14 TB HDD, a 12 TB HDD, and a 20 TB HDD<\/strong>. Their listed capacities add up to <strong>46 TB of hard-drive storage<\/strong>. That is the sum of the drive labels; it is not a claim of 46 TB of usable space in a RAID array.<\/p>\n\n\n\n<figure class=\"wp-block-table alignwide\" style=\"margin:28px 0;color:#e5eef5\"><div style=\"overflow-x:auto;border:1px solid #365564;border-radius:12px\"><table style=\"width:100%;min-width:530px;border-collapse:collapse;background:#132733;font-size:0.95em;line-height:1.55\"><thead><tr><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">Drive<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">What I can say about it<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">14 TB HDD<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">One of the hard drives in the current server.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">12 TB HDD<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Another hard drive in the current server.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">20 TB HDD<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Received for free because it has problems. I use it only for Plex\/Jellyfin movies and TV series that I am willing to lose.<\/td><\/tr><\/tbody><\/table><\/div><figcaption style=\"margin-top:12px;color:#b8ccd9;font-size:0.9em\">The 2 TB MP510 system SSD is separate from the 46 TB HDD total. No RAID layout or backup capacity is assumed.<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>Why I still use the problematic 20 TB drive<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I got the <strong>20 TB drive for free because it has problems<\/strong>. I use it for movies and series in Plex\/Jellyfin because those are files I do not mind losing. That is a deliberate limit on what I put there: expendable media, with the possibility that the drive or its contents could fail.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Getting that much storage for nothing is useful to me, but I do not count that drive as a safe place for something I cannot afford to lose.<\/p>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The Nighthawk belongs to the earlier setup<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">My earlier wired arrangement was <strong>main PC \u2192 switch \u2192 Ubuntu gateway \u2192 R8000P \u2192 fiber box \u2192 internet<\/strong>. Since then, I have <strong>given the Netgear Nighthawk R8000P to a friend<\/strong>. It is no longer part of my network. The earlier VPN diagram below records that older arrangement; the current network uses Pi-hole and nftables without that router or a VPN.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The location of a device matters as much as the software on the server. A phone using Wi-Fi upstream of a gateway can have a different route from a wired PC behind it. A PoE switch provides links and power; it does not encrypt or \u201cclean\u201d the internet. The gateway only controls traffic that actually passes through it.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/i.ibb.co\/XZhY52Kr\/VPN-gateway-diagram.png\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/i.ibb.co\/XZhY52Kr\/VPN-gateway-diagram.png\" alt=\"Network diagram: home devices connect through a switch and LAN-side Wi-Fi access point to an Ubuntu gateway, then the upstream router and ISP. An encrypted WireGuard tunnel ends at Proton VPN, which connects to websites. Upstream Wi-Fi can bypass the gateway.\" width=\"1700\" height=\"1060\" style=\"width:100%;height:auto;border-radius:12px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption class=\"wp-element-caption\" style=\"color:#b8ccd9\">The earlier WireGuard design, including the Netgear Nighthawk R8000P I later gave to a friend. Neither that router nor the VPN is part of my current setup. <a style=\"color:#8bd4f7\" href=\"https:\/\/i.ibb.co\/XZhY52Kr\/VPN-gateway-diagram.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">Why I kept a desktop interface<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Today I use <strong>Ubuntu Server 26 with a GNOME GUI<\/strong>, installed on the <strong>MP510 2 TB NVMe<\/strong>. I kept a desktop interface because having a visual way to work on the server makes it more comfortable for me to use. This is my machine, and I want it to be practical for the way I work.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">My experience with Garuda Linux and other Linux setups gave me somewhere to start. This project pushed that experience further: interfaces, routes, DHCP, DNS, NAT, and firewall rules. Those stopped being background words on a router settings page. They became things I needed to understand.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The software: separate tools, separate jobs<\/h2>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>DNS AND DHCP<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The original build used <strong>dnsmasq<\/strong> for local network services. DHCP provides network settings; DNS answers name lookups. Pi-hole later added domain filtering and a way to inspect DNS activity.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>ROUTING AND FIREWALL<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>nftables<\/strong> handles firewall rules and the forwarding\/NAT decisions in my gateway. It controls packet paths; it does not read and remove advertisements from encrypted pages.<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">dnsmasq: getting the network organised<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Originally, dnsmasq gave me a place to manage local DNS and DHCP. Instead of leaving every device to pick whatever resolver it liked, I worked on directing ordinary DNS through my own server. Choosing an upstream resolver is still a trust decision. A local forwarder does not make the upstream lookup private or encrypted by itself. <a style=\"color:#8bd4f7\" href=\"https:\/\/dnsmasq.org\/doc.html\">dnsmasq\u2019s documentation<\/a>.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Pi-hole uses a DNS engine based on dnsmasq, so these names are related. That does not mean I should casually run two independent services on the same ports and assume they will cooperate. DNS, DHCP, interface bindings, and the current configuration still have to fit together. <a style=\"color:#8bd4f7\" href=\"https:\/\/docs.pi-hole.net\/ftldns\/dns-resolver\/\">Pi-hole\u2019s DNS resolver<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">nftables: the rules I can read<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The firewall was where I wrote the traffic policy for the build. I preferred explicit rules over an unexplained box of defaults. In the earlier VPN design, I worked on sending LAN internet traffic through the tunnel and preventing an ordinary direct fallback when the tunnel went down.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">That kind of policy needs proper handling of the server\u2019s own traffic, forwarded traffic, established connections, DNS, and both IPv4 and IPv6. NAT changes addressing; it does not erase an account, a cookie, or a browser fingerprint. A rule that works once is not proof that no leak can ever happen. <a style=\"color:#8bd4f7\" href=\"https:\/\/wiki.nftables.org\/wiki-nftables\/index.php\/Simple_ruleset_for_a_server\">The nftables project\u2019s basic ruleset example<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">WireGuard and Proton VPN: part of the earlier build<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I chose WireGuard for the original tunnel and downloaded a Proton VPN configuration. In that build, I used <code>\/etc\/wireguard\/wg0.conf<\/code> and brought the interface up with <code>wg-quick up wg0<\/code>. These commands describe what I used then; they are not a complete gateway tutorial. <a style=\"color:#8bd4f7\" href=\"https:\/\/www.wireguard.com\/quickstart\/\">WireGuard quick start<\/a>.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">With that tunnel working and the relevant routes using it, traffic between the gateway and the VPN provider was encrypted. The ISP could still see the VPN connection, its timing, and its volume. The VPN provider became another party I had to trust, and sites could still recognise me through logins or other identifiers.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>The current configuration is different<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I now use <strong>Pi-hole and nftables without a VPN<\/strong>. The old tunnel story belongs in this article because it was part of the build, but my current network is not sending everything through Proton VPN. Pi-hole is DNS filtering, and nftables is firewalling. Neither replaces a VPN tunnel or makes me anonymous.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The year in use: what changed<\/h2>\n\n\n\n<figure class=\"wp-block-table alignwide\" style=\"margin:28px 0;color:#e5eef5\"><div style=\"overflow-x:auto;border:1px solid #365564;border-radius:12px\"><table style=\"width:100%;min-width:530px;border-collapse:collapse;background:#132733;font-size:0.95em;line-height:1.55\"><thead><tr><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">When<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">What I reported<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">What that tells me<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">2025 \u00b7 the first build<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Ubuntu gateway, dnsmasq, nftables, and WireGuard\/Proton VPN. The first working setup took about two hours.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">The project started with routing, local network services, and a VPN experiment.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">4 September 2025<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">The PC beside my TV was the network hub, running Ubuntu 25, VPN functionality, and Pi-hole. I reported roughly 75 W at idle.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Pi-hole was already in use by this point; the power figure belongs to that early report.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">4 September 2025<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Matter devices had problems during initial connection, but worked once connected. I suspected Pi-hole.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">A real pairing problem, with a suspected cause rather than a proven diagnosis.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">2 January 2026<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">I described Ubuntu Server 25.04 and manually installing or compiling the software I needed.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">A dated software snapshot and my preference for explicit control.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">13 August 2026<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">The server was my router, firewall, and Pi-hole. I reported about 150\u2013200 W and planned an independent Raspberry Pi recorder.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Power use and dependence on the main server were driving the recorder plan.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">19 September 2026<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">No VPN. Mobile devices on home Wi-Fi used Pi-hole, and most ordinary DNS was forced through it.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">The everyday setup had moved to local filtering and firewall control without the earlier VPN tunnel.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">8 October 2026<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Ryzen 7 3700X, 24 GB G.Skill LED RAM, MSI MAG B550 TOMAHAWK, and Ubuntu Server 26 with GNOME on the MP510 2 TB. The Nighthawk has been given to a friend.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">The current hardware and storage are confirmed. Pi-hole and nftables remain central; the earlier router and VPN are no longer in use.<\/td><\/tr><\/tbody><\/table><\/div><figcaption style=\"margin-top:12px;color:#b8ccd9;font-size:0.9em\">Timeline of my reports, not a record of uninterrupted uptime or an inventory collected from the live server.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">Pi-hole became an everyday tool<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The original draft talked about Pi-hole as something I could add. That part is out of date. <strong>I did add it, and it became part of how I run the home network.<\/strong> By September 2025 I was already describing it as part of the PC that acted as my network hub.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">By September 2026, the point was simple: phones connected to my home Wi-Fi used Pi-hole, and I forced most ordinary DNS through it. This made local DNS filtering part of normal use rather than an optional setting on one computer.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">That also gives me a way to refuse connections to services I no longer want to use. My position on uploading identity documents to ordinary online services is clear: I am willing to leave a service rather than hand over that kind of information. A domain block can help enforce that decision on devices using my DNS setup. It does not delete an account or recover data already submitted.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/i.ibb.co\/PGQpXq6m\/Current-network-schematic.png\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/i.ibb.co\/PGQpXq6m\/Current-network-schematic.png\" alt=\"Current logical network with a Ryzen 7 3700X, 24 GB RAM and Ubuntu Server 26 with GNOME, using Pi-hole for DNS and nftables for routing and firewall rules. The Nighthawk has been given away and no VPN is in use.\" width=\"1600\" height=\"1210\" style=\"width:100%;height:auto;border-radius:12px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption class=\"wp-element-caption\" style=\"color:#b8ccd9\">The current logical approach: the Ryzen-based Ubuntu Server 26 machine provides Pi-hole DNS filtering and nftables routing\/firewall rules. I have given the Nighthawk to a friend, and there is no VPN in this configuration. This drawing explains roles rather than auditing every device path. <a style=\"color:#8bd4f7\" href=\"https:\/\/i.ibb.co\/PGQpXq6m\/Current-network-schematic.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>What Pi-hole can block<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Pi-hole acts on <strong>domain lookups<\/strong>. A blocked domain can stop a device finding a destination, and that is useful for many separate advertising or tracking hosts. It cannot reliably remove an advertisement that shares a domain with content I still want. It also does not inspect the full content of HTTPS pages. <a style=\"color:#8bd4f7\" href=\"https:\/\/docs.pi-hole.net\/ftldns\/blockingmode\/\">Pi-hole\u2019s blocking modes<\/a>.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">\u201cMost ordinary DNS\u201d is the careful wording. DNS over HTTPS, DNS over TLS, a device VPN, direct IP connections, or a different network path can change what Pi-hole sees. Blocking traditional DNS ports alone does not solve all of those cases. <a style=\"color:#8bd4f7\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/DNS_over_HTTPS\">DNS over HTTPS explained<\/a>.<\/p>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">Smart-home devices exposed the awkward parts<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">In September 2025, my Matter devices caused trouble during the initial connection process, then worked after they connected. I suspected Pi-hole because it was part of the network they were trying to use. I did not establish that Pi-hole was definitely the cause.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">That is a useful distinction after a year. A failed pairing attempt does not tell me whether the problem is DNS, local discovery, multicast, Wi-Fi, IPv6, a vendor service, or the device itself. It tells me there is a problem to investigate. Checking what was blocked at the time is more useful than declaring the entire firewall guilty.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The server project also lives alongside my Apple TV 4K, Plex\/Jellyfin media use, and Matter\/Eve smart-home devices. Local media and devices I want to keep using are part of my daily setup too. I have to make the network work for the things I actually own.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The cost I could not ignore: keeping the PC powered<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Reusing the old PC meant I did not have to buy a new gateway computer for the first build. That does not make it free to run. Electricity is a recurring cost, especially for a machine that also acts as the router, firewall, and DNS service.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">My earlier report was roughly <strong>75 W at idle<\/strong>. In August 2026, I described the server as using about <strong>150\u2013200 W<\/strong>. Those are different reports at different times, with conditions that are not established as directly comparable. I cannot use them to claim that the server doubled its idle consumption, or that it stayed at one load for an entire year.<\/p>\n\n\n\n<figure class=\"wp-block-table alignwide\" style=\"margin:28px 0;color:#e5eef5\"><div style=\"overflow-x:auto;border:1px solid #365564;border-radius:12px\"><table style=\"width:100%;min-width:530px;border-collapse:collapse;background:#132733;font-size:0.95em;line-height:1.55\"><thead><tr><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">Constant power assumed<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">24 hours<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">30 days<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">365 days<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">75 W<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">1.80 kWh<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">54 kWh<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">657 kWh<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">150 W<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">3.60 kWh<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">108 kWh<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">1,314 kWh<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">200 W<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">4.80 kWh<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">144 kWh<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">1,752 kWh<\/td><\/tr><\/tbody><\/table><\/div><figcaption style=\"margin-top:12px;color:#b8ccd9;font-size:0.9em\"><strong>Calculated scenarios:<\/strong> watts \u00f7 1,000 \u00d7 hours. They assume the stated load continuously. These are not totals from my electricity meter, and do not establish which other devices were included in either report.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/i.ibb.co\/JwJGPyRz\/Power-use-scenarios.png\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/i.ibb.co\/JwJGPyRz\/Power-use-scenarios.png\" alt=\"Bar chart of calculated annual electricity usage: 75 watts gives 657 kilowatt-hours, 150 watts gives 1314, and 200 watts gives 1752, assuming continuous constant load.\" width=\"2100\" height=\"1035\" style=\"width:100%;height:auto;border-radius:12px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption class=\"wp-element-caption\" style=\"color:#b8ccd9\">Annual electricity-use estimates at three constant loads: 657 kWh at 75 W, 1,314 kWh at 150 W, and 1,752 kWh at 200 W. These scenarios are not actual meter totals or a measured trend. <a style=\"color:#8bd4f7\" href=\"https:\/\/i.ibb.co\/JwJGPyRz\/Power-use-scenarios.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The numbers explain why I started thinking about shutting the main server down while I was away. At a constant 150\u2013200 W, eight hours off per day would avoid <strong>1.2\u20131.6 kWh per day<\/strong> for that machine, before allowing for the power used by any replacement equipment. That is a calculation, not a saving I have already measured.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">There is a catch: this PC is infrastructure. Turn it off and the routing, firewall, and Pi-hole services it provides also stop. I cannot describe that as a seamless energy-saving change for every device in the house. It is the reason I wanted some jobs to have an independent path.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The next idea: a camera recorder that can stand on its own<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">In August 2026, I worked through a plan for a <strong>Raspberry Pi with M.2\/NVMe storage<\/strong> acting as an independent network video recorder. The cameras and a PoE switch would use a local network with fixed addresses. The recorder would keep storing footage locally, even while the large server was off.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i.ibb.co\/23KdnmvK\/Raspberry-Pi-5-SBC.jpg\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/i.ibb.co\/23KdnmvK\/Raspberry-Pi-5-SBC.jpg\" alt=\"A Raspberry Pi 5 single-board computer with network and USB ports.\" width=\"4800\" height=\"3200\" style=\"width:100%;height:auto;border-radius:12px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption class=\"wp-element-caption\" style=\"color:#b8ccd9\">A Raspberry Pi 5, photographed by SimonWaldherr. A hardware illustration for my recorder plan, not proof that I selected this model or completed the installation. The photograph is unchanged. <a style=\"color:#8bd4f7\" href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Raspberry_Pi_5_SBC.jpg\">Source<\/a> \u00b7 <a style=\"color:#8bd4f7\" href=\"https:\/\/creativecommons.org\/licenses\/by\/4.0\/\">CC BY 4.0<\/a>. <a style=\"color:#8bd4f7\" href=\"https:\/\/i.ibb.co\/23KdnmvK\/Raspberry-Pi-5-SBC.jpg\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n<\/div>\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>THE GOAL<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">Keep camera recording independent of the large PC. Use the Pi\u2019s Wi-Fi to reach the normal home network when the main server is available, then move verified footage onto the server.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">This was the plan I discussed in August. I am keeping it as a plan here rather than claiming that a complete recorder is already installed.<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The storage rule matters to me: <strong>copy the recordings to the server, verify the copies, and only then delete the originals from the Pi<\/strong>. That keeps local storage from filling up without deleting the only copy because a transfer merely started.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/i.ibb.co\/N2pV6kZq\/Planned-camera-recorder-schematic.png\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/i.ibb.co\/N2pV6kZq\/Planned-camera-recorder-schematic.png\" alt=\"Planned Raspberry Pi camera recorder network showing local recording while the main server is off, copying footage when available, verifying files, and keeping originals if verification fails.\" width=\"1600\" height=\"1240\" style=\"width:100%;height:auto;border-radius:12px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption class=\"wp-element-caption\" style=\"color:#b8ccd9\">The planned recorder: a local PoE camera network and Raspberry Pi with NVMe storage, followed by server transfer, verification, and deletion only after success. This diagram describes the August 2026 plan. <a style=\"color:#8bd4f7\" href=\"https:\/\/i.ibb.co\/N2pV6kZq\/Planned-camera-recorder-schematic.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The local camera network is the part intended to keep working independently. It does not magically keep the rest of the home internet online when its main gateway is shut down. Separating those jobs is a useful design decision, but it is still work that has to be implemented and tested.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">What a year taught me<\/h2>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>WHAT WORKED FOR ME<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>Central control.<\/strong> I have a place to manage routing, DNS, and firewall decisions for the devices that use the gateway.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>Useful old hardware.<\/strong> A former gaming PC became something I could use and learn from.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>A visible system.<\/strong> I can look at the services and settings instead of guessing what a sealed appliance is doing.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>WHAT NEEDS ONGOING WORK<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>Maintenance.<\/strong> Software support, configuration backups, reboots, and troubleshooting remain part of owning the system.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>Compatibility.<\/strong> A blocked request can be unwanted tracking or something a feature needs. The answer is in the evidence.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>Power and dependence.<\/strong> An old gaming PC can do the job, but running it continuously has a real cost.<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I was considering a <strong>Ubiquiti U7 Lite<\/strong> in the original draft because the server itself was not a Wi-Fi access point. That remains an earlier idea in this account, rather than a claim that I bought and installed that particular model. What matters in the design is that the intended Wi-Fi devices use the right network path and DNS settings.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#142a35;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>The operating system has moved on too<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">In January 2026 I described <strong>Ubuntu Server 25.04<\/strong>. Today my server runs <strong>Ubuntu Server 26 with GNOME<\/strong> on the MP510 SSD. The January entry stays in the timeline as part of the history; the current hardware section reflects the system I use now.<\/p>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The statistics I can honestly put in this article<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I can show the hardware I used, when I reported particular changes, and what the reported power figures would mean at a constant load. I do not have a current Pi-hole export in this post, so I am not going to invent a \u201cmillion trackers blocked,\u201d a blocking percentage, a speed improvement, or a year of perfect uptime.<\/p>\n\n\n\n<figure class=\"wp-block-table alignwide\" style=\"margin:28px 0;color:#e5eef5\"><div style=\"overflow-x:auto;border:1px solid #365564;border-radius:12px\"><table style=\"width:100%;min-width:530px;border-collapse:collapse;background:#132733;font-size:0.95em;line-height:1.55\"><thead><tr><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">Useful measurement<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">What it can show<\/th><th scope=\"col\" style=\"padding:14px 16px;background:#1b3949;color:#f1f7fb;text-align:left;border-bottom:1px solid #436170\">How I would read it<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">DNS queries and blocked queries<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">The requests handled by Pi-hole over a stated time period.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Blocked \u00f7 total \u00d7 100 gives a DNS-query blocking rate, not the percentage of all tracking stopped.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Query history by device<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Which clients request particular domains and when.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Useful for a pairing or app problem; it is still a DNS log, not a complete browsing history.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Wall-socket power<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">The electrical load under a stated condition.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#132733;border-bottom:1px solid #365564\">Separate idle, active use, and daily energy before comparing reports.<\/td><\/tr><tr><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">Availability and restarts<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">When the gateway was actually running.<\/td><td style=\"padding:14px 16px;vertical-align:top;color:#e5eef5;background:#172e3b;border-bottom:1px solid #365564\">One year of ownership and use is different from 365 days of uninterrupted service.<\/td><\/tr><\/tbody><\/table><\/div><figcaption style=\"margin-top:12px;color:#b8ccd9;font-size:0.9em\">Pi-hole\u2019s query database records fields such as timestamps, status, domains, clients, and reply time. <a style=\"color:#8bd4f7\" href=\"https:\/\/docs.pi-hole.net\/database\/query-database\/\">Official query-database documentation<\/a>.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">The personal payoff<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">The best part of this project is still the feeling I had at the beginning. I see the PC beside the TV, and I know it has a job I gave it. I can read the rules. I can change the DNS policy. I can choose a service, decide I no longer trust it, and do something practical about that decision.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">A year later, my setup has changed. The VPN is no longer part of my current configuration, and the Nighthawk has gone to a friend. Pi-hole remains part of the Ryzen-based server, alongside Ubuntu Server 26, my storage, and Plex\/Jellyfin media. Power use has become part of the conversation. So has keeping camera recording independent of the main server. That is what using a system does: it shows me what matters when it is part of everyday life.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I am still angry about how casually privacy gets traded away. I am also better at separating what a network tool can control from what it cannot. Accounts, cookies, fingerprinting, and information I choose to give a service remain part of the problem. <a style=\"color:#8bd4f7\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/Privacy\">MDN\u2019s overview of web privacy<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e5eef5;background-color:#17363a;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\"><strong>My network. My rules. My responsibility.<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e5eef5\">I cannot control the entire internet. I can understand more of the part that reaches my home, make decisions for myself, and keep improving what I built. After about a year of using it, that still means a lot to me.<\/p>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f1f7fb\">Sources and image credits<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#b8ccd9\">My build and dated experiences come from my own account and later project discussions, including my current hardware and storage details confirmed on 8 October 2026. Technical references and credited images are linked where they are used. The external hardware photographs are illustrations, not photographs of my own equipment. The schematics show the current server hardware, the earlier design, the current logical approach, and the recorder plan. The power chart shows calculated scenarios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ONE YEAR OF RUNNING MY OWN NETWORK \u00b7 UPDATED 8 OCTOBER 2026 The server stayed. The setup evolved. About a year ago, I turned an old gaming PC into my own home-network gateway. The first version used Ubuntu, dnsmasq, nftables, and a WireGuard tunnel to Proton VPN. Since then, Pi-hole has become part of the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":54,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAow86rODA:productID":"","footnotes":""},"categories":[400,401],"tags":[402,404,408,406,411,407,456,439,434,412,435,405,414,403,413,409,438,453,419,417,415,410,443,444,416,450,420,424,451,442,447,440,448,418,445,452,457,449,421,429,428,427,455,426,423,454,430,422,446,432,425,437,431,436,441,433,461,459,460,458,464,462,463,467,465,466,468],"snowpaw_game":[],"class_list":["post-53","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","category-server","tag-anonymous-browsing","tag-censorship-resistance","tag-cyber-awareness","tag-cyber-defense","tag-cybersecurity","tag-data-privacy","tag-data-protection","tag-digital-independence","tag-digital-security","tag-digital-self-defense","tag-dnsmasq","tag-encrypted-traffic","tag-encryption","tag-firewall","tag-home-lab","tag-home-network-security","tag-home-networking","tag-home-server","tag-internet-freedom","tag-internet-privacy","tag-isp-privacy","tag-isp-spying","tag-isp-tracking","tag-linux-firewall","tag-linux-networking","tag-linux-server","tag-linux-vpn","tag-network-configuration","tag-network-gateway","tag-network-isolation","tag-network-security","tag-networking","tag-nftables","tag-online-freedom","tag-online-privacy","tag-open-source-security","tag-personal-security","tag-privacy","tag-privacy-defense","tag-privacy-tools","tag-protecting-privacy","tag-protonvpn","tag-router-security","tag-secure-access","tag-secure-browsing","tag-secure-core","tag-secure-home-network","tag-secure-internet","tag-secure-router","tag-secure-wifi","tag-security","tag-security-awareness","tag-self-hosted-firewall","tag-self-hosted-vpn","tag-self-hosting","tag-server-setup","tag-surveillance","tag-tech-privacy","tag-technology","tag-ubuntu-server","tag-ubuntu-vpn","tag-vpn","tag-vpn-for-all-devices","tag-vpn-gateway","tag-vpn-router","tag-vpn-setup","tag-wireguard"],"snowpaw":{"managed":true,"game_id":"","game_ids":[],"games":[],"review_game_ids":[],"cover_sizes":[{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Min-egen-serverbaserede-sikkerhedsgateway-300x169.png","width":300},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/54-8773ac0bef57-480.webp","width":480},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/54-8773ac0bef57-768.webp","width":768},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Min-egen-serverbaserede-sikkerhedsgateway-1024x576.png","width":1024},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/54-8773ac0bef57-1200.webp","width":1200}]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Building My Own Security Gateway: Why I Put a Server Between Me and the Internet - The Ice Alpha Wolf Den<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet - The Ice Alpha Wolf Den\" \/>\n<meta property=\"og:description\" content=\"ONE YEAR OF RUNNING MY OWN NETWORK \u00b7 UPDATED 8 OCTOBER 2026 The server stayed. The setup evolved. About a year ago, I turned an old gaming PC into my own home-network gateway. The first version used Ubuntu, dnsmasq, nftables, and a WireGuard tunnel to Proton VPN. Since then, Pi-hole has become part of the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/\" \/>\n<meta property=\"og:site_name\" content=\"The Ice Alpha Wolf Den\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-08T18:37:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-08T19:08:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Min-egen-serverbaserede-sikkerhedsgateway-1024x576.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kiba Snowpaw\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kiba Snowpaw\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/\"},\"author\":{\"name\":\"Kiba Snowpaw\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"headline\":\"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet\",\"datePublished\":\"2026-10-08T18:37:01+00:00\",\"dateModified\":\"2026-10-08T19:08:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/\"},\"wordCount\":3861,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"image\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Min-egen-serverbaserede-sikkerhedsgateway.png\",\"keywords\":[\"anonymous browsing\",\"censorship resistance\",\"cyber awareness\",\"cyber defense\",\"cybersecurity\",\"data privacy\",\"data protection\",\"digital independence\",\"digital security\",\"digital self defense\",\"dnsmasq\",\"encrypted traffic\",\"encryption\",\"firewall\",\"home lab\",\"home network security\",\"home networking\",\"home server\",\"internet freedom\",\"internet privacy\",\"isp privacy\",\"isp spying\",\"isp tracking\",\"linux firewall\",\"linux networking\",\"linux server\",\"linux vpn\",\"network configuration\",\"network gateway\",\"network isolation\",\"network security\",\"networking\",\"nftables\",\"online freedom\",\"online privacy\",\"open source security\",\"personal security\",\"privacy\",\"privacy defense\",\"privacy tools\",\"protecting privacy\",\"protonvpn\",\"router security\",\"secure access\",\"secure browsing\",\"secure core\",\"secure home network\",\"secure internet\",\"secure router\",\"secure wifi\",\"security\",\"security awareness\",\"self hosted firewall\",\"self hosted vpn\",\"self hosting\",\"server setup\",\"surveillance\",\"tech privacy\",\"technology\",\"ubuntu server\",\"ubuntu vpn\",\"vpn\",\"vpn for all devices\",\"vpn gateway\",\"vpn router\",\"vpn setup\",\"wireguard\"],\"articleSection\":[\"Security\",\"Server\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/\",\"name\":\"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet - The Ice Alpha Wolf Den\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Min-egen-serverbaserede-sikkerhedsgateway.png\",\"datePublished\":\"2026-10-08T18:37:01+00:00\",\"dateModified\":\"2026-10-08T19:08:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Min-egen-serverbaserede-sikkerhedsgateway.png\",\"contentUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Min-egen-serverbaserede-sikkerhedsgateway.png\",\"width\":1672,\"height\":941},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#website\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/\",\"name\":\"The Ice Alpha Wolf Den\",\"description\":\"Game reviews, photography and audiobooks\",\"publisher\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\",\"name\":\"Kiba Snowpaw\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"caption\":\"Kiba Snowpaw\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\\/\\\/theicealphawolfden.com\"],\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/author\\\/admin2183\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet - The Ice Alpha Wolf Den","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/","og_locale":"en_GB","og_type":"article","og_title":"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet - The Ice Alpha Wolf Den","og_description":"ONE YEAR OF RUNNING MY OWN NETWORK \u00b7 UPDATED 8 OCTOBER 2026 The server stayed. The setup evolved. About a year ago, I turned an old gaming PC into my own home-network gateway. The first version used Ubuntu, dnsmasq, nftables, and a WireGuard tunnel to Proton VPN. Since then, Pi-hole has become part of the [&hellip;]","og_url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/","og_site_name":"The Ice Alpha Wolf Den","article_published_time":"2026-10-08T18:37:01+00:00","article_modified_time":"2026-10-08T19:08:25+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Min-egen-serverbaserede-sikkerhedsgateway-1024x576.png","type":"image\/png"}],"author":"Kiba Snowpaw","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kiba Snowpaw","Estimated reading time":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/#article","isPartOf":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/"},"author":{"name":"Kiba Snowpaw","@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"headline":"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet","datePublished":"2026-10-08T18:37:01+00:00","dateModified":"2026-10-08T19:08:25+00:00","mainEntityOfPage":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/"},"wordCount":3861,"commentCount":0,"publisher":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"image":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/#primaryimage"},"thumbnailUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Min-egen-serverbaserede-sikkerhedsgateway.png","keywords":["anonymous browsing","censorship resistance","cyber awareness","cyber defense","cybersecurity","data privacy","data protection","digital independence","digital security","digital self defense","dnsmasq","encrypted traffic","encryption","firewall","home lab","home network security","home networking","home server","internet freedom","internet privacy","isp privacy","isp spying","isp tracking","linux firewall","linux networking","linux server","linux vpn","network configuration","network gateway","network isolation","network security","networking","nftables","online freedom","online privacy","open source security","personal security","privacy","privacy defense","privacy tools","protecting privacy","protonvpn","router security","secure access","secure browsing","secure core","secure home network","secure internet","secure router","secure wifi","security","security awareness","self hosted firewall","self hosted vpn","self hosting","server setup","surveillance","tech privacy","technology","ubuntu server","ubuntu vpn","vpn","vpn for all devices","vpn gateway","vpn router","vpn setup","wireguard"],"articleSection":["Security","Server"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/","url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/","name":"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet - The Ice Alpha Wolf Den","isPartOf":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/#primaryimage"},"image":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/#primaryimage"},"thumbnailUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Min-egen-serverbaserede-sikkerhedsgateway.png","datePublished":"2026-10-08T18:37:01+00:00","dateModified":"2026-10-08T19:08:25+00:00","breadcrumb":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/#primaryimage","url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Min-egen-serverbaserede-sikkerhedsgateway.png","contentUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Min-egen-serverbaserede-sikkerhedsgateway.png","width":1672,"height":941},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/building-my-own-security-gateway-why-i-put-a-server-between-me-and-the-internet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wordpress.theicealphawolfden.com\/"},{"@type":"ListItem","position":2,"name":"Building My Own Security Gateway: Why I Put a Server Between Me and the Internet"}]},{"@type":"WebSite","@id":"https:\/\/wordpress.theicealphawolfden.com\/#website","url":"https:\/\/wordpress.theicealphawolfden.com\/","name":"The Ice Alpha Wolf Den","description":"Game reviews, photography and audiobooks","publisher":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress.theicealphawolfden.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1","name":"Kiba Snowpaw","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","caption":"Kiba Snowpaw"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g"},"sameAs":["http:\/\/theicealphawolfden.com"],"url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/author\/admin2183\/"}]}},"_links":{"self":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/53","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/comments?post=53"}],"version-history":[{"count":2,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/53\/revisions"}],"predecessor-version":[{"id":56,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/53\/revisions\/56"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/media\/54"}],"wp:attachment":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/media?parent=53"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/categories?post=53"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/tags?post=53"},{"taxonomy":"snowpaw_game","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/snowpaw_game?post=53"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}