Installing SoftEther VPN Bridge

This chapter describes how to install SoftEther VPN Bridge on a server running Windows or Linux.

Before Installation

Purpose of VPN Bridge

SoftEther VPN Bridge is designed for:

  • Creating a bridge connection between a physical and a virtual network
  • Cascade connections to remote VPN servers
  • Extending existing LANs over the Internet
  • Building distributed networks at the L2 level

System Requirements

Minimum requirements:

  • CPU: 1 GHz Intel/AMD processor
  • RAM: 256 MB
  • Disk: 100 MB of free space
  • Network card: Ethernet adapter

Recommended requirements:

  • CPU: Multi-core processor 2+ GHz
  • RAM: 1 GB or more
  • Disk: 500 MB of free space
  • Network card: Gigabit Ethernet

Network requirements

  • Physical network adapter for the bridge connection
  • Access to a remote VPN server
  • Appropriate permissions to create bridges (Linux)

Installation on Windows

Download and Installation

  1. Download SoftEther VPN Bridge for Windows from the official website

  2. Run the installer as administrator

  3. Select the “SoftEther VPN Bridge” component

  4. Choose the installation mode:

    • Service Mode: for continuous operation (recommended)
    • User Mode: for testing

Initial Setup

  1. Launch “SoftEther VPN Bridge Manager”
  2. Connect to localhost
  3. Set an administrator password if required

Installation on Linux

Preparing the System

# Ubuntu/Debian
sudo apt update
sudo apt install build-essential bridge-utils -y

# CentOS/RHEL  
sudo yum update -y
sudo yum groupinstall "Development Tools" -y
sudo yum install bridge-utils -y

Download and Compilation

# Create the directory
cd /opt
sudo mkdir softether-bridge
cd softether-bridge

# Download the source code
sudo wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.XX-XXXX-stable/softether-vpnbridge-v4.XX-XXXX-stable-linux-x64-64bit.tar.gz

# Extract and compile
sudo tar xzf softether-vpnbridge-*.tar.gz
cd vpnbridge
sudo make

# Set permissions
sudo chmod 600 *
sudo chmod 700 vpnbridge vpncmd

Creating the Service

sudo vi /etc/systemd/system/softether-vpnbridge.service

Contents:

[Unit]
Description=SoftEther VPN Bridge
After=network.target

[Service]
Type=forking
User=root
ExecStart=/opt/softether-bridge/vpnbridge/vpnbridge start
ExecStop=/opt/softether-bridge/vpnbridge/vpnbridge stop
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

Starting the Service

sudo systemctl daemon-reload
sudo systemctl enable softether-vpnbridge
sudo systemctl start softether-vpnbridge

Configuring a Local Bridge

Connecting to Management

# Via vpncmd
cd /opt/softether-bridge/vpnbridge
sudo ./vpncmd localhost /bridge

# Set the password (on first connection)
PasswordSet bridgepassword

Viewing Available Network Adapters

# List physical network devices
BridgeDeviceList

You will see something like this:

Device Name        |Status
-------------------|------
eth0              |Up
eth1              |Down  
wlan0             |Up

Creating a Local Bridge

# Create a bridge with an Ethernet adapter
BridgeCreate BRIDGE1 /DEVICE:"eth0"

# To create a TAP device (Linux)
BridgeCreate TAPBRIDGE /DEVICE:"tap_softether" /TAP:yes

Verifying the Created Bridge

# List active bridges
BridgeList

9.5 Configuring a Cascade Connection

Creating a Cascade Connection

# Create a cascade to a remote VPN server
CascadeCreate "HQ_Connection" /SERVER:hq.company.com:443 /HUB:BRANCH_OFFICE /USERNAME:bridge_user

# Set the password for the cascade
CascadePasswordSet "HQ_Connection" /PASSWORD:bridge_password /TYPE:standard

Configuring Cascade Parameters

# Additional cascade settings
CascadeSet "HQ_Connection" /KEEPALIVE:yes /USECOMPRESS:yes /USEENCRYPT:yes

# Reconnection settings
CascadeRetrySet "HQ_Connection" /NUM:10 /INTERVAL:30

Bringing the Cascade Online

# Bring the cascade online
CascadeOnline "HQ_Connection"

# Check the status
CascadeStatusGet "HQ_Connection"

Combined Setup (Bridge + Cascade)

Scenario: Connecting a Local Network to a Remote Office

# 1. Create a cascade connection to the main office
CascadeCreate "MainOffice" /SERVER:vpn.company.com:443 /HUB:CORPORATE /USERNAME:branch01

