Skip to main content
Connect Supaboard to databases that live entirely inside a private network by peering your VPN gateway with Supaboard over an IKEv2 IPsec site-to-site tunnel. Once the tunnel is up, Supaboard reaches your database at its private IP address — nothing in your network needs a public IP, a bastion host, or an inbound firewall exception for database traffic. Available on: Postgres, MySQL, Microsoft SQL Server, Oracle, MongoDB, ClickHouse, and Redshift. Not available on Snowflake, BigQuery, and Databricks — those are vendor-hosted services with public endpoints, so there is no private network to tunnel into.

How it works

  • Supaboard runs its own IPsec gateways and initiates the tunnel on demand — the first time a connection is tested or used, and automatically after any outage. Your gateway can be configured as a responder only.
  • Supaboard connects from multiple regions, so your gateway needs one tunnel definition per Supaboard IP (the same public IPs shown under Whitelist IPs in the connector form).
  • Traffic selectors are narrow by default: <Supaboard IP>/32 ↔ <your database host>/32. Only database traffic crosses the tunnel.
  • Dead-peer detection runs every 30 seconds and the tunnel re-establishes itself after network interruptions or rekeys.
  • Multiple Supaboard connections that share the same gateway and pre-shared key share a single tunnel.

Requirements

  • A VPN gateway that supports IKEv2 with pre-shared key authentication (strongSwan, pfSense/OPNsense, FortiGate, Cisco ASA/FTD, Palo Alto, AWS Virtual Private Gateway, Azure VPN Gateway, and similar all qualify)
  • Your database reachable from the gateway at a private IP address — enter that IP as the Host in the connector form. Private DNS names do not resolve from Supaboard.
  • Gateway firewall allows UDP 500 (IKE) and UDP 4500 from each Supaboard IP — Supaboard always UDP-encapsulates ESP (NAT-T framing), so raw ESP/protocol 50 is never required

Configure your gateway

Create one IKEv2 tunnel per Supaboard IP with these settings: If your gateway uses a custom IKE identity instead of its public IP, contact support to have it set on the Supaboard side — by default Supaboard expects the peer ID to equal the gateway address.

OCI managed Site-to-Site VPN

Oracle Cloud’s managed VPN terminates a separate connection per peer: you create one CPE (customer-premises equipment) object per Supaboard IP, and each resulting IPSec connection gets its own Oracle tunnel-endpoint IP. Supaboard supports this natively — the VPN Gateway Address field accepts a per-server mapping:
  1. In OCI, create one CPE per Supaboard IP (CPE IP = the Supaboard IP).
  2. Create one IPSec connection per CPE on your DRG, static routing, with the route to the on-premises network set to that Supaboard IP /32.
  3. On each connection, open Tunnel 1, set a shared secret — use the same PSK on every tunnel — and note the Oracle VPN IP address (the tunnel endpoint). OCI’s usual custom-algorithm choices (phase 1 AES-256-CBC / SHA2_384 / GROUP20, phase 2 AES-256-CBC / HMAC_SHA1_128 / GROUP20) are supported as-is — no need to change them.
  4. In the Supaboard connector’s VPN Gateway Address field, enter one supaboard-ip=oracle-tunnel-ip pair per connection, comma-separated:
Each Supaboard server automatically uses its own entry. The same mapping form works for any provider that assigns a distinct tunnel endpoint per peer (AWS Site-to-Site VPN behaves the same way). Tunnel 2 of each OCI connection is unused — Supaboard initiates a single tunnel per server.

Example: strongSwan responder

Configure the Supaboard connector

In the connector form, enable Use IPsec site-to-site VPN: Then set the Host field to the database’s private IP address and use Test Connection. Tunnel negotiation happens during the test — an IKE failure (wrong PSK, blocked port) is reported directly in the test result.
Database auto-discovery (the database/schema dropdowns) does not run through the VPN before the connection is saved — enter the database name manually and rely on Test Connection.
Once connected, the connection details page shows the live tunnel state (tunnel_type: ipsec, tunnel_active), which distinguishes a tunnel outage from a database outage.

IPsec or SSH tunnel?

Troubleshooting

Last modified on October 2, 2026