RPort
  • RPort Knowledge Base
  • 👀WHAT IS RPORT
    • Features and benefits of RPort
      • Full feature list
    • Screenshots
    • Release Notes
      • 1.1.2
      • 1.1.0
      • 1.0.5
      • 1.0.4
      • 1.0.3
      • 1.0.2
      • 1.0.1
  • 🚀GETTING STARTED
  • Install the RPort Server
    • Launch RPort in the cloud
    • Install on-premises
    • Install on Vultr
    • Install on Azure
    • Install on AWS EC2
    • Install on Digital Ocean
    • Install on Scaleway
    • Install on Google Compute
    • Install on Hetzner Cloud
    • Install RPort on any virgin cloud VM
    • Change the FQDN of the RPort server
    • Enable two factor authentication
      • Use push on mobile for 2FA
      • Use TOTP
  • Connecting Clients
  • Using the remote access
    • Creating tunnels
      • VNC via browser
      • VNC via VNC® Viewer from RealVNC®
      • RDP via Browser
    • Open SSH from the browser
    • Scp,sftp through a tunnel
  • Renaming and tagging of clients
  • Organize clients with groups
  • Activate the vault
  • Manage users and permissions
  • Video Courses
    • Installation Preparation
    • Install on Prem
    • Install on Cloud
    • Client installation
    • Remote Access
    • Network communication
  • 🗣️ NEED HELP?
    • Troubleshoot common problems
      • RPort Server not starting
      • Restart rport through a tunnel
      • Attributes file path not set
      • Recover lost passwords
      • Client is not connecting
      • Id is already in use
  • 🔦DIGGING DEEPER
    • Using the API
      • Create client credentials
    • RPort Technology Explained
      • RPort Security Model
    • Commands and Scripts
      • Executing commands
      • Executing scripts
      • Tacoscript
    • The scheduler
    • File copy and reception
    • Client Configuration Options
      • Supervision of OS updates
      • Script and command execution
    • Advanced client management
      • Install the RPort client manually
      • Uninstall the RPort client
    • Server Maintenance
      • Monitoring of RPortd
      • Updating RPort
      • Backing up the rport server
      • Renewing certificates
    • FAQ
      • How to use Cloudflare
    • High Availability
    • Install on macOS
Powered by GitBook
On this page
  • Client-side failover
  • Setting up a secondary server
  • Active-Active server scenario
  • Hypervisor HA

Was this helpful?

Export as PDF
  1. DIGGING DEEPER

High Availability

Use multiple RPort servers for high availability

Client-side failover

Inside the RPort client configuration, you can specify a primary and a list of secondary rport servers. If the client loses the connection to the primary server, it automatically connects to the first secondary server from the list, going through the list until a connection to one secondary is established.

While the client is connected to a secondary server, a background process is constantly probing the primary server. If the primary server is available again, the client switches back.

Below an excerpt of the rport client configuration showing the fallback options.

[client]
  ## rportd server address.
  ## Mandatory IP address and port divided by a colon.
  server = "0.0.0.0:8080"

  ## list of fallback rportd servers to which the clients tries to connect
  ## if the above "main" server is not reachable.
  #fallback_servers = ["fallback-a.example.com:9090","fallback-b.example.com:80"]
  ## if connected to a fallback server, try every interval to switch back to the main server.
  #server_switchback_interval = '2m'

Setting up a secondary server

Currently, the rport server has no built-in clustering or data replication mechanism. To set up a secondary RPort server, you need to replicate the server data manually or with third-party software. The minimal data that must be replicated is the client authentication source. This can be either a JSON file or a SQLite database.

JSON and SQLite database files can be replicated on filesystem level. The client authentication tables or files are usually written very rarely. You can give a simple rsync approach a try.

Having the client authentication source replicated to one or many secondary RPort servers, your clients can connect to those.

Replicating only the client authentication data ensures you can always access and manage your remote machines. But for a larger setup, this is too minimalistic. User accounts, group memberships, scripts, and all other data is missing on the secondary server.

Using replicated SQLite databases is currently not officially supported and not covered by the RPort support.

Keep in mind that while clients are connected to a secondary RPort server, data is not synchronized back to the primary. This is a manual step.

Active-Active server scenario

Scenarios where two RPort servers are active and clients can connect to either one of them is not supported. Not with built-in features nor with third-party software. Therefore, load balancing over multiple RPort servers is also not supported.

Hypervisor HA

Using high availability solution provided by hypervisors is also an option. Your hypervisor will ensure your virtual machine with the RPort server is always up. This scenario doesn't require special configuration on the server nor on the rport clients.

PreviousHow to use CloudflareNextInstall on macOS

Last updated 1 year ago

Was this helpful?

So it's better to replicate all databases from the primary to the secondary servers. While SQLite doesn't have replication built-in, you can try an open-source third-party solution called .

🔦
Litestream