# 2. Set the authentication credentials
CascadePasswordSet "MainOffice" /PASSWORD:secretpass

# 3. Create a local bridge with the physical network
BridgeCreate LocalLAN /DEVICE:"eth0"

# 4. Bring the cascade online
CascadeOnline "MainOffice"

After this setup:

  • The local physical network will be connected to the Virtual Hub on the remote server
  • All devices on the local network will gain access to the corporate network
  • Traffic will be forwarded at the L2 level (transparent to all protocols)

Advanced Configuration

Configuring Multiple Bridges

# Bridge for the local network
BridgeCreate LocalLAN /DEVICE:"eth0"

# Bridge for the DMZ
BridgeCreate DMZ /DEVICE:"eth1"

# Cascades to different servers
CascadeCreate "HQ_LAN" /SERVER:hq.company.com:443 /HUB:CORPORATE /USERNAME:branch_lan
CascadeCreate "HQ_DMZ" /SERVER:hq.company.com:443 /HUB:DMZ /USERNAME:branch_dmz

VLAN Configuration

# If your network uses VLANs, the Bridge handles the tags automatically
# No additional configuration is required

Monitoring and Diagnostics

Monitoring Bridges

# Status of all bridges
BridgeList

# Bridge traffic statistics
# (information is shown in BridgeList)

Monitoring Cascade Connections

# List all cascades
CascadeList

# Detailed information about a cascade
CascadeGet "MainOffice"

# Cascade connection statistics
CascadeStatusGet "MainOffice"

Logging

# Enable connection logging
LogEnable connection /SWITCH:yes

# Enable packet logging (for debugging)
LogEnable packet /SWITCH:yes

# View the logs
LogList

Security

Configuring Certificates

# Add a certificate for cascade authentication
CertAdd /CERTFILE:bridge.crt /KEYFILE:bridge.key

# Use the certificate for the cascade
CascadeSet "MainOffice" /AUTH:cert /CERT:bridge.crt

Configuring Trusted Certificates

# Add the server's root certificate
CaAdd /CERTFILE:ca.crt

# Verify server certificates
CascadeSet "MainOffice" /VERIFYCERT:yes

Troubleshooting

Bridge Connection Issues

# Check the state of the network interfaces
BridgeDeviceList

# Check bridge activity (should show traffic)
BridgeList

Cascade Connection Issues

# Check the cascade status
CascadeStatusGet "MainOffice"

# If the cascade does not connect, check:
# 1. Server availability
# 2. Correctness of the credentials
# 3. Firewall settings

Network Diagnostics

Linux:

# Check the network interfaces
ip link show

# Check bridges (if a Linux bridge is used)
brctl show

# Monitor traffic
tcpdump -i eth0

Configuration Examples

Example 1: Simple Branch Connection

# Connect a branch to the main office
CascadeCreate "HeadOffice" /SERVER:vpn.company.com:443 /HUB:CORPORATE /USERNAME:branch_moscow
CascadePasswordSet "HeadOffice" /PASSWORD:moscow_branch_2024
BridgeCreate LocalNetwork /DEVICE:"eth0"
CascadeOnline "HeadOffice"

Example 2: Redundant Connections

# Primary connection
CascadeCreate "Primary" /SERVER:vpn1.company.com:443 /HUB:CORPORATE /USERNAME:branch01
CascadePasswordSet "Primary" /PASSWORD:primary_pass

# Backup connection  
CascadeCreate "Backup" /SERVER:vpn2.company.com:443 /HUB:CORPORATE /USERNAME:branch01
CascadePasswordSet "Backup" /PASSWORD:backup_pass

# Local bridge
BridgeCreate LocalNet /DEVICE:"eth0"

# Bring the primary channel online
CascadeOnline "Primary"

# Switch to the backup if needed:
# CascadeOffline "Primary"
# CascadeOnline "Backup"

Example 3: Multi-Network Configuration

# Connect the LAN network
CascadeCreate "LAN_Connection" /SERVER:hq.company.com:443 /HUB:LAN /USERNAME:branch_lan
BridgeCreate LAN_Bridge /DEVICE:"eth0"

# Connect the server network
CascadeCreate "Server_Connection" /SERVER:hq.company.com:443 /HUB:SERVERS /USERNAME:branch_srv  
BridgeCreate Server_Bridge /DEVICE:"eth1"

# Bring both cascades online
CascadeOnline "LAN_Connection"
CascadeOnline "Server_Connection"
Reviewed by OpenNix LLC · Last updated on