Two-server cascade: Russian traffic direct, the rest abroad
A cascade (double VPN) chains two AmneziaWG servers. The client connects to an entry server; Russian traffic exits directly from it, and everything else goes through a second server abroad. The split is on the server side, so clients need no special setup.
How it works
One client connection, two servers, traffic split by destination.
Entry server (in Russia)
Clients connect here. This server decides where each flow goes and holds all the cascade logic. Russian sites are reached directly from its IP, so they open fast and accept the connection.
Exit server (abroad)
A normal AmneziaWG server abroad. The entry server connects to it as a client and forwards everything that is not Russian, so foreign sites see a clean foreign IP.
Split by destination
The list of Russian networks is loaded into an ipset. Traffic to those addresses goes direct; the rest is marked and routed through the exit. No per-app rules, no client-side lists.
When this helps
A normal VPN sends all traffic through one exit. A cascade gives you two at once.
You want fast access to Russian resources from a Russian address and a foreign exit for everything else - from a single connection on the client. Russian sites that refuse foreign IPs keep working, foreign sites get a clean exit, and the whole decision is made on the server, identically for every client. If a plain single-server install is enough, or if per-destination routing is simpler to set on the client, you do not need this. The cascade is for when the split belongs on the server.
Built on a verified setup
The guide is not a sketch - the routing was tested end to end.
The cascade runs on top of two normal amneziawg-installer installs. The guide ships an idempotent routing script and a systemd unit so the split comes back by itself after a reboot. It was checked on a live two-server stand: the split routing, repeated runs, and reboot persistence all hold. The scheme is based on a community show-and-tell by @glfenix and is documented in full in the repository.