WireGuard Client Setup on Windows, macOS, Linux, iOS and Android
Connect devices to your WireGuard server: the client config explained, full vs split tunnel, DNS, importing on each OS, auto-connect, and fixing handshakes.
Blog
DNS, reverse proxies, bandwidth, routing and network performance.
Connect devices to your WireGuard server: the client config explained, full vs split tunnel, DNS, importing on each OS, auto-connect, and fixing handshakes.
MTU and MSS explained: why VPNs and tunnels need smaller MTUs, symptoms like hanging SSH and half-loading sites, path MTU tests with ping, and fixes.
Restore real client IPs behind Cloudflare, a load balancer or proxy: Nginx real_ip, Apache mod_remoteip, trusted proxies, X-Forwarded-For pitfalls, apps.
What each DNS record type does and how to set it up for a website and email on a VPS: A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, CAA and SRV, with examples.
A record vs CNAME: how each resolves, why the root domain can't be a CNAME, CNAME flattening and ALIAS records, www setups, CDNs, and common mistakes.
How anycast routing works with BGP, why DNS resolvers and CDNs use it, anycast vs GeoDNS, its benefits for latency and DDoS absorption, and its limits.
Set up an IPsec site-to-site VPN with strongSwan: IKEv2 and swanctl.conf, PSK vs certificates, firewalls and cloud gateways, firewall rules, debugging.
Diagnose network problems on a Linux server layer by layer: interface, routes, DNS, firewall, listening services, ping, mtr, curl, nc and packet captures.
Port forwarding explained: router forwarding for home servers, DNAT on Linux with iptables or nftables, SSH local and remote forwards, and Docker.
Publish apps through Cloudflare Tunnel with no open ports: install cloudflared, create a tunnel, route hostnames, protect apps with Access, trade-offs.
Install Tailscale on a Linux VPS, reach it privately from your devices, close public SSH, use it as an exit node or subnet router, and set ACLs.
Link two servers, data centres or an office and a VPS with a WireGuard site-to-site tunnel: peer configs, routing subnets, forwarding, multiple sites.
Set up Nginx as a reverse proxy: proxy_pass and headers, HTTPS, path routing, load balancing, caching, timeouts and common mistakes.
Test a VPS connection from the terminal with the official Speedtest CLI, pick test servers, try curl and wget downloads, and read results right.
Set up SPF, DKIM and DMARC: what each record does, SPF without hitting the 10-lookup limit, DKIM keys with OpenDKIM, a safe DMARC rollout, testing.
IPv4 vs IPv6: address format and size, NAT vs global addresses, performance, dual-stack servers, firewall rules for both, AAAA records and pitfalls.
Run a WebSocket server behind Nginx with TLS (wss://): a Node.js example, proxy headers, timeouts, systemd, authentication and limits.
Put Cloudflare in front of a VPS correctly: DNS, Full (strict) SSL, real visitor IPs in Nginx, caching, and locking the origin to Cloudflare.
Use one VPS as the HTTPS front door for services elsewhere — home servers, other VPSs or private networks — with Nginx and WireGuard.
Private IPv4 ranges 10/8, 172.16/12 and 192.168/16, CGNAT, loopback, link-local and documentation ranges, IPv6 equivalents, and avoiding overlaps.
Find where packets are dropped: measure loss with ping and mtr, read mtr correctly, local causes like NIC drops and conntrack, and what to send your provider.
Check if your server IP is on Spamhaus or other blocklists, why IPs get listed, fixing the cause, requesting delisting, and protecting your IP reputation.
SMTP ports explained: 25 for server-to-server relay, 587 with STARTTLS and 465 with TLS for submission, why port 25 is blocked, and testing each port.
Run a private proxy on a Linux VPS: an instant SOCKS5 proxy with SSH, or Squid with authentication and IP limits — never an open proxy.