sorry only tested that the binary is working - nothing set up
I might try the wg-on-ss though depending on my spare time...
...
alright @padima here's the wg-on-ss writeup of my experience:
I had some credits ($$$) with a (openstack) cloud provider so I used 2 instances (vps) in 2 different local networks:
- ubuntu 20.04 ip 10.20.129.233
- openwrt 22.03 ip 10.19.127.188
(x86-64 but shouldn't matter as the config is the same for all architectures)
I won't go into details of the wireguard and/or ubuntu setup as it was done mostly following:
https://www.oilandfish.com/posts/wireguard-shadowsocks.html
As for openwrt setup:
opkg install shadowsocks-libev-ss-local shadowsocks-libev-ss-redir shadowsocks-libev-ss-rules shadowsocks-libev-ss-tunnel luci-app-shadowsocks-libev
edit the shadowsocks config
vi /etc/config/shadowsocks-libev
with the following config:
config ss_tunnel
option server 'sss0'
option local_address '127.0.0.1'
option local_port '1080'
option tunnel_address '127.0.0.1:53933'
option password 'xxMY-PASS-HERExx'
option mode 'udp_only'
option timeout '300'
option disabled '0'
config server 'sss0'
option server '10.20.129.233'
option server_port '1433'
option method 'chacha20-ietf-poly1305'
option password 'xxMY-PASS-HERExx'
and ONLY wireguard network config vi /etc/config/shadowsocks-libev
and also add a static route to server (uubntu) ip
#ignore the rest
...
config wireguard_vpn 'wgserver'
option public_key '***my-pub-here***'
option preshared_key '***my-psk-here***'
option endpoint_host '127.0.0.1' #localhost ss ip
option endpoint_port '1080' #localhost ss port
option route_allowed_ips '1'
option persistent_keepalive '25'
list allowed_ips '0.0.0.0/0'
list allowed_ips '::/0'
# static route
config route 'route_to_wg_server'
option interface 'wan'
option target '10.20.129.233'
option netmask '255.255.255.255'
option gateway '10.19.127.129'
now restart the affected services:
/etc/init.d/shadowsocks-libev restart
and /etc/init.d/network restart
now you should be able to ping wg server ip from client and backwards.
some notes:
speedtest (iperf3) unencrypted traffic (remember the cloud server - Xeon CPUs)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 11.3 GBytes 9.67 Gbits/sec 8374 sender
[ 5] 0.00-10.04 sec 11.3 GBytes 9.64 Gbits/sec receiver
speedtest (iperf3) wg only encrypted traffic
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.11 GBytes 1.81 Gbits/sec 132 sender
[ 5] 0.00-10.06 sec 2.10 GBytes 1.80 Gbits/sec receiver
and speedtest (iperf3) wg+ss encrypted traffic
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 148 MBytes 124 Mbits/sec 164 sender
[ 5] 0.00-10.04 sec 146 MBytes 122 Mbits/sec receiver
so expect >> 10x bandwidth degradation with double encryption
...
managed to get wstunnel (x86-64) running and did some iperf3 speedtest:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 94.0 MBytes 78.8 Mbits/sec 190 sender
[ 5] 0.00-10.05 sec 91.6 MBytes 76.5 Mbits/sec receiver
so worst than wg-over-ss 