<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Networking on Luke Hebert</title><link>https://lukehebert.com/category/networking/</link><description>Recent content in Networking on Luke Hebert</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 21 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://lukehebert.com/category/networking/index.xml" rel="self" type="application/rss+xml"/><item><title>AWS Default DNS Server (EC2)</title><link>https://lukehebert.com/post/aws-default-dns-server-ec2/</link><pubDate>Thu, 21 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/aws-default-dns-server-ec2/</guid><description>Explains how the AWS default DNS server works for EC2 instances within a VPC, including the special 169.254.169.253 address and the CIDR-based resolver IP.</description></item><item><title>CNI Plugin Binaries and Configs</title><link>https://lukehebert.com/post/cni-plugin-binaries-configs/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/cni-plugin-binaries-configs/</guid><description>Catalogs the active Flannel CNI configuration and the full set of 19 available CNI plugin binaries on a Kubernetes node. Provides file sizes, modification dates, and the purpose of each installed plugin.</description></item><item><title>CoreDNS</title><link>https://lukehebert.com/post/coredns/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/coredns/</guid><description>Set up a dedicated server as a DNS server using CoreDNS, covering binary installation, server startup, and IP-to-hostname mapping via the hosts plugin. CoreDNS also supports extensibility through plugins, including one for Kubernetes.</description></item><item><title>Gateway API</title><link>https://lukehebert.com/post/gateway-api/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/gateway-api/</guid><description>Gateway API is a Kubernetes add-on that provides dynamic infrastructure provisioning and advanced traffic routing through an extensible, role-oriented configuration mechanism. It organizes traffic handling around three stable API kinds: GatewayClass, Gateway, and HTTPRoute.</description></item><item><title>Ingress and Ingress Controllers</title><link>https://lukehebert.com/post/ingress-and-ingress-controllers/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ingress-and-ingress-controllers/</guid><description>An overview of Kubernetes Ingress resources and the controllers that fulfill them, covering terminology, creation, and prerequisites.</description></item><item><title>Ingress Annotations and Rewrite Target</title><link>https://lukehebert.com/post/ingress-annotations-and-rewrite-target/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ingress-annotations-and-rewrite-target/</guid><description>Explains how the rewrite-target annotation in the NGINX Ingress controller maps user-facing URL paths to backend services, preventing 404 errors. Includes examples of simple and regex-based rewrites.</description></item><item><title>Ip Link Show Type</title><link>https://lukehebert.com/post/ip-link-show-type/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ip-link-show-type/</guid><description>A guide to the ip link show type and ip address show type commands in Linux for filtering network interfaces by type. Covers physical, virtual, and tunneling interface types with practical examples.</description></item><item><title>Kubernetes DNS: How Pods Talk (When They Actually Do)</title><link>https://lukehebert.com/post/understanding-how-pods-talk-in-kubernetes-networks-dns/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/understanding-how-pods-talk-in-kubernetes-networks-dns/</guid><description>A deep dive into how Kubernetes DNS resolves service names to IP addresses, covering A records, SRV records, search domains, and the full lookup path from pod to CoreDNS. Understanding this lifecycle is essential for debugging connectivity issues and designing resilient microservice architectures.</description></item><item><title>Kubernetes Gateway API: A Practical Guide Using NGINX (2025)</title><link>https://lukehebert.com/post/practical-guide-to-gateway-api-2025/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/practical-guide-to-gateway-api-2025/</guid><description>A practical walkthrough of the Kubernetes Gateway API using the NGINX Gateway Controller, covering HTTP routing, TLS termination, traffic splitting, and multi-protocol support. The concepts are implementation-agnostic and apply across any Gateway API-compatible controller.</description></item><item><title>Kubernetes Internal DNS (Search Base)</title><link>https://lukehebert.com/post/kubernetes-internal-dns-search-base/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/kubernetes-internal-dns-search-base/</guid><description>Kubernetes provides a built-in DNS service that assigns predictable names to Services and Pods within a cluster. By default, pods use cluster.local as their search base for internal DNS resolution, enabling communication through human-readable names rather than ephemeral IP addresses.</description></item><item><title>Kubernetes Ports and Protocols</title><link>https://lukehebert.com/post/kubernetes-networking/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/kubernetes-networking/</guid><description>An overview of the ports and protocols required by Kubernetes control plane and worker nodes. Includes guidance on overriding default port configurations in strict network environments.</description></item><item><title>Network Namespaces (Virtual Network)</title><link>https://lukehebert.com/post/network-namespaces-virtual-network/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/network-namespaces-virtual-network/</guid><description>Network namespaces provide the foundation for container network isolation in Docker and Kubernetes. This guide covers listing, creating, and linking namespaces, bridging, NAT, and how Docker and Kubernetes build on these primitives.</description></item><item><title>Nginx Ingress Controller</title><link>https://lukehebert.com/post/nginx-ingress-controller/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/nginx-ingress-controller/</guid><description>A practical guide to installing and configuring the Ingress-Nginx Controller in Kubernetes, covering Helm and kubectl methods, cloud-provider annotations, and local testing workflows.</description></item><item><title>Network Policies</title><link>https://lukehebert.com/post/network-policies/</link><pubDate>Sat, 16 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/network-policies/</guid><description>A practical guide to Kubernetes Network Policies, covering how Ingress and Egress rules work, AND/OR logic in rule layout, and the behavior of policyTypes.</description></item><item><title>Catching Packets: Tuning Linux Network Inbound</title><link>https://lukehebert.com/post/monitoring-and-tuning-the-linux-networking-stack-receiving-data/</link><pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/monitoring-and-tuning-the-linux-networking-stack-receiving-data/</guid><description>A deep dive into how the Linux kernel receives network packets, covering the full path from NIC hardware through NAPI, softirqs, GRO, RPS, and protocol layers. Includes practical monitoring commands and tuning knobs for each stage.</description></item><item><title>Linux Network Ring Buffers</title><link>https://lukehebert.com/post/linux-network-ring-buffers-trying-to-cover-what-i-dont-know-about/</link><pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/linux-network-ring-buffers-trying-to-cover-what-i-dont-know-about/</guid><description>A practical walkthrough of how Linux allocates and manages RX/TX ring buffers for network interfaces, covering DMA, softirq processing, and tuning knobs like netdev_budget.</description></item><item><title>How to Start a SysV Init Script After Network Starts</title><link>https://lukehebert.com/post/how-to-start-a-sysv-init-script-after-network-starts-in-red-hat-enterprise-linux-7/</link><pubDate>Tue, 27 Jun 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/how-to-start-a-sysv-init-script-after-network-starts-in-red-hat-enterprise-linux-7/</guid><description>Configure a legacy SysV init script to wait for network availability in RHEL 7 by adding the Required-Start LSB directive. This guide shows how systemd honors those headers so third-party initscripts start in the correct order.</description></item><item><title>How to Setup and Secure UniFi VLAN</title><link>https://lukehebert.com/post/how-to-setup-and-secure-unifi-vlan/</link><pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/how-to-setup-and-secure-unifi-vlan/</guid><description>A step-by-step guide to creating and securing VLANs in the UniFi Network Console, including firewall rules to block inter-VLAN traffic and restrict console access.</description></item><item><title>Introduction to Virtual LANs (VLANs) and Tagging</title><link>https://lukehebert.com/post/intro-to-networking-introduction-to-virtual-lans-vlans-and-tagging/</link><pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/intro-to-networking-introduction-to-virtual-lans-vlans-and-tagging/</guid><description>A beginner-friendly overview of Virtual LANs, covering their benefits, typical usage scenarios, and the fundamentals of 802.1Q VLAN tagging.</description></item><item><title>UniFi Network - Creating Virtual Networks (VLANs)</title><link>https://lukehebert.com/post/unifi-network-creating-virtual-networks-vlans/</link><pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/unifi-network-creating-virtual-networks-vlans/</guid><description>Learn how to create and configure virtual networks (VLANs) in UniFi Network to segment devices and improve network security. This guide covers wireless and wired client binding, trunk ports, and third-party gateway integration.</description></item><item><title>DNS</title><link>https://lukehebert.com/post/dns/</link><pubDate>Tue, 02 May 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/dns/</guid><description>A practical guide to understanding DNS resolution tiers and troubleshooting name resolution issues in Linux environments. Covers /etc/nsswitch.conf, /etc/resolv.conf, and local caching services.</description></item><item><title>A Practical Guide to Traceroute (tracecrt)</title><link>https://lukehebert.com/post/a-parctical-guide-to-trace-route-tracecrt/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/a-parctical-guide-to-trace-route-tracecrt/</guid><description>Traceroute is one of the most misunderstood tools in a network engineer&amp;rsquo;s toolkit. This guide walks through how traceroute actually works, how to read the output correctly, and how to avoid the common pitfalls that lead to wrong conclusions.</description></item><item><title>Additional Kernel Tweaks for IPv4 Broadband</title><link>https://lukehebert.com/post/additional-kernel-tweaks-for-ipv4-boradband/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/additional-kernel-tweaks-for-ipv4-boradband/</guid><description>A practical guide to tuning Linux TCP/IP kernel parameters for high-speed, high-latency broadband connections, covering buffer sizing, timeout adjustments, SYN flood protection, and congestion control selection.</description></item><item><title>Counting Connecting IPs on Port 80 with netstat and ss</title><link>https://lukehebert.com/post/connecting-ip-on-port-80-count-netstat-ss/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/connecting-ip-on-port-80-count-netstat-ss/</guid><description>Two quick one-liners that count how many unique remote IPs are connected to port 80, using either netstat or ss. Handy for spotting unexpected traffic or verifying that only expected clients are hitting your web server.</description></item><item><title>Create a New rndc.key for BIND</title><link>https://lukehebert.com/post/create-a-new-rndc-key-make-sure-the-key-name-is-rndc-key/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/create-a-new-rndc-key-make-sure-the-key-name-is-rndc-key/</guid><description>Generate a fresh rndc.key and wire it into rndc.conf so your BIND name server accepts authenticated remote control commands. Covers the rndc-confgen command and the full rndc.conf structure.</description></item><item><title>DKIM Verification: Both Must Be Set to On</title><link>https://lukehebert.com/post/dkim-verification-both-must-be-set-to-on/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/dkim-verification-both-must-be-set-to-on/</guid><description>Exim offers two DKIM-related toggles that work together to validate and enforce sender signatures. Setting both to On ensures your mail server actually checks incoming DKIM records and rejects messages that fail validation.</description></item><item><title>DNS Amplification Attack</title><link>https://lukehebert.com/post/dns-amplifcation-attack/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/dns-amplifcation-attack/</guid><description>A DNS amplification attack floods a victim with forged responses by exploiting open resolvers. This post walks through iptables rules and BIND hardening steps to block the attack vector.</description></item><item><title>DNS Resolution and Zone Files</title><link>https://lukehebert.com/post/dns-resolution-and-zone-files/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/dns-resolution-and-zone-files/</guid><description>A practical walkthrough of how DNS resolution works, from the hierarchical name space down to the iterative query process. Includes common zone file syntax mistakes and how to avoid them.</description></item><item><title>HTTPS Force Redirect</title><link>https://lukehebert.com/post/https-force-redirect/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/https-force-redirect/</guid><description>A quick Apache mod_rewrite snippet that forces all HTTP traffic to HTTPS, plus context on where to place it and what to watch for.</description></item><item><title>IP Tables Rate Limit Apache</title><link>https://lukehebert.com/post/ip-tables-rate-limit-apache/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ip-tables-rate-limit-apache/</guid><description>A quick way to throttle inbound HTTP traffic to your Apache server using iptables, protecting it from traffic spikes and simple DoS attempts.</description></item><item><title>Mod Deflate Rules</title><link>https://lukehebert.com/post/mod-deflate-rules/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/mod-deflate-rules/</guid><description>Apache mod_deflate compresses outgoing responses to reduce bandwidth and speed up page loads. This post covers the AddOutputFilterByType directives needed to enable compression for common content types.</description></item><item><title>Mod Remote IP</title><link>https://lukehebert.com/post/mod-remote-ip/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/mod-remote-ip/</guid><description>A troubleshooting walkthrough for getting mod_remoteip working correctly under Apache 2.4 and cPanel, including the right LogFormat directives and RemoteIP configuration so that access logs, mod_security, and other modules all see the real client IP.</description></item><item><title>Monitor DNS Zone Reload</title><link>https://lukehebert.com/post/monitor-dns-zone-reload/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/monitor-dns-zone-reload/</guid><description>A quick workflow for triggering a DNS zone reload with rndc and confirming the result in the system log. Covers the two commands you need and what to look for in the output.</description></item><item><title>Multi-Zone Views for BIND9 (Split Horizon)</title><link>https://lukehebert.com/post/multi-zone-views-for-bind9-internal-external-etc/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/multi-zone-views-for-bind9-internal-external-etc/</guid><description>Learn how to configure BIND9 views to serve different DNS records to internal and external clients from a single server. This guide walks through zone files, ACLs, recursion control, and the $include directive to keep your setup clean and secure.</description></item><item><title>My Trace Route (mtr) Packet Loss Testing</title><link>https://lukehebert.com/post/my-trace-route-mtr-packet-loss-testing/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/my-trace-route-mtr-packet-loss-testing/</guid><description>A quick walkthrough of using mtr in report mode to capture packet loss data across network hops. Learn how to run a 30-cycle test and read the output to isolate where loss is occurring.</description></item><item><title>Nginx Load Balancing</title><link>https://lukehebert.com/post/nginx-load-balancing/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/nginx-load-balancing/</guid><description>A practical walkthrough of setting up Nginx round-robin load balancing, including upstream configuration, weighted distribution, IP hashing, and failover directives.</description></item><item><title>Nginx Non-standard Status Silent Connection Close</title><link>https://lukehebert.com/post/nginx-non-standard-status-silent-connection-close/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/nginx-non-standard-status-silent-connection-close/</guid><description>Nginx status code 444 silently drops a connection without sending any HTTP response to the client. Learn when and how to use it for security and traffic management.</description></item><item><title>Reject with Comment</title><link>https://lukehebert.com/post/reject-with-comment/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/reject-with-comment/</guid><description>A quick iptables one-liner to reject TCP traffic from a specific source IP with a TCP reset, tagged with a human-readable comment for future reference.</description></item><item><title>AWS VPC Overview &amp; Component Breakdown</title><link>https://lukehebert.com/post/aws-vpc-structure/</link><pubDate>Tue, 18 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/aws-vpc-structure/</guid><description>A visual walkthrough of the core networking components that make up an Amazon VPC, from subnets and gateways to security groups and route tables. Understanding how these pieces interact is essential for designing secure, well-segmented cloud networks.</description></item><item><title>PTR Records &amp; Kerberos</title><link>https://lukehebert.com/post/ptr-records/</link><pubDate>Tue, 05 Sep 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ptr-records/</guid><description>A valid PTR record must resolve to a name that resolves back to the original address. Multiple PTR records for a single address break name resolution and can cause Kerberos ticket verification to fail.</description></item><item><title>Handling Multiple CNs on a Single Certificate</title><link>https://lukehebert.com/post/handling-multiple-cns-on-a-single-certificate/</link><pubDate>Fri, 18 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/handling-multiple-cns-on-a-single-certificate/</guid><description>Multiple CNs in a certificate Subject field are deprecated and cause compatibility failures. The SAN extension is the correct way to cover multiple names on a single certificate.</description></item><item><title>400 Cannot Find Key of Appropriate Type to Decrypt AP REP</title><link>https://lukehebert.com/post/400-cannot-find-key-of-appropriate-type-to-decrypt-ap-rep/</link><pubDate>Tue, 18 Jul 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/400-cannot-find-key-of-appropriate-type-to-decrypt-ap-rep/</guid><description>A practical troubleshooting guide for the Kerberos AP REP decryption error, covering the most common causes from keytab mismatches to encryption type misconfigurations.</description></item><item><title>Check Hostname Resolution Forward and Backward Using Python or Java</title><link>https://lukehebert.com/post/check-dns-hostname-resolution-forward-and-backward-python-java/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-dns-hostname-resolution-forward-and-backward-python-java/</guid><description>Inconsistent forward and reverse DNS lookups can cause a cascade of cluster and security issues. This guide walks through quick Python and Java one-liners to verify that your hostname, IP, and reverse record all line up.</description></item><item><title>Checking Host Resolution Using getent</title><link>https://lukehebert.com/post/checking-host-resolution-using-getent/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/checking-host-resolution-using-getent/</guid><description>A quick reference for using getent to verify how your Linux system resolves hostnames, short names, and IP addresses through the full NSS chain.</description></item><item><title>hostname and hostname -f (Not Getting FQDN)</title><link>https://lukehebert.com/post/hostname-and-hostname-f-not-getting-fqdn/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/hostname-and-hostname-f-not-getting-fqdn/</guid><description>When hostname -f returns a short name instead of a fully qualified domain name, the issue usually traces back to the HOSTNAME variable in /etc/sysconfig/network or a misconfigured /etc/hosts entry. Understanding the difference between the gethostname and gethostbyname system calls makes the fix straightforward.</description></item></channel></rss>