docs / rammbock / dual-connection

Dual connection

Dual connection keeps a second, warm session to the same server on a different port, ready to take over the instant the active connection is blocked. When a swap happens, the dropped side is rebuilt in the background so it’s ready for the next time.

It’s built for networks (or blocks) that kill one port but not another: the moment the active link stops passing traffic, Rammbock swaps the tunnel to the reserve in about a second, instead of waiting for a normal reconnect.

It is off by default and lives in the profile editor.


How it works

  • Rammbock maintains two full sessions to your server: the active one on the profile’s main Port, and a reserve one on the Reserve port.
  • The reserve session is fully connected but dormant — it holds its own address lease and carries no traffic until needed.
  • When the active side is detected as blocked, the tunnel is swapped to the reserve almost instantly. The now‑dead side is then reconnected in the background to become the next reserve. Roles alternate on each swap.

Because each session has its own address, a swap re‑establishes the tunnel interface — connections in flight break, but connectivity returns within about a second.


Enabling it

  1. Edit the profile and turn on Dual connection.
  2. Set the Reserve port — the port for the standby session. 992 is SoftEther’s default secondary listener; use whatever second port your server exposes.
  3. Save and connect.

On the connection screen you’ll see a Reserve link indicator showing the standby’s state (ready or connecting…).

Strongly recommended: also turn on Monitor connection quality (Connection resilience). Without it, a blocked tunnel is only noticed after a timeout; with it, the block is detected — and swapped — within seconds. The editor reminds you of this.


Choosing the reserve port

The whole point is that a block hitting the main port misses the reserve. So the reserve port should be one your server also listens on and that is likely to survive when the main one is blocked — for example 443 main / 992 reserve.

If you set the reserve port equal to the main port, the editor warns you:

The reserve port is the same as the main port — a firewall block would hit both connections at once.

That defeats the feature.


When it can’t be used

Dual connection needs two independent sessions to the same server, which rules out a few combinations. In each case the editor shows a note and the app falls back to a single connection:

Combination Why it’s blocked
Smart‑card (NFC) auth Every connection needs a live card tap, which can’t happen for a background reserve session. See Authentication.
Manual IP address Two sessions can’t share one fixed address on the server — both would answer for it.
VPN over DNS A single DNS transport carries the whole session, so there’s no second port to reserve. See VPN over DNS.

Dual connection vs. parallel connections

These sound similar but solve different problems:

Parallel connections Dual connection
Sessions One session, many links Two separate sessions
Ports Same server port Two different ports
Helps with A link stalling/dropping A whole port being blocked
Cost Low Higher (a second warm session)

Use parallel connections for everyday resilience; add dual connection when a network actively blocks specific ports.


Limitations

  • A swap breaks in‑flight connections (each session has a different address); connectivity is back in ~1 second.
  • Not available with smart‑card auth, a manual IP, or VPN over DNS (see above).
  • Best paired with connection‑quality monitoring for fast detection.