All Projects → siomiz → Softethervpn

siomiz / Softethervpn

Licence: mit
A Docker Automated Build Repository for SoftEther VPN

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Softethervpn

Docker Openvpn
🔐 Out of the box stateless openvpn-server docker image which starts in less than 2 seconds
Stars: ✭ 174 (-41.41%)
Mutual labels:  vpn, vpn-server, docker-image
Docker Ipsec Vpn Server
Docker image to run an IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
Stars: ✭ 4,356 (+1366.67%)
Mutual labels:  vpn, vpn-server, docker-image
terraform-aws-pritunl-vpn-server
Pritunl VPN Server for your public/private like VPC on AWS
Stars: ✭ 40 (-86.53%)
Mutual labels:  vpn, vpn-server
openconnect-installer
Automatically set up an Openconnect/Anyconnect VPN server(ocserv) with Let's Encrypt with just one command in CentOS 8.
Stars: ✭ 64 (-78.45%)
Mutual labels:  vpn, vpn-server
vpn-user-portal
VPN User Portal
Stars: ✭ 23 (-92.26%)
Mutual labels:  vpn, vpn-server
topvpn.github.io
Top VPN in China (mainland) 在全球(含中國大陆)好用的国外优质付费vpn推荐
Stars: ✭ 27 (-90.91%)
Mutual labels:  vpn, vpn-server
Wireguard-DNScrypt-VPN-Server
Fast setup wireguard server script, with dnscrypt and adblocking, maleware blocking, more blocking if you need. Use case eg. always on vpn and adblocking on ios or android, and be more secured in unknown networks.
Stars: ✭ 48 (-83.84%)
Mutual labels:  vpn, vpn-server
VPN
Personal vpn using v2ray and shadowsocks hosted on heroku
Stars: ✭ 154 (-48.15%)
Mutual labels:  vpn, vpn-server
KidVPN
The world's smallest VPN server and client.
Stars: ✭ 63 (-78.79%)
Mutual labels:  vpn, vpn-server
k8s-ovpn-chart
[DEPRECATED] Helm chart for a private OpenVPN server
Stars: ✭ 19 (-93.6%)
Mutual labels:  vpn, vpn-server
docker-pritunl
Ubuntu Xenial + Pritunl
Stars: ✭ 109 (-63.3%)
Mutual labels:  vpn, vpn-server
Setup Ipsec Vpn
Scripts to build your own IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
Stars: ✭ 16,987 (+5619.53%)
Mutual labels:  vpn, vpn-server
Shadowsocks Heroku
本项目已删除
Stars: ✭ 224 (-24.58%)
Mutual labels:  vpn, vpn-server
vpns
A collection of vpns
Stars: ✭ 112 (-62.29%)
Mutual labels:  vpn, vpn-server
Arch Rtorrentvpn
Docker build script for Arch Linux base with ruTorrent, rTorrent, autodl-irssi, Privoxy and OpenVPN
Stars: ✭ 185 (-37.71%)
Mutual labels:  vpn, docker-image
ezpptp
Easy PPTP VPN setup script for Debian based VPS
Stars: ✭ 87 (-70.71%)
Mutual labels:  vpn, vpn-server
Vpnforchina.github.io
2021中国翻墙软件和科学上网推荐指南,最新稳定好用的翻墙VPN推荐,能用的VPN梯子不多了,以及对比VPS自建梯子、SSR机场、V2ray、蓝灯、老王VPN、WireGuard等翻墙软件和科学上网方法。
Stars: ✭ 272 (-8.42%)
Mutual labels:  vpn, vpn-server
Tizi
✅ ✅ ✅ 梯子 TOP推荐(持续更新) ✅ ✅ ✅ PC梯子,Windows梯子,电脑梯子,国外好用梯子,推荐翻墙梯子软件,海外加速器梯子,国外vpn,科学上网工具,靠谱iPhone/iPad/安卓/Android/Mac/Linux/PC/路由器都可以用的梯子
Stars: ✭ 168 (-43.43%)
Mutual labels:  vpn, vpn-server
Macos Openvpn Server
macOS OpenVPN Server and Client Configuration (OpenVPN, Tunnelblick, PF)
Stars: ✭ 172 (-42.09%)
Mutual labels:  vpn, vpn-server
iosvpn.github.io
iPhone和iOS 翻墙梯子VPN推荐,2022中国苹果手机iPhone翻墙软件和科学上网避坑指南,稳定梯子推荐。
Stars: ✭ 72 (-75.76%)
Mutual labels:  vpn, vpn-server

A simple* SoftEther VPN server Docker image

* "Simple" as in no configuration parameter is needed for a single-user SecureNAT setup.

Image Tags

