KB: Install and Config SoftEther VPN Bridge on OpenWrt Router

Compile softethervpn Package

See https://openwrt.org/packages/pkgdata_lede17_1/softethervpn for the available compiled package. Compile package for your target architecture if not available. Reference:

  Install dependency libraries

apt-get update
apt-get install -y subversion make gcc g++ libncurses5-dev libghc-zlib-dev libreadline-dev libssl-dev gawk bzip2 patch xz-utils git unzip

  Get OpenWrt and SoftEther VPN source code

git clone https://git.openwrt.org/openwrt/openwrt.git ./openwrt
cd openwrt
git checkout openwrt-18.06

./scripts/feeds update
./scripts/feeds install softethervpn


make defconfig
make menuconfig

make prepare
make package/softethervpn/compile V=99


Install – Standard Package

Installing package “softethervpn” will start all the softethervpnbridge, softethervpnserver and softethervpnclient services and may make the router unresponsive. Prepare and run the following shell script to stop the services and disable from autostart in next reboot.


while :
        /etc/init.d/softethervpnbridge disable
        /etc/init.d/softethervpnserver disable
        /etc/init.d/softethervpnclient disable
        /etc/init.d/softethervpnbridge stop
        /etc/init.d/softethervpnserver stop
        /etc/init.d/softethervpnclient stop
        sleep 1

Install package softethervpn.

Install – For router with 8MB ROM

The pre-compiled package includes all client, bridge and server which can’t fit into router with 8MB ROM. Workaround by installing only softetherbridge.

Step 1: Install dependency packages manually

opkg install libc
opkg install libpthread
opkg install librt
opkg install libreadline
opkg install libopenssl
opkg install libncurses
opkg install kmod-tun
opkg install zlib

Step 2: Expand the pre-compiled softethervpn package

tar xvfs softethervpn_4.22-9634-1_mips_24kc.ipk

Step 3: Remove softetherclient and softetherserver files from data.tar.gz

gunzip data.tar.gz
tar --delete --file data.tar ./usr/libexec/softethervpn/vpnclient
tar --delete --file data.tar ./usr/libexec/softethervpn/vpnserver
tar --delete --file data.tar ./usr/libexec/softethervpn/vpn_client.config
tar --delete --file data.tar ./usr/libexec/softethervpn/vpn_server.config
tar --list --file data.tar

Step 4: Upload data.tar to router and extract to root path /

cd /tar xvf /tmp/data.tar


Config VPN Bridge

Create a command file  (vpn_config.txt)

CascadeCreate hkvpn /SERVER:{vpnserver}:443 /HUB:{virtualhubname} /username:{username}
CascadePasswordSet {virtualhubname} /PASSWORD:{password} /TYPE:standard
CascadeOnline {virtualhubname}
BridgeCreate BRIDGE /DEVICE:{tap_devicename} /TAP:yes

Run vpncmd

vpncmd localhost:443 /SERVER /ADMINHUB:BRIDGE /IN:vpn_config.txt


Config Network Interface






Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s