Netplan: Configure a Static IP Address on Ubuntu
Set a static IP on Ubuntu with Netplan: YAML structure, addresses, routes, DNS, multiple IPs, netplan try for safe changes, and fixing common errors.
Blog
DNS, reverse proxies, bandwidth, routing and network performance.
Set a static IP on Ubuntu with Netplan: YAML structure, addresses, routes, DNS, multiple IPs, netplan try for safe changes, and fixing common errors.
Why DNS changes aren't instant: TTLs, resolver caching, record vs nameserver changes, checking propagation with dig, and zero-downtime server migrations.
HTTP/1.1 vs HTTP/2 vs HTTP/3: multiplexing, header compression, head-of-line blocking, QUIC over UDP, performance impact, and enabling each on your server.
How MX records route email: priorities, Google Workspace, Microsoft 365 or your own mail server, rules (no CNAME, no IP), testing and troubleshooting.
Use nslookup to check A, MX, TXT and NS records, query a specific DNS server, do reverse lookups and use interactive mode, on Windows and Linux alike.
CIDR notation explained: /24 and /32, subnet masks, network and broadcast addresses, host counts, splitting networks, IPv6 prefixes, and firewall use.
Measure latency and packet loss with ping, map the path with traceroute, combine both with mtr, and learn what really indicates a network problem.
Get mail from your VPS into the inbox: PTR and HELO, SPF, DKIM and DMARC alignment, IP and domain reputation, Gmail and Outlook sender rules, and testing.
Set up a Squid HTTP/HTTPS forward proxy on a VPS: install, allow only your IPs or password users, HTTPS via CONNECT, caching, logging, no open proxy.
BGP made approachable: autonomous systems and ASNs, prefixes and announcements, peering vs transit, why routes affect latency, BGP hijacks and RPKI.
Run Headscale, the open-source Tailscale control server, on a VPS: install, TLS, users, registering devices, ACL policies, MagicDNS and exit nodes.
Open a TCP or UDP port on Ubuntu, Debian, AlmaLinux and Rocky with UFW, firewalld, iptables or nftables — and make sure a service is actually listening on it.
Load balancing compared: layer 4 vs layer 7, DNS round robin and GeoDNS, Nginx, HAProxy and Envoy, algorithms, health checks, sticky sessions, HA.
Use HAProxy in TCP mode: proxy and balance MySQL, PostgreSQL and Redis, health checks, SNI routing for TLS passthrough, the PROXY protocol, timeouts.
Host your own DNS zones with PowerDNS: SQLite or MySQL backend, zones and records with pdnsutil, primary and secondary servers, DNSSEC, API and web UI.
Add a static IPv6 address and gateway on Ubuntu, Debian or RHEL, test connectivity, make Nginx and the firewall IPv6-ready, and fix common IPv6 problems.
How NAT works: private networks sharing public IPs, SNAT vs DNAT, connection tracking, CGNAT and its hosting problems, NAT on Linux servers, IPv6.
What CN2 and CN2 GIA are, how they differ from China Telecom’s 163 backbone and CN2 GT, why they matter for users in China, and checking routes with mtr.
List listening ports and the processes behind them with ss, netstat and lsof, find what uses a port, and scan your server from outside with nmap.
How DNSSEC protects DNS answers from forgery: signatures, DNSKEY and DS records, the chain of trust, enabling it at your DNS host, and avoiding outages.
What DNS TXT records do: domain verification, SPF, DKIM and DMARC, ACME challenges, formatting long values, multiple TXT records, and checking them.
Use CAA records to allow only Let’s Encrypt or your chosen CA, restrict wildcards with issuewild, add iodef reports, and avoid breaking renewals.
Track traffic per hour, day and month with vnStat: install, pick the interface, live rates, monthly totals against your plan, alerts, and JSON output.
Build your own WireGuard VPN on a VPS: install, generate keys, configure wg0, enable IP forwarding and NAT, add clients with QR codes and troubleshoot.