Base OS Image Latest Stable (v4.34-9745-beta) Previous Base v4.29-9680-rtm
centos:8 :latest, :centos, :9745, :4.34, :9745-centos, :4.34-centos centos:7 :9680, :4.29, :9680-centos, 4.29-centos
debian:10-slim :debian, :9745-debian, :4.34-debian debian:10-slim :9680-debian, :4.29-debian
alpine:3.12 :alpine, :9745-alpine, :4.34-alpine alpine:3.9 :9680-alpine, :4.29-alpine
ubuntu:20.04 :ubuntu, :9745-ubuntu, :4.34-ubuntu ubuntu:18.04 :9680-ubuntu, :4.29-ubuntu

Setup

docker run -d --cap-add NET_ADMIN -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -p 1194:1194/udp -p 5555:5555/tcp siomiz/softethervpn

Connectivity tested on Android + iOS devices. It seems Android devices do not require L2TP server to have port 1701/tcp open.

The above example will accept connections from both L2TP/IPSec and OpenVPN clients at the same time.

Mix and match published ports:

  • -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp for L2TP/IPSec
  • -p 1194:1194/udp for OpenVPN.
  • -p 443:443/tcp for OpenVPN over HTTPS.
  • -p 5555:5555/tcp for SoftEther VPN (recommended by vendor).
  • -p 992:992/tcp is also available as alternative.

Any protocol supported by SoftEther VPN server is accepted at any open/published port (if VPN client allows non-default ports).

Credentials

All optional:

  • -e PSK: Pre-Shared Key (PSK), if not set: "notasecret" (without quotes) by default.
  • -e USERS: Multiple usernames and passwords may be set with the following pattern: username:password;user2:pass2;user3:pass3. Username and passwords are separated by :. Each pair of username:password should be separated by ;. If not set a single user account with a random username ("user[nnnn]") and a random weak password is created.
  • -e SPW: Server management password. ⚠️
  • -e HPW: "DEFAULT" hub management password. ⚠️

Single-user mode (usage of -e USERNAME and -e PASSWORD) is still supported.

See the docker log for username and password (unless -e USERS is set), which would look like:

# ========================
# user6301
# 2329.2890.3101.2451.9875
# ========================

Dots (.) are part of the password. Password will not be logged if specified via -e USERS; use docker inspect in case you need to see it.

⚠️ if not set a random password will be set but not displayed nor logged. If specifying read the notice below.

Notice

If you specify credentials using environment variables (-e), they may be revealed via the process list on host (ex. ps(1) command) or docker inspect command. It is recommended to mount an already-configured SoftEther VPN config file at /opt/vpn_server.config, which contains hashed passwords rather than raw ones. The initial setup will be skipped if this file exists at runtime (in entrypoint script). You can obtain this file from a running container using docker cp command.

Configurations

To make the server configurations persistent beyond the container lifecycle (i.e. to make the config survive a restart), mount a complete config file at /usr/vpnserver/vpn_server.config. If this file is mounted the initial setup will be skipped. To obtain a config file template, docker run the initial setup with Server & Hub passwords, then docker cp out the config file:

$ docker run --name vpnconf -e SPW=<serverpw> -e HPW=<hubpw> siomiz/softethervpn echo
$ docker cp vpnconf:/usr/vpnserver/vpn_server.config /path/to/vpn_server.config
$ docker rm vpnconf
$ docker run ... -v /path/to/vpn_server.config:/usr/vpnserver/vpn_server.config siomiz/softethervpn

Refer to SoftEther VPN Server Administration manual for more information.

Logging

By default SoftEther has a very verbose logging system. For privacy or space constraints, this may not be desirable. The easiest way to solve this create a dummy volume to log to /dev/null. In your docker run you can use the following volume variables to remove logs entirely.

-v /dev/null:/usr/vpnserver/server_log \
-v /dev/null:/usr/vpnserver/packet_log \
-v /dev/null:/usr/vpnserver/security_log

Server & Hub Management Commands

Management commands can be executed just before the server & hub admin passwords are set via:

Example: Set MTU via NatSet Hub management command: -e VPNCMD_HUB='NatSet /MTU:1500'

Note that commands run only if the config file is not mounted. Some commands (like ServerPasswordSet) will cause problems.

OpenVPN

docker run -d --cap-add NET_ADMIN -p 1194:1194/udp siomiz/softethervpn

The entire log can be saved and used as an .ovpn config file (change as needed).

Server CA certificate will be created automatically at runtime if it's not set. You can supply a self-signed 1024-bit RSA certificate/key pair created locally OR use the gencert script described below. Feed the keypair contents via -e CERT and -e KEY (use of --env-file is recommended). X.509 markers (like -----BEGIN CERTIFICATE-----) and any non-BASE64 character (incl. newline) can be omitted and will be ignored.

Examples (assuming bash; note the double-quotes " and backticks `):

  • -e CERT="`cat server.crt`" -e KEY="`cat server.key`"
  • -e CERT="MIIDp..b9xA=" -e KEY="MIIEv..x/A=="
  • --env-file /path/to/envlist

env-file template can be generated by:

docker run --rm siomiz/softethervpn gencert > /path/to/envlist

The output will have CERT and KEY already filled in. Modify PSK/USERS.

Certificate volumes support (like -v or --volumes-from) will be added at some point...

License

MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].