$linuxjunkies
>

Linux guides

24 guides in Networking · intermediate.

Networking· 10 min read

Pi-hole + Unbound on a Raspberry Pi

Set up Pi-hole as a network-wide DNS blocker paired with Unbound for fully recursive, DNSSEC-validating resolution on a Raspberry Pi — no upstream DNS provider needed.

IntermediateUbuntuDebianFedoraArch
Networking· 12 min read

IPv6 on Linux — A Practical Guide

Configure IPv6 on Linux from scratch: address types, SLAAC with privacy extensions, DHCPv6, static addressing, routing, nftables firewall rules, and dual-stack operation.

IntermediateUbuntuDebianFedoraArch
Networking· 12 min read

Set Up an OpenVPN Server

Build a complete OpenVPN server on Linux using Easy-RSA 3 for PKI, a hardened server.conf, client .ovpn profiles, and systemd — with a WireGuard comparison.

IntermediateUbuntuDebianFedoraArch
Networking· 8 min read

Expose a Service with Cloudflare Tunnel

Expose local services to the internet without port-forwarding using Cloudflare Tunnel. Install cloudflared, create a named tunnel, configure ingress rules, and run as a systemd service.

IntermediateUbuntuDebianFedoraArch
Networking· 12 min read

Build a Mesh VPN with Nebula

Build a fully self-hosted mesh VPN with Nebula: create a CA, sign node certs, configure lighthouses, enforce group-based firewall rules, and run as a systemd service.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Use Wireshark on Linux

Install Wireshark on Linux, configure non-root capture, use capture and display filters, decrypt TLS with SSLKEYLOGFILE, and follow TCP streams end-to-end.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Use tcpdump Effectively

Master tcpdump with BPF filters, ring buffer tuning, rotating pcap captures, and a systemd service wrapper — without dropping packets or wasting disk space.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Set Up systemd-resolved Cleanly

Enable systemd-resolved's stub listener, configure DNS-over-TLS, set up conditional forwarding for split-horizon DNS, and debug with resolvectl.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Diagnose Routing with mtr and traceroute

Learn to diagnose network routing problems using mtr and traceroute, covering ICMP/UDP/TCP probe types, asymmetric routing, and when results mislead you.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

VLANs on Linux

Configure 802.1Q VLAN sub-interfaces on Linux using ip link and NetworkManager, covering switch trunk port setup, persistence, and firewall integration.

IntermediateUbuntuDebianFedoraArch
Networking· 10 min read

Linux Bridges (br0 etc.) Explained

Learn how Linux bridges (br0) work, when to use them for VMs and containers, how to configure them with iproute2, and how to manage STP correctly.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Diagnose a Slow Network on Linux

Diagnose Linux network slowness layer by layer using ping, mtr, iperf3, ethtool, tcpdump, and dmesg—from bad cables to kernel buffer tuning.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Configure systemd-networkd

Learn how to configure systemd-networkd with .network unit files for static IPs, DHCP, bonding, bridges, and VLANs on modern Linux servers.

IntermediateUbuntuDebianFedoraArch
Networking· 10 min read

firewalld Zones and Rich Rules in Practice

Assign interfaces to firewalld zones, open services, write rich rules for source-based and rate-limited policies, and manage runtime vs permanent config.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Set Up Unbound as a Recursive DNS Resolver

Install Unbound, configure root hints and DNSSEC validation, and point your LAN at a private recursive DNS resolver — no upstream forwarder required.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Configure nginx as a Reverse Proxy

Configure nginx as a reverse proxy: proxy_pass basics, correct header forwarding, WebSocket upgrade handling, and TLS termination with Let's Encrypt.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Squid ACL Configuration Explained

Learn how Squid proxy ACL definitions and http_access rules work, why ordering is critical, and avoid the most common allow/deny configuration mistakes.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Set Up a VPN with WireGuard

Set up a WireGuard VPN on Linux from scratch: generate keys, configure server and client peers, enable routing, and verify a live encrypted tunnel.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Set Up a DHCP Server on Linux

Install and configure ISC DHCP or Kea on Linux: define scopes, set static reservations, inspect leases, open firewall ports, and hook into dynamic DNS.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Port Forwarding on Linux

Forward ports on Linux using nftables DNAT rules, SSH local/remote tunnels, and router NAT configuration — with persistence and troubleshooting tips.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

MTU and Packet Fragmentation Explained

Learn what MTU is, how path MTU discovery works, why it breaks, and how to diagnose and fix MTU mismatches on Linux with practical commands and examples.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Linux DNS Configuration

Configure Linux DNS end-to-end: understand /etc/resolv.conf, manage systemd-resolved, use /etc/hosts for static overrides, and verify with dig.

IntermediateUbuntuDebianFedoraArch
Networking· 8 min read

IP Masquerading and NAT on Linux

Set up IP masquerading and NAT on Linux using nftables to turn any machine into a router. Covers ip_forward, SNAT, DNAT, and iptables equivalents.

IntermediateUbuntuDebianFedoraArch
Networking· 10 min read

How TCP/IP Networking Actually Works

Trace a TCP connection from socket to wire: routing table lookups, ARP, the three-way handshake, MTU/PMTUD, and how NAT rewrites packets on a Linux gateway.

IntermediateUbuntuDebianFedoraArch