Русский flag Русский

All Posts

Netplan: advanced network configuration (tunnels, VLAN, bridges, bonding)

2025-09-18


Introduction

Netplan is a utility for declarative network configuration in Linux (Ubuntu, Debian, and derivatives). It is usually used for simple cases like Ethernet or Wi-Fi, but it can do much more:

  • tunnel interfaces (IPIP, GRE, VXLAN, WireGuard),
  • VLAN,
  • bridges,
  • bonding (interface aggregation).

These features allow building complex network topologies — from home VPNs to data centers and cloud environments.


Tunnel interfaces

Tunnels encapsulate packets of one protocol into another. They are used for VPNs, inter-server connections, or network isolation.

Network Troubleshooting for Beginners: Listening to the Wires

2025-09-17


Introduction

Imagine: ping works, DNS responds, ports are open, mtr shows no loss, but curl returns errors like connection reset by peer or SSL handshake failed. There’s clearly a problem, but standard tools are powerless.

At such moments, the only option is to look at the actual traffic — in other words, “listen to the wires.” This process is called packet sniffing or packet analysis. In this article, we’ll go through how to use three key tools: tcpdump, sngrep, and Wireshark.

Network Troubleshooting for Beginners: The Swiss Army Knives of Diagnostics

2025-09-16

Introduction

Up to this point, we’ve used simple utilities for specific tasks:

  • ping checked connectivity,
  • traceroute showed the path,
  • ipconfig and arp helped with the local network,
  • telnet and nc tested ports.

That’s like having a separate hammer, screwdriver, and wrench. But sometimes you need a multi-purpose tool. Today we’ll look at three such “all-in-one” tools:

  • mtrping + traceroute on steroids,
  • nmap — universal network scanner,
  • curl — a command-line browser.

mtr — Real-Time Traceroute 🚀

What does it do?

Combines the features of ping and traceroute. In real time, it shows latency and packet loss percentage for each hop along the path.

Network Troubleshooting for Beginners: Is the Door Open? (Ports)

2025-09-15

Introduction

A server’s IP address is like the postal address of an apartment building. But to reach the right apartment, you need the door number. In networking, these doors are ports.

  • HTTP runs on port 80.
  • HTTPS — on port 443.
  • Mail, databases, and other services listen on their own ports.

If a port is closed or nothing is listening on it, the site won’t open — even if the server is “alive.”

Network Troubleshooting for Beginners: The Internet’s Phone Book (DNS)

2025-09-14

Introduction

You’ve gone through all the checks from the previous articles:

  • The computer has the correct IP address (ipconfig).
  • The router responds (ping 192.168.1.1).
  • Ping to a public address (ping 8.8.8.8) works.

Looks like the internet is fine! But the browser won’t open google.com. 🤔 Welcome to the most common cause of such issues — DNS failures.


What is DNS? 📖

The internet runs on IP addresses (e.g., 142.250.184.110), but people prefer names (google.com).

Network Troubleshooting for Beginners: Check Under Your Feet

2025-09-13

Introduction

In the previous article, we learned how to reach out to remote servers using ping and trace the path of packets with traceroute. But what if ping google.com doesn’t work, and traceroute stops right at the first step?

That’s a clear sign that the problem is nearby: on your computer, in the network cable, or in your home router. Before calling tech support, let’s check our own local network.

104 | Real-Time Revolution: Diving into the World of WebSockets and Long Polling

2025-09-12

Introduction

Modern users expect web applications to work as fast and responsive as native software. Chats, stock quotes, collaborative document editing — all these scenarios require instant data exchange. In this article, we’ll break down how Long Polling works, why it was replaced by WebSockets, and how to properly configure these technologies on popular web servers.


The Real-Time Problem and the First Solution: Long Polling

HTTP was originally designed for the request-response model: the client contacts the server, the server replies, and the connection closes. For dynamic applications, this is inconvenient.

102 | Caddy vs. Traefik vs. HAProxy vs. Nginx vs. Apache: Comparing Web Servers and Proxies

2025-09-06

Introduction

Choosing a web server and reverse proxy today depends on tasks and infrastructure. Caddy, Traefik, HAProxy, Nginx, and Apache are five popular solutions, each with its strengths and weaknesses.

In this article, we’ll compare them by key criteria: philosophy, installation, SSL, CI/CD, and complexity.


Comparison by Key Criteria

CriterionCaddyTraefikHAProxyNginxApache
PhilosophySimplicity, automatic SSLDynamic routing and Service DiscoveryHigh-performance load balancerUniversal web server and proxyClassic web server, static approach
InstallationSingle binaryContainer, requires setupSingle binary, manual configurationOS package, easy installationOS package, easy installation
SSL AutomationBuilt-in, main advantageBuilt-in, part of ecosystemNo (requires external integration, e.g., certbot)Partial (via certbot or modules)Partial (via certbot or modules)
CI/CDVery easy integrationIdeal for microservicesUsed for high-load balancingRequires manual steps, integration possibleRequires manual steps, integration possible
ComplexityLow, beginner-friendlyMedium/high, requires orchestrator knowledgeMedium, more complex configsMedium, rich ecosystemMedium, often bloated configs
PerformanceGood, but not top-tierGoodExcellent, optimized for load balancingExcellentAverage
Best Use CaseLocal development, quick MVPsDocker/Kubernetes, microservicesHigh-load systems, load balancingUniversal choice for web and proxyStatic site hosting, legacy systems

Who Is It For?

🔹 Caddy

Ideal for:

101 | Traefik: A Dynamic Router for the Container Era

2025-09-05

Introduction

Unlike Caddy, which focuses on simplicity, Traefik (pronounced Traffic) was built to solve one specific task: routing traffic in dynamic environments.

It is a reverse proxy and load balancer designed specifically for Docker, Kubernetes, and other orchestrators. The main difference from Nginx is not static configuration, but the ability to automatically discover and serve services.


Key Concepts: Dynamic Configuration

The philosophy of Traefik is built on the principle of Service Discovery.

Logrotate and Docker: Why and How?

2025-09-05


Introduction

Logrotate is a powerful tool for log management in Linux, but its interaction with Docker has its own specifics. This guide explains how to properly use logrotate with Docker containers and when it’s better to rely on Docker’s built-in log management tools.


Docker Containers and Logs

Docker collects logs from the standard output streams (stdout and stderr) of containers and, by default, stores them as JSON files:


/var/lib/docker/containers/\<container\_id>/\<container\_id>-json.log

If a container generates a lot of logs, these files can take up gigabytes and quickly consume all available disk space.