Giter VIP home page Giter VIP logo

docker-openvpn-as's Introduction

linuxserver.io

Blog Discord Discourse Fleet GitHub Open Collective

The LinuxServer.io team brings you another container release featuring:

  • regular and timely application updates
  • easy user mappings (PGID, PUID)
  • custom base image with s6 overlay
  • weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
  • regular security updates

Find us at:

  • Blog - all the things you can do with our containers including How-To guides, opinions and much more!
  • Discord - realtime support / chat with the community and the team.
  • Discourse - post on our community forum.
  • Fleet - an online web interface which displays all of our maintained images.
  • GitHub - view the source for all of our repositories.
  • Open Collective - please consider helping us by either donating or contributing to our budget

DEPRECATION NOTICE

This image is deprecated. We will not offer support for this image and it will not be updated. We recommend our wireguard image instead for vpn: https://github.com/linuxserver/docker-wireguard

GitHub Stars GitHub Release GitHub Package Repository GitLab Container Registry MicroBadger Layers Docker Pulls Docker Stars Jenkins Build LSIO CI

Openvpn-as is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.

openvpn-as

Supported Architectures

We utilise the docker manifest for multi-platform awareness. More information is available from docker here and our announcement here.

Simply pulling ghcr.io/linuxserver/openvpn-as should retrieve the correct image for your arch, but you can also pull specific arch images via tags.

The architectures supported by this image are:

Architecture Tag
x86-64 latest

Version Tags

This image provides various versions that are available via tags. latest tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.

Tag Description
latest DEPRECATED, no longer updated - Stable releases based on ubuntu bionic
xenial DEPRECATED, no longer updated - Stable releases based on ubuntu xenial

Application Setup

The admin interface is available at https://DOCKER-HOST-IP:943/admin (assuming bridge mode) with a default user/password of admin/password

During first login, make sure that the "Authentication" in the webui is set to "Local" instead of "PAM". Then set up the user accounts with their passwords (user accounts created under PAM do not survive container update or recreation).

The "admin" account is a system (PAM) account and after container update or recreation, its password reverts back to the default. It is highly recommended to block this user's access for security reasons:

  1. Create another user and set as an admin,
  2. Log in as the new user,
  3. Delete the "admin" user in the gui,
  4. Modify the as.conf file under config/etc and replace the line boot_pam_users.0=admin with #boot_pam_users.0=admin boot_pam_users.0=kjhvkhv (this only has to be done once and will survive container recreation)
  • IMPORTANT NOTE: Commenting out the first pam user in as.conf creates issues in 2.7.5. To make it work while still blocking pam user access, uncomment that line and change admin to a random nonexistent user as described above.

To ensure your devices can connect to your VPN properly, goto Configuration -> Network Settings -> and change the "Hostname or IP Address" section to either your domain name or public ip address.

Usage

Here are some example snippets to help you get started creating a container.

docker-compose (recommended)

Compatible with docker-compose v2 schemas.

---
version: "2.1"
services:
  openvpn-as:
    image: ghcr.io/linuxserver/openvpn-as
    container_name: openvpn-as
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - INTERFACE=eth0 #optional
    volumes:
      - <path to data>:/config
    ports:
      - 943:943
      - 9443:9443
      - 1194:1194/udp
    restart: unless-stopped

docker cli

docker run -d \
  --name=openvpn-as \
  --cap-add=NET_ADMIN \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e INTERFACE=eth0 `#optional` \
  -p 943:943 \
  -p 9443:9443 \
  -p 1194:1194/udp \
  -v <path to data>:/config \
  --restart unless-stopped \
  ghcr.io/linuxserver/openvpn-as

Parameters

Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container.

Parameter Function
-p 943 Admin GUI port.
-p 9443 TCP port.
-p 1194/udp UDP port.
-e PUID=1000 for UserID - see below for explanation
-e PGID=1000 for GroupID - see below for explanation
-e TZ=Europe/London Specify a timezone to use EG Europe/London.
-e INTERFACE=eth0 With bridge networking, leave it as eth0 (or don't include at all), if host or macvlan, set it to your host's network interface, found by running ifconfig
-v /config Where openvpn-as should store configuration files.

Environment variables from files (Docker secrets)

You can set any environment variable from a file by using a special prepend FILE__.

As an example:

-e FILE__PASSWORD=/run/secrets/mysecretpassword

Will set the environment variable PASSWORD based on the contents of the /run/secrets/mysecretpassword file.

Umask for running applications

For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional -e UMASK=022 setting. Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up here before asking for support.

User / Group Identifiers

When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1000 and PGID=1000, to find yours use id user as below:

  $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

Docker Mods

Docker Mods Docker Universal Mods

We publish various Docker Mods to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.

Support Info

  • Shell access whilst the container is running: docker exec -it openvpn-as /bin/bash
  • To monitor the logs of the container in realtime: docker logs -f openvpn-as
  • container version number
    • docker inspect -f '{{ index .Config.Labels "build_version" }}' openvpn-as
  • image version number
    • docker inspect -f '{{ index .Config.Labels "build_version" }}' ghcr.io/linuxserver/openvpn-as

Updating Info

Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the Application Setup section above to see if it is recommended for the image.

Below are the instructions for updating containers:

Via Docker Compose

  • Update all images: docker-compose pull
    • or update a single image: docker-compose pull openvpn-as
  • Let compose update all containers as necessary: docker-compose up -d
    • or update a single container: docker-compose up -d openvpn-as
  • You can also remove the old dangling images: docker image prune

Via Docker Run

  • Update the image: docker pull ghcr.io/linuxserver/openvpn-as
  • Stop the running container: docker stop openvpn-as
  • Delete the container: docker rm openvpn-as
  • Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your /config folder and settings will be preserved)
  • You can also remove the old dangling images: docker image prune

Via Watchtower auto-updater (only use if you don't remember the original parameters)

  • Pull the latest image at its tag and replace it with the same env variables in one run:

    docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --run-once openvpn-as
  • You can also remove the old dangling images: docker image prune

Note: We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.

Image Update Notifications - Diun (Docker Image Update Notifier)

  • We recommend Diun for update notifications. Other tools that automatically update containers unattended are not recommended or supported.

Building locally

If you want to make local modifications to these images for development purposes or just to customize the logic:

git clone https://github.com/linuxserver/docker-openvpn-as.git
cd docker-openvpn-as
docker build \
  --no-cache \
  --pull \
  -t ghcr.io/linuxserver/openvpn-as:latest .

The ARM variants can be built on x86_64 hardware using multiarch/qemu-user-static

docker run --rm --privileged multiarch/qemu-user-static:register --reset

Once registered you can define the dockerfile to use with -f Dockerfile.aarch64.

Versions

  • 15.06.20: - Deprecate.
  • 15.06.20: - Add fixes for 2.9.0.
  • 04.11.20: - xenial tag is deprecated and there will be no further releases for that tag.
  • 22.06.20: - Added Support for persistent Customization Folders.
  • 26.03.20: - Switch to using the openvpn-as repo for packages.
  • 29.08.19: - Update Application Setup instructions in readme to fix 2.7.5 login issue for existing users.
  • 27.08.19: - Add new clients package to install and upgrade process.
  • 22.08.19: - Prevent auto-start of openvpn after first time install, before configuration is completed.
  • 25.07.19: - Create a xenial branch/tag and rebase master/latest to bionic.
  • 07.04.19: - Fix first time config.
  • 03.04.19: - Big rewrite of the install and update logic of openvpn-as to fix breaking changes (should fix updating from 2.6.1 to 2.7.3), added mysql-client for cluster support.
  • 14.03.19: - Update deb package URL.
  • 21.02.19: - Rebase to xenial due to incompatibility issues on some older host OSes.
  • 12.02.19: - Rename github repo to match the docker hub repo and container name.
  • 07.02.19: - Add pipeline logic and multi arch.
  • 31.01.19: - Add port mappings to docker create sample in readme.
  • 26.01.19: - Removed privileged and host networking requirements, added cap-add=NET_ADMIN requirement instead. INTERFACE no longer needs to be defined as in bridge mode, it will use the container's eth0 interface by default.
  • 19.12.18: - Bump to version 2.6.1.
  • 10.07.18: - Bump to version 2.5.2.
  • 23.03.18: - Bump to version 2.5.
  • 14.12.17: - Consolidate layers and fix continuation lines.
  • 25.10.17: - Bump to version 2.1.12.
  • 18.08.17: - Switch default authentication method to local, update readme on how to deactivate the admin user.
  • 31.07.17: - Fix updates of existing openvpn-as installs.
  • 07.07.17: - Bump to version 2.1.9.
  • 31.10.16: - Bump to version 2.1.4.
  • 14.10.16: - Add version layer information.
  • 13.09.16: - Rebuild due to push error to hub on last build.
  • 10.09.16: - Add layer badges to README.
  • 28.08.16: - Add badges to README.
  • 01.08.16: - Rebase to xenial.
  • 18.09.15: - Initial Release.

docker-openvpn-as's People

Contributors

alex-phillips avatar aptalca avatar chbmb avatar drizuid avatar ironicbadger avatar j0nnymoe avatar linuxserver-ci avatar lonix avatar lostapathy avatar lsiobot avatar nemchik avatar omgimalexis avatar someone1 avatar sparklyballs avatar thelamer avatar winkelb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-openvpn-as's Issues

In README, mention that Macvlan and IPVlan are viable options

In the README, this line is not exactly true:

--net=host IMPORTANT, will not operate unless in host mode.

Actually, if one were to make a macvlan network like this:

docker network create -d macvlan \
    --subnet=10.1.0.0/22 \
    --gateway=10.1.0.1  \
    -o parent=<parent ethernet interface> dockernet

Then it's possible to launch the container with --net=dockernet --ip=<some ip in 10.1.0.0/22>. This is handy in that it's possible to use static NAT to map a public IP attached to a firewall and give the OpenVPN access server its own routable IP (and domain name).

This also works with IPVLAN L3.

Add OpenSSH server in order to allow failover to work

OpenVPN Access Server's current method of failure requires SSH communication between servers in order to work. This could be remedied by enabling an SSH server inside the container. Overhead would be minimal and this should not introduce any extra security risk.

If you want to make this opt-in, you could simply have an environment variable that controls whether an openssh server will be launched.

Not an Issue - Just need help

Hi, I'm trying to get this working with Docker Compose in YAML. Can't seem to get the right yaml config. Can you help?

WebAdmin OK, but no Internet Access

I'm using linuxserver/openvpn-as image on my Debian server. I used docker-compose, the image is okay, the container started. The webadmin interface is reachable (Created new user, deleted admin)

docker-compose.yml

version: "2"
services:
 openvpn-as:
  image: linuxserver/openvpn-as
  container_name: openvpn-as
  cap_add:
   - NET_ADMIN
  environment:
   - PUID=1000
   - PGID=1000
   - TZ=Europe/London
   - INTERFACE=eth0 #optional
  volumes:
   - .config:/config
  ports:
   - 943:943
   - 9443:9443
   - 1194:1194/udp
  restart: unless-stopped

When I try to connect to my VPN client, the connection is okay, but I can't correctly access Internet. For example, if I want to go to amazon.fr, it doesn't work, but if I use the IP adress it works.

My Client Log

09/09/2019 ร  21:22:39 OpenVPN core 3.git::1ab9727b win x86_64 64-bit PT_PROXY built on May 31 2019 13:25:03
09/09/2019 ร  21:22:39 Frame=512/2048/512 mssfix-ctrl=1250
09/09/2019 ร  21:22:39 UNUSED OPTIONS
4 [nobind] 
18 [sndbuf] [0] 
19 [rcvbuf] [0] 
22 [verb] [3] 
31 [CLI_PREF_ALLOW_WEB_IMPORT] [True] 
32 [CLI_PREF_BASIC_CLIENT] [False] 
33 [CLI_PREF_ENABLE_CONNECT] [False] 
34 [CLI_PREF_ENABLE_XD_PROXY] [True] 
35 [WSHOST] [172.18.0.2:9443] 
36 [WEB_CA_BUNDLE] [-----BEGIN CERTIFICATE----- MIIDCjCCAfKgAwIBAgIEXXaP4DANBgkqhkiG...] 
37 [IS_OPENVPN_WEB_CA] [1] 
09/09/2019 ร  21:22:39 Contacting [MY-SERVER-IP]:1194 via UDP
09/09/2019 ร  21:22:39 Connecting to [[MY-SERVER-IP]]:1194 ([MY-SERVER-IP]) via UDPv4
09/09/2019 ร  21:22:39 EVENT: RESOLVE 09/09/2019 ร  21:22:39 EVENT: WAIT 09/09/2019 ร  21:22:39 EVENT: CONNECTING 09/09/2019 ร  21:22:39 Tunnel Options:V4,dev-type tun,link-mtu 1558,tun-mtu 1500,proto UDPv4,comp-lzo,keydir 1,cipher AES-256-CBC,auth SHA1,keysize 256,tls-auth,key-method 2,tls-client
09/09/2019 ร  21:22:39 Creds: Username/Password
09/09/2019 ร  21:22:39 Peer Info:
IV_VER=3.git::1ab9727b
IV_PLAT=win
IV_NCP=2
IV_TCPNL=1
IV_PROTO=2
IV_LZO_STUB=1
IV_COMP_STUB=1
IV_COMP_STUBv2=1
IV_HWADDR=34:97:f6:db:05:c6

09/09/2019 ร  21:22:40 VERIFY OK : depth=1
cert. version     : 3
serial number     : 5D:76:8F:C0
issuer name       : CN=OpenVPN CA
subject name      : CN=OpenVPN CA
issued  on        : 2019-09-02 17:45:36
expires on        : 2029-09-06 17:45:36
signed using      : RSA with SHA-256
RSA key size      : 2048 bits
basic constraints : CA=true

09/09/2019 ร  21:22:40 VERIFY OK : depth=0
cert. version     : 3
serial number     : 01
issuer name       : CN=OpenVPN CA
subject name      : CN=OpenVPN Server
issued  on        : 2019-09-02 17:45:36
expires on        : 2029-09-06 17:45:36
signed using      : RSA with SHA-256
RSA key size      : 2048 bits
basic constraints : CA=false
cert. type        : SSL Server

09/09/2019 ร  21:22:40 SSL Handshake: TLSv1.2/TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384
09/09/2019 ร  21:22:40 Session is ACTIVE
09/09/2019 ร  21:22:40 Sending PUSH_REQUEST to server...
09/09/2019 ร  21:22:40 EVENT: GET_CONFIG 09/09/2019 ร  21:22:41 Sending PUSH_REQUEST to server...
09/09/2019 ร  21:22:43 Sending PUSH_REQUEST to server...
09/09/2019 ร  21:22:43 OPTIONS:
0 [explicit-exit-notify] 
1 [topology] [subnet] 
2 [route-delay] [5] [30] 
3 [dhcp-pre-release] 
4 [dhcp-renew] 
5 [dhcp-release] 
6 [route-metric] [101] 
7 [route-metric] [1000] 
8 [ping] [12] 
9 [ping-restart] [50] 
10 [compress] [stub-v2] 
11 [redirect-gateway] [def1] 
12 [redirect-gateway] [bypass-dhcp] 
13 [redirect-gateway] [autolocal] 
14 [route-gateway] [172.27.232.1] 
15 [dhcp-option] [DNS] [127.0.0.11] 
16 [register-dns] 
17 [block-ipv6] 
18 [ifconfig] [172.27.232.4] [255.255.254.0] 
19 [peer-id] [0] 
20 [auth-token] ...
21 [cipher] [AES-256-GCM] 

09/09/2019 ร  21:22:43 Session token: [redacted]
09/09/2019 ร  21:22:43 Server has pushed compressor COMP_STUBv2, but client has disabled compression, switching to asymmetric
09/09/2019 ร  21:22:43 PROTOCOL OPTIONS:
  cipher: AES-256-GCM
  digest: SHA1
  compress: COMP_STUBv2
  peer ID: 0
09/09/2019 ร  21:22:43 CAPTURED OPTIONS:
Session Name: [MY-SERVER-IP]
Layer: OSI_LAYER_3
Remote Address: [MY-SERVER-IP]
Tunnel Addresses:
  172.27.232.4/23 -> 172.27.232.1
Reroute Gateway: IPv4=1 IPv6=0 flags=[ ENABLE REROUTE_GW AUTO_LOCAL DEF1 BYPASS_DHCP IPv4 ]
Block IPv6: yes
Route Metric Default: 1000
Add Routes:
Exclude Routes:
DNS Servers:
  127.0.0.11
Search Domains:

09/09/2019 ร  21:22:43 EVENT: ASSIGN_IP 09/09/2019 ร  21:22:43 SetupClient: transmitting tun setup list to \\.\pipe\agent_ovpnconnect
{
    "confirm_event" : "040e000000000000",
    "destroy_event" : "940e000000000000",
    "tun" : 
    {
        "adapter_domain_suffix" : "",
        "block_ipv6" : true,
        "dns_servers" : 
        [
            {
                "address" : "127.0.0.11",
                "ipv6" : false
            }
        ],
        "layer" : 3,
        "mtu" : 0,
        "remote_address" : 
        {
            "address" : "[MY-SERVER-IP]",
            "ipv6" : false
        },
        "reroute_gw" : 
        {
            "flags" : 315,
            "ipv4" : true,
            "ipv6" : false
        },
        "route_metric_default" : 1000,
        "session_name" : "[MY-SERVER-IP]",
        "tunnel_address_index_ipv4" : 0,
        "tunnel_address_index_ipv6" : -1,
        "tunnel_addresses" : 
        [
            {
                "address" : "172.27.232.4",
                "gateway" : "172.27.232.1",
                "ipv6" : false,
                "metric" : -1,
                "net30" : false,
                "prefix_length" : 23
            }
        ]
    }
}
POST np://[\\.\pipe\agent_ovpnconnect]/tun-setup : 200 OK
TAP ADAPTERS:
guid='{FEF67341-2DA9-4B3B-96D8-D13DF75686B7}' index=18 name='Ethernet 2'
Open TAP device "Ethernet 2" PATH="\\.\Global\{FEF67341-2DA9-4B3B-96D8-D13DF75686B7}.tap" SUCCEEDED
TAP-Windows Driver Version 9.23
ActionDeleteAllRoutesOnInterface iface_index=18
netsh interface ip set interface 18 metric=1
Ok.
netsh interface ip set address 18 static 172.27.232.4 255.255.254.0 gateway=172.27.232.1 gwmetric=1000 store=active
netsh interface ipv6 add route 2000::/4 interface=1 store=active
Ok.
netsh interface ipv6 add route 3000::/4 interface=1 store=active
Ok.
netsh interface ipv6 add route fc00::/7 interface=1 store=active
Ok.
netsh interface ip add route [MY-SERVER-IP]/32 9 192.168.1.254 store=active
Ok.
netsh interface ip add route 0.0.0.0/1 18 172.27.232.1 store=active
Ok.
netsh interface ip add route 128.0.0.0/1 18 172.27.232.1 store=active
Ok.
netsh interface ip set dnsservers 18 static 127.0.0.11 register=primary validate=no
NRPT::ActionCreate names=[.] dns_servers=[127.0.0.11]
ActionWFP openvpn_app_path=C:\Program Files\OpenVPN Connect\OpenVPNConnect.exe tap_index=18 enable=1
permit IPv4 DNS requests from OpenVPN app
permit IPv6 DNS requests from OpenVPN app
block IPv4 DNS requests from other apps
block IPv6 DNS requests from other apps
allow IPv4 traffic from TAP
allow IPv6 traffic from TAP
ipconfig /flushdns
Configuration IP de Windows
Cache de rรฉsolution DNS vidรฉ.
TAP handle: 1c0f000000000000
09/09/2019 ร  21:22:43 Connected via TUN_WIN
09/09/2019 ร  21:22:43 Comp-stubV2 init
09/09/2019 ร  21:22:43 EVENT: CONNECTED quentin@[MY-SERVER-IP]:1194 ([MY-SERVER-IP]) via /UDPv4 on TUN_WIN/172.27.232.4/ gw=[172.27.232.1/]09/09/2019 ร  21:23:44 SetupClient: signaling tun destroy event
09/09/2019 ร  21:23:44 EVENT: DISCONNECTED 

I'm not very good with network settings, so I tried to search answers, but there is nothing I understand or that makes sense. Is it a IP forwarding problem ? Why is this happening ?

Thanks in advance for your help!

Permission denied for scripts in /usr/local/openvpn_as

Permission denied for scripts in /usr/local/openvpn_as. Admin page is not available. No matter the permission of the config folder or env parameter to the container, scripts fail.

linuxserver.io

Debian 9

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser: executing...

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    100
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-time: executing...

Current default time zone: 'Europe/Berlin'
Local time is now:      Thu Sep 26 02:38:03 CEST 2019.
Universal Time is now:  Thu Sep 26 00:38:03 UTC 2019.

[cont-init.d] 20-time: exited 0.
[cont-init.d] 30-config: executing...
installing openvpn-as for the first time
Selecting previously unselected package openvpn-as-bundled-clients.
(Reading database ... 11518 files and directories currently installed.)
Preparing to unpack /openvpn/openvpn-clients.deb ...
Unpacking openvpn-as-bundled-clients (2) ...
Setting up openvpn-as-bundled-clients (2) ...
Selecting previously unselected package openvpn-as.
(Reading database ... 11531 files and directories currently installed.)
Preparing to unpack /openvpn/openvpn.deb ...
Unpacking openvpn-as (2.7.5-932a08a3-Ubuntu18) ...
Setting up openvpn-as (2.7.5-932a08a3-Ubuntu18) ...
Automatic configuration failed, see /usr/local/openvpn_as/init.log
You can configure manually using the /usr/local/openvpn_as/bin/ovpn-init tool.
/var/lib/dpkg/info/openvpn-as.postinst: line 200: /usr/local/openvpn_as/scripts/confdba: Permission denied
Beginning with OpenVPN AS 2.6.0 compression is disabled by default and on upgrades as security patch.
/var/lib/dpkg/info/openvpn-as.postinst: line 204: /usr/local/openvpn_as/scripts/confdba: Permission denied
Stopping openvpn-as now; will start again later after configuring
cat: /var/run/openvpnas.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-openvpn-init: executing...
/var/run/s6/etc/cont-init.d/40-openvpn-init: line 14: /usr/local/openvpn_as/bin/ovpn-init: Permission denied
Stopping openvpn-as now; will start again later after configuring
cat: /var/run/openvpnas.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
[cont-init.d] 40-openvpn-init: exited 0.
[cont-init.d] 50-interface: executing...
/var/run/s6/etc/cont-init.d/50-interface: line 9: /usr/local/openvpn_as/scripts/confdba: Permission denied
/var/run/s6/etc/cont-init.d/50-interface: line 10: /usr/local/openvpn_as/scripts/confdba: Permission denied
/var/run/s6/etc/cont-init.d/50-interface: line 11: /usr/local/openvpn_as/scripts/confdba: Permission denied
/var/run/s6/etc/cont-init.d/50-interface: line 12: /usr/local/openvpn_as/scripts/confdba: Permission denied
[cont-init.d] 50-interface: exited 126.
[cont-init.d] 99-custom-scripts: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: Permission denied
[services.d] done.
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: Permission denied

No.

Thanks, team linuxserver.io

Language of the Webui openVPN

Hi!

I just installed your docker, it works great!

I was wondering if it is possible to change the language of the openVPN web interface?

If so, can you tell me how to do it?

Thank you.

OSError: [Errno 38] Function not implemented

I did fresh install with docker-compose - got following error (endless list with always the same error - cust copied the last one ...) - based on some search per google this is maybe a python bug. Does the latest version run somewhere?

openvpn-as    | Traceback (most recent call last):
openvpn-as    |   File "<string>", line 1, in <module>
openvpn-as    |   File "build/bdist.linux-x86_64/egg/pyovpn/sagent/sagent_entry.py", line 17, in openvpnas
openvpn-as    |   File "build/bdist.linux-x86_64/egg/pyovpn/util/mycprof.py", line 2, in run_cprofile
openvpn-as    |   File "build/bdist.linux-x86_64/egg/pyovpn/util/env.py", line 7, in <module>
openvpn-as    |   File "build/bdist.linux-x86_64/egg/pyovpn/util/valid.py", line 3, in <module>
openvpn-as    |   File "build/bdist.linux-x86_64/egg/pyovpn/util/error.py", line 4, in <module>
openvpn-as    |   File "/config/lib/python2.7/xmlrpclib.py", line 145, in <module>
openvpn-as    |     import httplib
openvpn-as    |   File "/config/lib/python2.7/httplib.py", line 80, in <module>
openvpn-as    |     import mimetools
openvpn-as    |   File "/config/lib/python2.7/mimetools.py", line 6, in <module>
openvpn-as    |     import tempfile
openvpn-as    |   File "/config/lib/python2.7/tempfile.py", line 35, in <module>
openvpn-as    |     from random import Random as _Random
openvpn-as    |   File "/config/lib/python2.7/random.py", line 885, in <module>
openvpn-as    |     _inst = Random()
openvpn-as    |   File "/config/lib/python2.7/random.py", line 97, in __init__
openvpn-as    |     self.seed(x)
openvpn-as    |   File "/config/lib/python2.7/random.py", line 113, in seed
openvpn-as    |     a = long(_hexlify(_urandom(2500)), 16)
openvpn-as    | OSError: [Errno 38] Function not implemented

No Issue. Just fat fingers.

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

Current Behavior

Steps to Reproduce

Environment

OS:
CPU architecture: x86_64/arm32/arm64
How docker service was installed:

Command used to create docker container (run/create/compose/screenshot)

Docker logs

Do start as HTTP, not HTTPS

Hi,

First of all, nice image. Well defined.

But I got a problem. I would like to start this image in AWS ECS. This places the container in a machine in a cluster and starts a AWS ElasticLoadBalancer to do health checks and to manage the HTTPS connections.

So I start the container ok and I can go to https://host:943/admin but my browser complains about the certificates. If I do a curl I get:

> curl https://172.31.36.254:943/admin
curl: (60) SSL certificate problem: Invalid certificate chain
More details here: https://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

So AWS service health checks are similar to curl except I can't add a -k or --insecure. So they fail.

All the certificates are managed on the LoadBalancer level so I don't have certificates to give to OpenVPN.

So, is there a way to start it in http mode only? That way I can setup the ELB with the certificates and pass secure requests to the VPN and the health checks won't fail.

Thanks!

Deploy openvpn-as with a specific network

Hi, i've deploy your solution on Debian 9 stretch with the following command :

docker create --name=OpenVPN -v /mnt/openvpn:/config -e PGID=1001 -e PUID=1001 -e TZ=GMT -e INTERFACE=ens192 --net=host --privileged linuxserver/openvpn-as

After starting container the solution work great on : https://ipofmyhost:943

It's great but i need to deploy the solution behind a reverse proxy (HAproxy), so i need to deploy it with a specific network (using bridge native driver) :

docker create --name=OpenVPN -p 943:943 -v /mnt/openvpn:/config -e PGID=1001 -e PUID=1001 -e TZ=GMT -e INTERFACE=ens192 --net=customnetwork --privileged linuxserver/openvpn-as

for testing, i expose the web interface and i try to access it with the same url :
https://ipofmyhost:943
but with no success..

Openvpn_as won't start (iptables-restore-PP ERR: 'Error occurred at line: 101')

UBUNTU VERSION: 19.10 - eoan

OPENVPN.LOG

2019-11-09T13:17:06-0500 [stdout#info] [WEB] OUT: '2019-11-09T13:17:06-0500 [stdout#info] Web server running as UID 1000'
2019-11-09T13:17:07-0500 [stdout#info] iptables-restore-PP ERR: "Bad argument [unsupported'" 2019-11-09T13:17:07-0500 [stdout#info] iptables-restore-PP ERR: 'Error occurred at line: 101' 2019-11-09T13:17:07-0500 [stdout#info] iptables-restore-PP ERR: "Try iptables-restore -h' or 'iptables-restore --help' for more information."
2019-11-09T13:17:07-0500 [stdout#info] ***** START command data
WEB INTERFACE

AS__7daf23907df2

openvpn.log

Does not start under unRAID 6.6.6

Using latest image, network set to bridge. OpenVPN server does not start automatically, doing so manually produces:

Error:

process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t0: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t1: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t10: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t11: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t12: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t13: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t14: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t15: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t16: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t17: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t18: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t19: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t2: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t20: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t21: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t22: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t23: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t24: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t25: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t26: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t27: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t28: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t29: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t3: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t30: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:53 2019 ERROR: Cannot ioctl TUNSETIFF as0t31: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t4: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t5: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t6: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t7: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t8: Device or resource busy (errno=16)']
service failed to start or returned error status
process started and then immediately exited: ['Wed Feb 13 20:24:52 2019 ERROR: Cannot ioctl TUNSETIFF as0t9: Device or resource busy (errno=16)']
service failed to start or returned error status

Starting with network set to Host produces:

Error:

'ip_address': svc/svc:631,sagent/cqsvc:186,sagent/vpnconfig:138,sagent/vpnconfig:123 (exceptions.KeyError)
'ip_address': svc/svc:631,sagent/wpsvc:182,sagent/iptlive:57,sagent/vpnconfig:248,sagent/vpnconfig:123 (exceptions.KeyError)
Service deferred error: 'ip_address': internet/defer:323,sagent/ipts:145,sagent/iptvpn:139,sagent/vpnconfig:248,sagent/vpnconfig:123 (exceptions.KeyError)
'ip_address': svc/svc:631,sagent/usersvc:1151,sagent/vpnconfig:248,sagent/vpnconfig:123 (exceptions.KeyError)
LOCAL_ADDR eth0 : bad local address name or interface is not up; must be 'all', 'localhost', a local IP address, or an interface name: util/cdict:298,net/net:449,net/net:527,xml/authrpc:247,sagent/saccess:55,sagent/runxml:152,sagent/runxml:161,internet/defer:190,internet/defer:181,internet/defer:323,sagent/runxml:86,sagent/runxml:41,sagent/runxml:60,sagent/runxml:41,svc/svc:255,svc/svc:664,internet/defer:190,internet/defer:181,internet/defer:323,svc/svc:631,sagent/cqsvc:186,sagent/vpnconfig:138,sagent/vpnconfig:122,util/cdict:330,util/cdict:322,util/cdict:282,util/cdict:191,sagent/vpnconfig:23,util/cdict:330,util/cdict:322,util/cdict:298,net/net:449,net/net:527,util/error:61,util/error:44
LOCAL_ADDR eth0 : bad local address name or interface is not up; must be 'all', 'localhost', a local IP address, or an interface name: util/cdict:298,net/net:449,net/net:527,internet/defer:323,sagent/runxml:86,sagent/runxml:41,sagent/runxml:60,sagent/runxml:41,svc/svc:255,svc/svc:664,internet/defer:190,internet/defer:181,internet/defer:323,svc/svc:631,sagent/ipts:198,sagent/ipts:136,internet/defer:190,internet/defer:181,internet/defer:323,sagent/ipts:145,sagent/iptvpn:139,sagent/vpnconfig:248,sagent/vpnconfig:122,util/cdict:330,util/cdict:322,util/cdict:282,util/cdict:191,sagent/vpnconfig:23,util/cdict:330,util/cdict:322,util/cdict:298,net/net:449,net/net:527,util/error:61,util/error:44
LOCAL_ADDR eth0 : bad local address name or interface is not up; must be 'all', 'localhost', a local IP address, or an interface name: util/cdict:298,net/net:449,net/net:527,internet/defer:181,internet/defer:323,sagent/runxml:86,sagent/runxml:41,sagent/runxml:60,sagent/runxml:41,svc/svc:255,svc/svc:664,internet/defer:190,internet/defer:181,internet/defer:323,svc/svc:664,internet/defer:190,internet/defer:181,internet/defer:323,svc/svc:631,sagent/wpsvc:182,sagent/iptlive:57,sagent/vpnconfig:248,sagent/vpnconfig:122,util/cdict:330,util/cdict:322,util/cdict:282,util/cdict:191,sagent/vpnconfig:23,util/cdict:330,util/cdict:322,util/cdict:298,net/net:449,net/net:527,util/error:61,util/error:44
LOCAL_ADDR eth0 : bad local address name or interface is not up; must be 'all', 'localhost', a local IP address, or an interface name: util/cdict:298,net/net:449,net/net:527,internet/defer:190,internet/defer:181,internet/defer:323,sagent/runxml:86,sagent/runxml:41,sagent/runxml:60,sagent/runxml:41,svc/svc:255,svc/svc:664,internet/defer:190,internet/defer:181,internet/defer:323,svc/svc:664,internet/defer:190,internet/defer:181,internet/defer:323,svc/svc:631,sagent/usersvc:1151,sagent/vpnconfig:248,sagent/vpnconfig:122,util/cdict:330,util/cdict:322,util/cdict:282,util/cdict:191,sagent/vpnconfig:23,util/cdict:330,util/cdict:322,util/cdict:298,net/net:449,net/net:527,util/error:61,util/error:44

Allow running this container without --privileged

Back on #26 I made a PR that got merged by @sparklyballs, then reverted, that made this image run without requiring it to run in privileged mode, and also made it suitable to run out of docker-compose. Needing to run privileged and not being able to run easily with docker-compose makes this container not usable in a lot of environments.

Based on the comment given on #26, I feel like this change is desirable but I'm not quite sure what the next steps are.

Are you guys interested in improving this image as I tried to do on #26, or should I go elsewhere? If so, what are next steps?

thanks!

Error: Could not execute server start

Hi!

I can not run the server anymore:

openvpn-as      | Starting openvpnas...
openvpn-as      | Error: Could not execute server start.

Here is my docker-compose.yml:

     openvpn-as:
        image: linuxserver/openvpn-as
        #restart: ${RESTART_MODE}
        container_name: openvpn-as 
        volumes:
                - ${VOLUMES_ROOT_PATH}/config/openvpn:/config
        ports:
                - "1194:1194/udp"
                - "9443:9443/tcp"
                - "943:943"
        cap_add:
                - NET_ADMIN
        environment:
                - PGID=1000
                - PUID=1000
                - TZ=Europe/Paris

When configuring the port i have this:

openvpn-as      | Please enter the option number from the list above (1-2).
openvpn-as      | > Press Enter for default [2]: 
openvpn-as      | Please specify the port number for the Admin Web UI.
openvpn-as      | > Press ENTER for default [943]: 
openvpn-as      | Please specify the TCP port number for the OpenVPN Daemon
openvpn-as      | > Press ENTER for default [443]: 
openvpn-as      | Should client traffic be routed by default through the VPN?
openvpn-as      | > Press ENTER for default [yes]: 
openvpn-as      | Should client DNS traffic be routed by default through the VPN?
openvpn-as      | > Press ENTER for default [yes]: 
openvpn-as      | Use local authentication via internal DB?
openvpn-as      | > Press ENTER for default [yes]: 

I see port 443, why is this port configured? I have a Nginx server running on port 443, will it be a conflict?

I did not change anything, at first it worked, but now I have this:

openvpn-as      | [cont-init.d] 10-adduser: exited 0.
openvpn-as      | [cont-init.d] 20-time: executing... 
openvpn-as      | [cont-init.d] 20-time: exited 0.
openvpn-as      | [cont-init.d] 30-config: executing... 
openvpn-as      | [cont-init.d] 30-config: exited 0.
openvpn-as      | [cont-init.d] 40-openvpn-init: executing... 
openvpn-as      | [cont-init.d] 40-openvpn-init: exited 0.
openvpn-as      | [cont-init.d] 50-interface: executing... 
openvpn-as      | MOD Default {} {}
openvpn-as      | MOD Default {} {}
openvpn-as      | MOD Default {} {}
openvpn-as      | MOD Default {} {}
openvpn-as      | [cont-init.d] 50-interface: exited 0.
openvpn-as      | [cont-init.d] done

I to empty the configuration, start from the beginning, but it does not work anymore, i do not understand what is happening, can you help me?

Thank you

setup on Digital Ocean Ubuntu 16.04.1 install

I have been unable to get this image working on a fresh Digitalocean Ubuntu 16.04.1 installation. I have created the user vpn which has been granted UID and GID 1000.

docker create \
--name=openvpn-as \
-v /home/vpn/config/:/config \
-e PGID=1000 -e PUID=1000 \
-e TZ=Etc/UTC \
-e INTERFACE=eth0 \
--net=host --privileged \
linuxserver/openvpn-as

The image does appear to create two interfaces, as0t0 and as0t1 however when I try to go to the address which is printed in the terminal I get ERR_CONNECTION_REFUSED (this is also not reachable locally).

I have double checked:

  • The interface name
  • Group and user ID

I have been able to get this image running on another server located elsewhere so I do not think I have misunderstood any of the configuration options however that may be a possibility.

Rebase to bionic, add legacy xenial tag.

Looks like we have 18.04 debs now.

Putting this issue here to earmark the rebase after the image and logic shift.

curl -w '%{url_effective}' -ILsS https://openvpn.net/downloads/openvpn-as-latest-ubuntu18.amd_64.deb -o /dev/null

Force traffic using specific interface as default gateway

I have multiple IP address assigned to my (xen) machine and there are 3 interfaces eth0, eth0:0 and eth0:1 with ip addresses ending *.*.*.234, *.*.*.235 and *.*.*.236.

I tested them using curl http://ipecho.net/plain --interface eth0 and curl http://ipecho.net/plain --interface eth0:0 and the IP returned is different (234 and 235 respectively) which is OK

However when I set env variable for docker container

environment:
      - PGID=1001
      - PUID=1001
      - INTERFACE=eth0:0

... and I see that

ovpn_1  | MOD Default {u'admin_ui.https.ip_address': u'eth0'} {u'admin_ui.https.ip_address': 'eth0:0'}
ovpn_1  | MOD Default {u'cs.https.ip_address': u'eth0'} {u'cs.https.ip_address': 'eth0:0'}
ovpn_1  | MOD Default {u'vpn.daemon.0.listen.ip_address': u'eth0'} {u'vpn.daemon.0.listen.ip_address': 'eth0:0'}
ovpn_1  | MOD Default {u'vpn.daemon.0.server.ip_address': u'eth0'} {u'vpn.daemon.0.server.ip_address': 'eth0:0'}

... and

netstat -an | grep 943
tcp        0      0 *.*.*.235:943         0.0.0.0:*               LISTEN

... so far so good, but when I connect to the VPN from my client PC and enter ipecho.net/plain in my browser I see: *.*.*.234

Meaning the traffic wasn't routed through eth0:0 but via eth0.

How can I force the traffic through eth0:0 as well?

add github repo link to docker hub

I don't mean to nit pick, just that the git hub repo doesn't show up when you google "linuxserver openvpn-as", google always says "did you mean linuxserver openvpn-as github ?", so obviously others are having the same difficulty.

Persistent PAM Configuration

Hello all

First off, the Container runns like a charm. It works with Windows, Android and Linux perfect.
BUT!
For my Chromebook i need PAM Configuration according to this Article:
https://www.errietta.me/blog/openvpn-chromebook/

Now the PAM Configuration are not Persistent and will be discarded after an image update.
Do you see any possibilities that you can make the PAM Configuration also Persistent?

Thanks for you Time!
Michele

Anyone tried this with L2 (bridging/TAP) mode? Doesn't work

Just looking for some tips on how to get this working in TAP mode with bridging. If I switch it to L2 mode as per AS documentation, I can connect to the server, but I can't reach the server's gateway or any other devices. By default, the client's TAP interface doesn't receive a DHCP address but even assigning a static one doesn't change anything.

Running Debian 9. The docker-compose here:

tap-test:
    image: linuxserver/openvpn-as
    container_name: tap-test
    restart: unless-stopped
    privileged: true
    cap_add:
      - ALL
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Chicago
    volumes:
      - /home/mike/tap-test:/config
    ports:
      - 943:943
      - 1194:1194/udp

When the TAP AS container comes up, this device shows up on the docker host:

123: vethaa198f2@if122: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-11c00b298643 state UP group default 
    link/ether 22:31:b1:b4:cb:2e brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::2031:b1ff:feb4:cb2e/64 scope link 
       valid_lft forever preferred_lft forever

reverse proxy setup

The initial credentials of admin:password to log into https://:943/admin does not work. The error is 'Incorrect login'.

linuxserver.io

Thanks, team linuxserver.io

Unable to Login after Initial Setup

Docker Version 17.05.0-ce Synology

docker create
--name=openvpn-as
-v /volume1/docker/openvpn-as/config/:/config
-e PGID=65545 -e PUID=1043
-e TZ=Australia/Brisbane
-e INTERFACE=eth0
--net=host --privileged
linuxserver/openvpn-as

Using the above allows me to access the WebUI on port 943, however, I am unable to log in using the relevant username/password (admin/password). The error produced is "Login Failed".

I have raised the issue on Discord, however have not received a solution.

Unable to reach other Docker services

Expected Behavior

I have a docker-compose with:

  • openvpn (with network: host option)
  • another service exposed on port 8888 in a regular bridged docker network.

VPN clients can connect to other services on the host. But only to service that are not ran with Docker, or Docker services that are ran using network: host option.

VPN clients cannot connect to docker containers that are NOT ran with network: host option. (So the above service with port 8888 is not reachable)

Current Behavior

Got timeouts on the docker service on port 8888.

Steps to Reproduce

Create a new docker-compose file with openvpn-as in with host networking enabled. And another service with ports forwarded without any network specified for it.

I followed the approach suggested here to make the host network reachable: #96

Environment

OS: Ubuntu 18.04
CPU architecture: x86_64
How docker service was installed: https://docs.docker.com/install/linux/docker-ce/ubuntu/

Configuring the server via cli

Hi!

@j0nnymoe explains that i am trying to configure openvpn via the cli, but i do not do of it...

The problem came suddenly last night without any modification on my part, i opened a issue here: #66

I found a similar problem related to the ports here: #50

However, i have indicated the ports in my docker-compose.yml but it does not work anymore and i do not understand the reason ?!

     openvpn-as:
        image: linuxserver/openvpn-as
        #restart: ${RESTART_MODE}
        container_name: openvpn-as 
        volumes:
                - ${VOLUMES_ROOT_PATH}/config/openvpn:/config
        ports:
                - "1194:1194/udp"
                - "9443:9443"
                - "943:943"
        cap_add:
                - NET_ADMIN
        environment:
                - PGID=1000
                - PUID=1000
                - TZ=Europe/Paris

I followed the documentation, nothing more, yesterday it worked very well, today it does not work anymore...

I emptied the directory "/config" to resume the installation at the beginning, but the perssist problem.

Can you help me understand the problem before closing the issue?

Thank you

Ubuntu 14.04 pam error with host mode

Hi I'm running the docker-openvpnas server in host mode on Ubuntu 14.04 with the 3.13 kernel (same issue for 3.15) it has a PAM auth issue which renders it impossible to use passwd on 14.04. There is a work around:

phusion/baseimage-docker#181

This is more of an FYI, I will fork and bake in the solution.

Fix pam authentication issues with network mode host

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.

When the image is started with network mode host the web ui fails to authenticate with the pam module.


Expected Behavior

It should authenticate as the container started with a bridge network.

Steps to Reproduce

  1. Docker compose setup:
version: "3"
services:
  openvpn:
    image: linuxserver/openvpn-as:latest
    container_name: openvpn
    volumes:
      - /docker/openvpn/config:/config:rw
      - "/etc/localtime:/etc/localtime:ro"
    ports:
      - 1194:1194/udp
      - 943:943
      - 9443:9443
    network_mode: host
    environment:
      - PGID=999
      - PUID=999
      - TZ=Europe/Sofia
    privileged: true

Environment

Linux 3.10.105 SMP Tue Jul 3 19:50:10 CST 2018 x86_64 GNU/Linux synology_broadwell_3617xs

The fix

Rebuild pam module without audit:

RUN apt-get update && \
    apt-get -y build-dep pam && \
    export CONFIGURE_OPTS=--disable-audit && \
    cd /tmp && \
    apt-get -b source pam && \
    dpkg -i libpam-doc*.deb libpam-modules*.deb libpam-runtime*.deb libpam0g*.deb && \
    rm -rf /tmp/*

When reaching the openVPN's gui, I am getting: "Your connection is not private"

Hi,
I have exported my OpenVPN docker and it works well (thank you for that)
The issue is when reaching that ip+port (https://< ip >:943/) where my VPN server is, I am getting as shown in the image below.

image

I am suspecting SSL server configs in the container, by now I can see a difference in the timezone - The logfiles time is 4 hours difference - although I have set TZ in the docker-compose file.
How can I solve that issue?
Thanks!

###Host OS
Fedora 28

docker-compose.yml:

version: '3'
services:
  openvpn-as:
    image: linuxserver/openvpn-as
    container_name: openvpn-as-compose 
    restart: always
    volumes:
      - ./openvpn-data/:/config
    network_mode: "host"  (I know it's not good, will fix that soon)
    privileged: true  (I know it's not good, will fix that soon)
    environment:
     - PGID=950800023
     - PUID=1009
     - TZ=IL 
     - INTERFACE=enp0s2 

Nothing helpful in docker log.

Thanks.

Error in documentation on Docker website

https://hub.docker.com/r/linuxserver/openvpn-as

refers to this command to install:
docker create
--name=openvpn-as
--cap-add=NET_ADMIN
-e PUID=1000
-e PGID=1000
-e TZ=Europe/London
-e INTERFACE=eth0 #optional
-p 943:943
-p 9443:9443
-p 1194:1194/udp
-v path to data:/config
--restart unless-stopped
linuxserver/openvpn-as

But per https://docs.docker.com/engine/reference/commandline/create/

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
While here the image is at the end causing:

Unable to find image 'to:latest' locally
Error response from daemon: pull access denied for to, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

A fixed version (inline) is:
docker create --name=openvpn-as --cap-add=NET_ADMIN linuxserver/openvpn-as -e PUID=1000 -e PGID=1000 -e TZ=Europe/London -p 943:943 -p 9443:9443 -p 1194:1194/udp -v path to data:/config --restart unless-stopped

Thanks guys

openVPN with Nginx and Letsencrypt

Hi!

Following my last issue, here: #67, i realized that I had a problem with SSL, my Internet browser no longer allows me to add an "exception".

I thinked openVPN was not executed any more, please excuse me...

I have a friend have connected with another Internet connection by adding an "exeption". So, i restarted all my computers and routeurs, emptied the cache of my browsers and i still have not the possibility to add an "exception".

HTTP Strict Transport Security (HSTS)
Code dโ€™erreur : SEC_ERROR_UNKNOWN_ISSUER

So, i tryed from a tablet in Android, i have the same problem in Firefox, i have not the possibility to add an "exception", but in Chrome openVPN is displayed, I could added an exception!

I remember now having tried to pass the webui in the proxy of Nginx, it seems to me that it was at that moment that it did not work at my home anymore...

I wanted to avoid showing ugly port in the url:

server {
        listen 80;
        server_name vpn.domaine.org;

        include /var/www/snippets/letsencrypt.conf;
        include /var/www/snippets/geoip.conf;

        return 301 https://$host$request_uri;

        error_log /var/log/nginx/local_error.log;
        access_log /var/log/nginx/local_access.log;

    location / {
        proxy_pass http://172.16.0.130:943; #Adress IP containerr
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_read_timeout 90;
    }
}

server {
        listen 443 ssl http2;
        server_name vpn.domaine.org;

        include /var/www/snippets/ssl.conf;
        include /var/www/snippets/letsencrypt.conf;
        include /var/www/snippets/geoip.conf;

        error_log /var/log/nginx/local_error.log;
        access_log /var/log/nginx/local_access.log;

    location / {
        proxy_pass 172.16.0.130:943 ; #Adress IP container
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_read_timeout 90;
    }
}

The Letsencrypt wildcard certificate is called in the Nginx configuration file, can we somehow concatenate the certificates present in /etc/web-ssl/ of your Docker image?

Exemple:

cat /etc/letsencrypt/live/devosi.org/fullchain.pem >> /my-docker/config/openvpn/etc/web-ssl/ca.crt
cat /etc/letsencrypt/live/domaine.org/privkey.pem >> /my-docker/config/openvpn/etc/web-ssl/ca.key
cat /etc/letsencrypt/live/domaine.org/cert.pem >> /my-docker/config/openvpn/etc/web-ssl/server.crt
cat /etc/letsencrypt/live/domaine.org/privkey.pem >> /my-docker/config/openvpn/etc/web-ssl/server.key

I do not quite understand what happened, the server openVPN works, a friend has access to my OpenVPN Webui from another computer from another Internet connection but does not work my home...

I would like to pass the openVPN Webui via a proxy to avoid displaying an ugly port and having a validated certificate, but i must not do it properly...

I have other Nginx proxys with other containers, i have no problem, it works...

Can you help me ?

Error: Could not execute server start

Overview

  • Host OS: Ubuntu 16.04.5 LTS
  • No symlinks on volume mounts
  • Upon initial execution of the container, the logs show the error: Error: Could not execute server start
  • The administration page is subsequently unavailable on port 943 of the running container

Initial Preparation

  • No openvpn-as container exists and no config directory exists.
  • A config directory is created.
  • UID is 1000 and GID is 1000
$ docker container rm openvpn-as
Error: No such container: openvpn-as
$
$ ls -la
total 0
drwxr-xr-x 1 xxxxx xxxxx     0 Jan 31 07:24 .
drwxr-xr-x 1 xxxxx xxxxx  1494 Jan 30 18:26 ..
$
$ mkdir config
$
$ ls -la
total 0
drwxr-xr-x 1 xxxxx xxxxx    12 Jan 31 07:16 .
drwxr-xr-x 1 xxxxx xxxxx  1494 Jan 30 18:26 ..
drwxr-xr-x 1 xxxxx xxxxx     0 Jan 31 07:16 config
$
$ id
uid=1000(xxxxx) gid=1000(xxxxx) groups=1000(xxxxx),โ€ฆ
$

Run Container

  • Container is run using the previously created config directory
  • PGID is 1000 and PUID is 1000
docker run \
       --name=openvpn-as \
       --cap-add=NET_ADMIN \
       -v /xxxxx/xxxxx/openvpn-as/config:/config \
       -e PGID=1000 \
       -e PUID=1000 \
       -e TZ=America/Chicago \
       linuxserver/openvpn-as

Log Output

$ docker run \
>        --name=openvpn-as \
>        --cap-add=NET_ADMIN \
>        -v /xxxxx/xxxxx/openvpn-as/config:/config \
>        -e PGID=1000 \
>        -e PUID=1000 \
>        -e TZ=America/Chicago \
>        linuxserver/openvpn-as
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser: executing...

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-time: executing...

Current default time zone: 'America/Chicago'
Local time is now:      Thu Jan 31 07:06:23 CST 2019.
Universal Time is now:  Thu Jan 31 13:06:23 UTC 2019.

[cont-init.d] 20-time: exited 0.
[cont-init.d] 30-config: executing...
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-openvpn-init: executing...
Detected an existing OpenVPN-AS configuration.
Continuing will delete this configuration and restart from scratch.
Please enter 'DELETE' to delete existing configuration:
          OpenVPN Access Server
          Initial Configuration Tool
------------------------------------------------------
OpenVPN Access Server End User License Agreement (OpenVPN-AS EULA)

    1. Copyright Notice: OpenVPN Access Server License;
       Copyright (c) 2009-2018 OpenVPN Inc. All rights reserved.

EULA text removed for brevity of log output

       renewals unless this is specified in your contract with OpenVPN Inc.

Please enter 'yes' to indicate your agreement [no]:
Once you provide a few initial configuration settings,
OpenVPN Access Server can be configured by accessing
its Admin Web UI using your Web browser.

Will this be the primary Access Server node?
(enter 'no' to configure as a backup or standby node)
> Press ENTER for default [yes]:
Please specify the network interface and IP address to be
used by the Admin Web UI:
(1) all interfaces: 0.0.0.0
(2) eth0: 172.17.0.2
Please enter the option number from the list above (1-2).
> Press Enter for default [2]:
Please specify the port number for the Admin Web UI.
> Press ENTER for default [943]:
Please specify the TCP port number for the OpenVPN Daemon
> Press ENTER for default [443]:
Should client traffic be routed by default through the VPN?
> Press ENTER for default [yes]:
Should client DNS traffic be routed by default through the VPN?
> Press ENTER for default [yes]:
Use local authentication via internal DB?
> Press ENTER for default [yes]:
Private subnets detected: ['172.17.0.0/16']

Should private subnets be accessible to clients by default?
> Press ENTER for default [yes]:
To initially login to the Admin Web UI, you must use a
username and password that successfully authenticates you
with the host UNIX system (you can later modify the settings
so that RADIUS or LDAP is used for authentication instead).

You can login to the Admin Web UI as "openvpn" or specify
a different user account to use for this purpose.

Do you wish to login to the Admin UI as "openvpn"?
> Press ENTER for default [yes]:
> Specify the username for an existing user or for the new user account: Note: This user already exists.

> Please specify your OpenVPN-AS license key (or leave blank to specify later):

Initializing OpenVPN...
Adding new user login...
useradd -s /sbin/nologin "admin"
Writing as configuration file...
Perform sa init...
Wiping any previous userdb...
Creating default profile...
Modifying default profile...
Adding new user to userdb...
Modifying new user as superuser in userdb...
Getting hostname...
Hostname: 42d4634616fd
Preparing web certificates...
Getting web user account...
Adding web group account...
Adding web group...
Adjusting license directory ownership...
Initializing confdb...
Generating init scripts...
Generating PAM config...
Generating init scripts auto command...
Starting openvpnas...
Error: Could not execute server start.
[cont-init.d] 40-openvpn-init: exited 0.
[cont-init.d] 50-interface: executing...
MOD Default {u'admin_ui.https.ip_address': u'all'} {u'admin_ui.https.ip_address': 'eth0'}
MOD Default {u'cs.https.ip_address': u'all'} {u'cs.https.ip_address': 'eth0'}
MOD Default {u'vpn.daemon.0.listen.ip_address': u'all'} {u'vpn.daemon.0.listen.ip_address': 'eth0'}
MOD Default {u'vpn.daemon.0.server.ip_address': u'all'} {u'vpn.daemon.0.server.ip_address': 'eth0'}
[cont-init.d] 50-interface: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Thanks, team linuxserver.io

Support for Raspberry Pi

Hi,

thank you for this awesome docker container. I tried to run it on my Raspberry Pi 3, but it did not work unfortunately. I saw the following error:

pi@raspberrypi:~ $ docker run --name=openvpn-as -v config:/config -e PGID=1000 -e PUID=1000 -e TZ=GMT -e INTERFACE=eth0 --net=host --privileged linuxserver/openvpn-as
standard_init_linux.go:190: exec user process caused "exec format error"

I researched a bit and it looks like this error means that the architecture is not supported. Could you add support for armhf?

Thank you very much!
Chris

Listen to one IP-Address

Hello,

I set it up today and it works. But how can I make it possible that OpenVPN listen only to one IP-Address? I have two IPโ€˜s on one Networkinterface.( enp4s0)


Expected Behavior

Deactivate one IP Address on the same Network Adapter. Ob this way i change the tcp Port from 9443 to 443 to hide the VPN Network.
At the other address I have multiple Website on port 443.

Current Behavior

can only turn both IP Adresses on. Listen to only one Address is not possible.

Steps to Reproduce

  1. add an second IP to the Server
  2. sudo ip address add dev enp4s0
  3. Login to the Admin Panel, try to switch off one Address

Environment

OS:
Ubuntu 18.04.3 LTS

CPU architecture: x86_64/arm32/arm64
x86_64
How docker service was installed:

Command used to create docker container (run/create/compose/screenshot)

sudo docker create --name=openvpn-as
--restart=always
-v /home/docker/openvpn-as/config:/config
-e INTERFACE=enp4s0
-e PGID=1001 -e PUID=1001
-e TZ=Europe/Berlin
--net=host --privileged
linuxserver/openvpn-as

Docker logs

`Please enter 'yes' to indicate your agreement [no]:
Once you provide a few initial configuration settings,
OpenVPN Access Server can be configured by accessing
its Admin Web UI using your Web browser.

Will this be the primary Access Server node?
(enter 'no' to configure as a backup or standby node)

Press ENTER for default [yes]:
Please specify the network interface and IP address to be
used by the Admin Web UI:
(1) all interfaces: 0.0.0.0
(2) enp4s0: 188.40.63.58
(3) br-f84bcbd73320: 172.18.0.1
(4) br-2faff5558deb: 192.168.208.1
(5) br-4acdf0e18be1: 172.19.0.1
(6) docker0: 172.17.0.1
(7) br-7f11e03648bb: 172.24.0.1
(8) br-9b5f3d5bd4a3: 172.21.0.1
(9) br-d2c6169b838e: 192.168.0.1
(10) br-1a76fc027f79: 172.25.0.1
(11) br-mailcow: 172.22.1.1
Please enter the option number from the list above (1-11).
Press Enter for default [1]:
Please specify the port number for the Admin Web UI.
Press ENTER for default [943]:
Please specify the TCP port number for the OpenVPN Daemon
Press ENTER for default [1194]:
Should client traffic be routed by default through the VPN?
Press ENTER for default [yes]:
Should client DNS traffic be routed by default through the VPN?
Press ENTER for default [yes]:
Use local authentication via internal DB?
Press ENTER for default [yes]:
Private subnets detected: ['172.17.0.0/16']

Should private subnets be accessible to clients by default?

Press ENTER for default [yes]:
To initially login to the Admin Web UI, you must use a
username and password that successfully authenticates you
with the host UNIX system (you can later modify the settings
so that RADIUS or LDAP is used for authentication instead).

You can login to the Admin Web UI as "openvpn" or specify
a different user account to use for this purpose.

Do you wish to login to the Admin UI as "openvpn"?

Press ENTER for default [yes]:
Specify the username for an existing user or for the new user account: Note: This user already exists.

Please specify your OpenVPN-AS license key (or leave blank to specify later):

Initializing OpenVPN...
Removing Cluster Admin user login...
userdel "admin_c"
Adding new user login...
useradd -s /sbin/nologin "admin"
Writing as configuration file...
Perform sa init...
Wiping any previous userdb...
Creating default profile...
Modifying default profile...
Adding new user to userdb...
Modifying new user as superuser in userdb...
Getting hostname...
Hostname: larsmueller.net
Preparing web certificates...
Getting web user account...
Adding web group account...
Adding web group...
Adjusting license directory ownership...
Initializing confdb...
Generating init scripts...
Generating PAM config...
Generating init scripts auto command...
Starting openvpnas...

NOTE: Your system clock must be correct for OpenVPN Access Server
to perform correctly. Please ensure that your time and date
are correct on this system.

Initial Configuration Complete!

You can now continue configuring OpenVPN Access Server by
directing your Web browser to this URL:

https://188.40.63.58:943/admin
Login as "admin" with the same password used to authenticate
to this UNIX host.

During normal operation, OpenVPN AS can be accessed via these URLs:
Admin UI: https://188.40.63.58:943/admin
Client UI: https://188.40.63.58:943/

See the Release Notes for this release at:
https://openvpn.net/vpn-server-resources/release-notes/

Stopping openvpn-as now; will start again later after configuring
[cont-init.d] 40-openvpn-init: exited 0.
[cont-init.d] 50-interface: executing...
MOD Default {'admin_ui.https.ip_address': None} {'admin_ui.https.ip_address': 'enp4s0'}
MOD Default {'cs.https.ip_address': None} {'cs.https.ip_address': 'enp4s0'}
MOD Default {'vpn.daemon.0.listen.ip_address': None} {'vpn.daemon.0.listen.ip_address': 'enp4s0'}
MOD Default {'vpn.daemon.0.server.ip_address': None} {'vpn.daemon.0.server.ip_address': 'enp4s0'}
[cont-init.d] 50-interface: exited 0.
[cont-init.d] 99-custom-scripts: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done. `

No such file or directory

When setting a mounted volume I get ./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: No such file or directory over and over and web ui doesn't start.

If I remove the volume it works normally.

Ubuntu server 18.10

docker run -d --restart=always --name openvpn \
    --cap-add=NET_ADMIN \
    -e PUID=1000 \
    -e PGID=1000 \
    -e TX=America/Chicago \
    -p 943:943 \
    -p 9443:9443 \
    -p 1194:1194/udp \
    -v /Storage/appdata/openvpn/config:/config \
    linuxserver/openvpn-as
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser: executing... 

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \ 
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-time: executing... 

Current default time zone: 'Etc/UTC'
Local time is now:      Sat May  4 21:52:50 UTC 2019.
Universal Time is now:  Sat May  4 21:52:50 UTC 2019.

[cont-init.d] 20-time: exited 0.
[cont-init.d] 30-config: executing... 
existing data found, reinstalling openvpn-as
backing up certs.db
backing up cluster.db
backing up config.db
backing up config_local.db
backing up log.db
backing up notification.db
backing up userprop.db
backing up as.conf
Selecting previously unselected package openvpn-as.
(Reading database ... 11947 files and directories currently installed.)
Preparing to unpack /openvpn/openvpn.deb ...
Unpacking openvpn-as (2.7.3-05bc07c0-Ubuntu16) ...
dpkg: error processing archive /openvpn/openvpn.deb (--install):
 error setting ownership of '/usr/local/openvpn_as/lib.dpkg-new': Operation not permitted
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Removing files ...
Removing custom users and groups...
Errors were encountered while processing:
 /openvpn/openvpn.deb
sed: can't read /usr/local/openvpn_as/etc/as_templ.conf: No such file or directory
restoring certs.db
Error: unable to open database "/config/etc/db/certs.db": unable to open database file
restoring cluster.db
Error: unable to open database "/config/etc/db/cluster.db": unable to open database file
restoring config.db
Error: unable to open database "/config/etc/db/config.db": unable to open database file
restoring config_local.db
Error: unable to open database "/config/etc/db/config_local.db": unable to open database file
restoring log.db
Error: unable to open database "/config/etc/db/log.db": unable to open database file
restoring notification.db
Error: unable to open database "/config/etc/db/notification.db": unable to open database file
restoring userprop.db
Error: unable to open database "/config/etc/db/userprop.db": unable to open database file
restoring as.conf
cp: cannot create regular file '/config/etc/as.conf': No such file or directory
chown: cannot access '/config/etc/tmp': No such file or directory
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-openvpn-init: executing... 
find: โ€˜/config/etc/dbโ€™: No such file or directory
/var/run/s6/etc/cont-init.d/40-openvpn-init: line 14: /usr/local/openvpn_as/bin/ovpn-init: No such file or directory
[cont-init.d] 40-openvpn-init: exited 0.
[cont-init.d] 50-interface: executing... 
/var/run/s6/etc/cont-init.d/50-interface: line 9: /usr/local/openvpn_as/scripts/confdba: No such file or directory
/var/run/s6/etc/cont-init.d/50-interface: line 10: /usr/local/openvpn_as/scripts/confdba: No such file or directory
/var/run/s6/etc/cont-init.d/50-interface: line 11: /usr/local/openvpn_as/scripts/confdba: No such file or directory
/var/run/s6/etc/cont-init.d/50-interface: line 12: /usr/local/openvpn_as/scripts/confdba: No such file or directory
[cont-init.d] 50-interface: exited 127.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom scripts found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: No such file or directory
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: No such file or directory
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: No such file or directory
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: No such file or directory
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: No such file or directory
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: No such file or directory
./run: line 3: /usr/local/openvpn_as/scripts/openvpnas: No such file or directory

no symlinks, starting from empty local directory

Thanks, team linuxserver.io

Fresh install: unable to login through the webui admin. Default login/password give "Incorrect login." error message

On a fresh usage of the Docker Hub "linuxserver/openvpn-as" (https://hub.docker.com/r/linuxserver/openvpn-as/), I can't access the admin webui located at the url https://:943/admin. I don't have any issue to access the web page, but when I use the default login/password (admin/password), I always got the error "Incorrect login."

Bellow the openvpnas log after I try login to the OpenVPN administration interface:

2018-03-16 15:11:00+0100 [-] Server Agent started
2018-03-16 15:11:28+0100 [-] License Info {'apc': False, 'concurrent_connections': 2}
2018-03-16 15:12:10+0100 [-] WEB OUT: "2018-03-16 15:12:10+0100 [UDSProxyQueryProtocol,client] Web login authentication failed: {'status': 1, 'reason': 'PAM auth failed: System error', 'user': 'admin'}"
2018-03-16 15:12:10+0100 [-] WEB OUT: '2018-03-16 15:12:10+0100 [UDSProxyQueryProtocol,client] Web login failed (twisted.cred.error.UnauthorizedLogin)'

I'm using Docker image build number 114

It's strange, when I check the PAM faillures login using the command pam_tally2 -u admin, the failures counter show a nice 0!

Login           Failures Latest failure     From
admin               0

More strange, the command su - admin give the fallowing error: su: System error

I got something like previous error with the passwd admin command, bellow, the error log:

Enter new UNIX password:
Retype new UNIX password:
passwd: System error
passwd: password unchanged

For more information, bellow, the trace of the sudo docker info command:

Server Version: 17.05.0-ce
Storage Driver: aufs
 Root Dir: /volume1/@docker/aufs
 Backing Filesystem: extfs
 Dirs: 575
 Dirperm1 Supported: true
Logging Driver: db
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
Security Options:
 apparmor
Kernel Version: 3.10.102
Operating System: <unknown>
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 31.42GiB
Docker Root Dir: /volume1/@docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: No kernel memory limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support

To finish, some informations about docker-compose (command sudo docker-compose version):

docker-compose version 1.14.0, build c7bdf9e
docker-py version: 2.3.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

Thank you for your help !

Can't get udp port listening

I'm running this docker on Unraid. As stated in the title, I cannot access from port 1194. (I can't access from 9443 either). According to a netstat the only port out of the three that are listening is 943.

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name="openvpn-as" --net="host" --privileged="true" -e TZ="America/Los_Angeles" -e HOST_OS="unRAID" -e "TCP_PORT_943"="943" -e "TCP_PORT_9443"="9443" -e "UDP_PORT_1194"="1194" -e "INTERFACE"="bond0" -e "PGID"="100" -e "PUID"="99" -v "/mnt/user":"/unraid":rw -v "/mnt/user/system/docker/openvpn-as":"/config":rw linuxserver/openvpn-as

a2bae889b851283704259b4de6738e11c5b3f0dfc57d981e867e7f3421a86a53

connectivity test
status overview

Add/Remove user with bash shell

Hi !

Is it possible to add/remove users with a bash shell without going through the Webui using "docker exec" for example?

If so, can you show me some examples?

Thank you

Additional configuration

Any ideas on how I can pass other config info, like the webserver name or add additional users?

Container must be restarted when launching from docker-compose

linuxserver.io

Host OS: RancherOS v1.5.3

  openvpn:
    container_name: openvpn
    hostname: vpn
    domainname: example.com
    image: "linuxserver/openvpn-as:latest"
    restart: always
    ports:
      - "943:943"
      - "9443:9443"
      - "1194:1194/udp"
    environment:
      - PUID=1100
      - PGID=1101
      - TZ=Somewhere/Sometime
    volumes:
      - type: volume
        source: openvpn_data
        target: /config
    cap_add:
      - NET_ADMIN
    networks:
      - examplenet

When spinning up an OpenVPN instance in Docker using the above docker-compose, I get a lot of strange errors such as CPage error in CLogin/locateChild when trying to visit the web interface. Running docker container restart openvpn fixes this. I suspect there is a bug in the startup scripts that are part of the Docker image.

Digital Ocean Docker Droplet: Could not execute server start

Hello!

I'm trying to run this image in a Digital Ocean Docker Droplet but I keep having the error: Could not execute server start when running docker start:

Yes, I've tried all the solutions in every similar issue:
#50: I'm already exposing port 943
#66: Not trying to configure anything via CLI, just want to start the container.
#48: Not using MacOS
#23: Not using ssl, just want to start the service

I'm using the command provided by the README:

docker create \
  --name=vpn \
  --cap-add=NET_ADMIN \
  -e PUID=0 \ #Using root 
  -e PGID=0 \ #Using root 
  -e TZ=Europe/Stockholm \
  -e INTERFACE=eth0 \
  -p 943:943 \
  -p 9443:9443 \
  -p 1194:1194/udp \
  -v $PWD/openvpn:/config \ #I'm deleting this folder every single time I do a docker start 
  --restart unless-stopped \
  linuxserver/openvpn-as

Then I do a simple docker start: docker start vpn, but I always get the exact same error. I tried many variations: adding --privileged, --net=host, creating a sudoer user and using that id to run docker create, same results.

Linux Version: Linux general-purpose-docker 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Docker version: Docker version 18.09.2, build 6247962
Image version: latest (6 days ago), 244b9a8c51a6

Just to test if it was another problem, I could start kylemanna docker image and could correctly connect to the instance.

Anything I'm doing wrong?

EDIT:

I noticed that I have a couple of errors inside config_folder/log/openvpn.logs:
2019-04-17T17:55:35+0200 [stdout#info] PROC SET ERROR on /proc/sys/net/ipv4/ip_forward: [Errno 30] Read-only file system: '/proc/sys/net/ipv4/ip_forward': net/net:41,util/simplefile:11 (exceptions.IOError)
2019-04-17T17:55:35+0200 [stdout#info] PROC SET /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal : 0 -> 1
2019-04-17T17:55:35+0200 [stdout#info] PROC SET ERROR on /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal: [Errno 30] Read-only file system: '/proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal': net/net:41,util/simplefile:11 (exceptions.IOError)
2019-04-17T17:55:37+0200 [stdout#info] OpenVPNDataDir: using shared dir: '/run/openvpn_as/memstats'

It seems a folder permission problem. I made sure that the volume mounted (-v command) is a folder owned by the same PUID & PGID passed as a env var.

Docker logs!

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser: executing...


      _         ()
     | |  ___   _    __
     | | / __| | |  /  \ 
     | | \__ \ | | | () |
     |_| |___/ |_|  \__/

Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/

GID/UID

User uid: 0
User gid: 0

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-time: executing...

Current default time zone: 'Europe/Stockholm'
Local time is now: Wed Apr 17 17:29:23 CEST 2019.
Universal Time is now: Wed Apr 17 15:29:23 UTC 2019.

[cont-init.d] 20-time: exited 0.
[cont-init.d] 30-config: executing...
installing openvpn-as for the first time
Selecting previously unselected package openvpn-as.
(Reading database ... 11947 files and directories currently installed.)
Preparing to unpack /openvpn/openvpn.deb ...
Unpacking openvpn-as (2.7.3-05bc07c0-Ubuntu16) ...
Setting up openvpn-as (2.7.3-05bc07c0-Ubuntu16) ...
Automatic configuration failed, see /usr/local/openvpn_as/init.log
You can configure manually using the /usr/local/openvpn_as/bin/ovpn-init tool.
Beginning with OpenVPN AS 2.6.0 compression is disabled by default and on upgrades as security patch.
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-openvpn-init: executing...
Detected an existing OpenVPN-AS configuration.
Continuing will delete this configuration and restart from scratch.
Please enter 'DELETE' to delete existing configuration:
OpenVPN Access Server
Initial Configuration Tool

OpenVPN Access Server End User License Agreement (OpenVPN-AS EULA)

1. Copyright Notice: OpenVPN Access Server License;
   Copyright (c) 2009-2019 OpenVPN Inc. All rights reserved.
   "OpenVPN" is a trademark of OpenVPN Inc.
2. Redistribution of OpenVPN Access Server binary forms and related documents,
   are permitted provided that redistributions of OpenVPN Access Server binary
   forms and related documents reproduce the above copyright notice as well as
   a complete copy of this EULA.
3. You agree not to reverse engineer, decompile, disassemble, modify,
   translate, make any attempt to discover the source code of this software,
   or create derivative works from this software.
4. The OpenVPN Access Server is bundled with other open source software
   components, some of which fall under different licenses. By using OpenVPN
   or any of the bundled components, you agree to be bound by the conditions
   of the license for each respective component. For more information, you can
   find our complete EULA (End-User License Agreement) on our website
   (http://openvpn.net), and a copy of the EULA is also distributed with the
   Access Server in the file /usr/local/openvpn_as/license.txt.
5. This software is provided "as is" and any expressed or implied warranties,
   including, but not limited to, the implied warranties of merchantability
   and fitness for a particular purpose are disclaimed. In no event shall
   OpenVPN Inc. be liable for any direct, indirect, incidental,
   special, exemplary, or consequential damages (including, but not limited
   to, procurement of substitute goods or services; loss of use, data, or
   profits; or business interruption) however caused and on any theory of
   liability, whether in contract, strict liability, or tort (including
   negligence or otherwise) arising in any way out of the use of this
   software, even if advised of the possibility of such damage.
6. OpenVPN Inc. is the sole distributor of OpenVPN Access Server
   licenses. This agreement and licenses granted by it may not be assigned,
   sublicensed, or otherwise transferred by licensee without prior written
   consent of OpenVPN Inc. Any licenses violating this provision
   will be subject to revocation and deactivation, and will not be eligible
   for refunds.
7. A purchased license entitles you to use this software for the duration of
   time denoted on your license key on any one (1) particular device, up to
   the concurrent user limit specified by your license. Multiple license keys
   may be activated to achieve a desired concurrency limit on this given
   device. Unless otherwise prearranged with OpenVPN Inc.,
   concurrency counts on license keys are not to be divided for use amongst
   multiple devices. Upon activation of the first purchased license key in
   this software, you agree to forego any free licenses or keys that were
   given to you for demonstration purposes, and as such, the free licenses
   will not appear after the activation of a purchased key. You are
   responsible for the timely activation of these licenses on your desired
   server of choice. Refunds on purchased license keys are only possible
   within 30 days of purchase of license key, and then only if the license key
   has not already been activated on a system. To request a refund, contact us
   through our support ticket system using the account you have used to
   purchase the license key. Exceptions to this policy may be given for
   machines under failover mode, and when the feature is used as directed in
   the OpenVPN Access Server user manual. In these circumstances, a user is
   granted one (1) license key (per original license key) for use solely on
   failover purposes free of charge. Other failover and/or load balancing use
   cases will not be eligible for this exception, and a separate license key
   would have to be acquired to satisfy the licensing requirements. To request
   a license exception, please file a support ticket in the OpenVPN Access
   Server ticketing system. A staff member will be responsible for determining
   exception eligibility, and we reserve the right to decline any requests not
   meeting our eligibility criteria, or requests which we believe may be
   fraudulent in nature.
8. Activating a license key ties it to the specific hardware/software
   combination that it was activated on, and activated license keys are
   nontransferable. Substantial software and/or hardware changes may 
   invalidate an activated license. In case of substantial software and/or
   hardware changes, caused by for example, but not limited to failure and
   subsequent repair or alterations of (virtualized) hardware/software, our
   software product will automatically attempt to contact our online licensing
   systems to renegotiate the licensing state. On any given license key, you
   are limited to three (3) automatic renegotiations within the license key
   lifetime. After these renegotiations are exhausted, the license key is
   considered invalid, and the activation state will be locked to the last
   valid system configuration it was activated on. OpenVPN Inc.reserves the
   right to grant exceptions to this policy for license holders under
   extenuating circumstances, and such exceptions can be requested through a
   ticket via the OpenVPN Access Server ticketing system.
9. Once an activated license key expires or becomes invalid, the concurrency
   limit on our software product will decrease by the amount of concurrent
   connections previously granted by the license key. If all of your purchased
   license key(s) have expired, the product will revert to demonstration mode,
   which allows a maximum of two (2) concurrent users to be connected to your
   server. Prior to your license expiration date(s), OpenVPN Inc. will attempt
   to remind you to renew your license(s) by sending periodic email messages
   to the licensee email address on record. You are solely responsible for
   the timely renewal of your license key(s) prior to their expiration if
   continued operation is expected after the license expiration date(s).
   OpenVPN Inc. will not be responsible for any misdirected and/or undeliverable
   email messages, nor does it have an obligation to contact you regarding
   your expiring license keys.
  1. Any valid license key holder is entitled to use our ticketing system for
    support questions or issues specifically related to the OpenVPN Access
    Server product. To file a ticket, go to our website at http://openvpn.net/
    and sign in using the account that was registered and used to purchase the
    license key(s). You can then access the support ticket system through our
    website and submit a support ticket. Tickets filed in the ticketing system
    are answered on a best-effort basis. OpenVPN Inc. staff
    reserve the right to limit responses to users of our demo / expired
    licenses, as well as requests that substantively deviate from the OpenVPN
    Access Server product line. Tickets related to the open source version of
    OpenVPN will not be handled here.
  2. Purchasing a license key does not entitle you to any special rights or
    privileges, except the ones explicitly outlined in this user agreement.
    Unless otherwise arranged prior to your purchase with OpenVPN,
    Inc., software maintenance costs and terms are subject to change after your
    initial purchase without notice. In case of price decreases or special
    promotions, OpenVPN Inc. will not retrospectively apply
    credits or price adjustments toward any licenses that have already been
    issued. Furthermore, no discounts will be given for license maintenance
    renewals unless this is specified in your contract with OpenVPN Inc.

Please enter 'yes' to indicate your agreement [no]:
Once you provide a few initial configuration settings,
OpenVPN Access Server can be configured by accessing
its Admin Web UI using your Web browser.

Will this be the primary Access Server node?
(enter 'no' to configure as a backup or standby node)

Press ENTER for default [yes]:
Please specify the network interface and IP address to be
used by the Admin Web UI:
(1) all interfaces: 0.0.0.0
(2) eth0: 172.17.0.5
Please enter the option number from the list above (1-2).
Press Enter for default [1]:
Please specify the port number for the Admin Web UI.
Press ENTER for default [943]:
Please specify the TCP port number for the OpenVPN Daemon
Press ENTER for default [443]:
Should client traffic be routed by default through the VPN?
Press ENTER for default [yes]:
Should client DNS traffic be routed by default through the VPN?
Press ENTER for default [yes]:
Use local authentication via internal DB?
Press ENTER for default [yes]:
Private subnets detected: ['172.17.0.0/16']

Should private subnets be accessible to clients by default?

Press ENTER for default [yes]:
To initially login to the Admin Web UI, you must use a
username and password that successfully authenticates you
with the host UNIX system (you can later modify the settings
so that RADIUS or LDAP is used for authentication instead).

You can login to the Admin Web UI as "openvpn" or specify
a different user account to use for this purpose.

Do you wish to login to the Admin UI as "openvpn"?

Press ENTER for default [yes]:
Specify the username for an existing user or for the new user account: Note: This user already exists.

Please specify your OpenVPN-AS license key (or leave blank to specify later):

Initializing OpenVPN...
Removing Cluster Admin user login...
userdel "admin_c"
Adding new user login...
useradd -s /sbin/nologin "admin"
Writing as configuration file...
Perform sa init...
Wiping any previous userdb...
Creating default profile...
Modifying default profile...
Adding new user to userdb...
Modifying new user as superuser in userdb...
Getting hostname...
Hostname: 1242136b5e72
Preparing web certificates...
Getting web user account...
Adding web group account...
Adding web group...
Adjusting license directory ownership...
Initializing confdb...
Generating init scripts...
Generating PAM config...
Generating init scripts auto command...
Starting openvpnas...
Error: Could not execute server start.
[cont-init.d] 40-openvpn-init: exited 0.
[cont-init.d] 50-interface: executing...
MOD Default {'admin_ui.https.ip_address': None} {'admin_ui.https.ip_address': 'eth0'}
MOD Default {'cs.https.ip_address': None} {'cs.https.ip_address': 'eth0'}
MOD Default {'vpn.daemon.0.listen.ip_address': None} {'vpn.daemon.0.listen.ip_address': 'eth0'}
MOD Default {'vpn.daemon.0.server.ip_address': None} {'vpn.daemon.0.server.ip_address': 'eth0'}
[cont-init.d] 50-interface: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

config/log/openvpn.log

2019-04-17T17:55:32+0200 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 17.9.0 (/usr/local/openvpn_as/bin/python 2.7.11) starting up. 2019-04-17T17:55:32+0200 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.epollreactor.EPollReactor. 2019-04-17T17:55:32+0200 [stdout#info] *** Insecure settings found. Permissions for /config/etc/as.conf were set to 0644. Resetting Permissions to 0600 *** 2019-04-17T17:55:32+0200 [stdout#info] rmdir /usr/local/openvpn_as/etc/db_push 2019-04-17T17:55:32+0200 [stdout#info] ACCESS SERVER starting, version=2.7.3, build=05bc07c0 2019-04-17T17:55:32+0200 [stdout#info] Max open files set to (4096, 4096) 2019-04-17T17:55:32+0200 [-] /etc/resolv.conf changed, reparsing 2019-04-17T17:55:32+0200 [-] Resolver added ('', 53) to server list 2019-04-17T17:55:32+0200 [-] Resolver added ('', 53) to server list 2019-04-17T17:55:33+0200 [stdout#info] DBModTracker.register config /config/etc/db/config.db 2019-04-17T17:55:33+0200 [stdout#info] DBModTracker.register config_local /config/etc/db/config_local.db 2019-04-17T17:55:33+0200 [stdout#info] DBModTracker.register user_prop /config/etc/db/userprop.db 2019-04-17T17:55:33+0200 [stdout#info] DBModTracker.register certs /config/etc/db/certs.db 2019-04-17T17:55:33+0200 [pyovpn.http.httpcli.MyHTTPClientFactory#info] Starting factory 2019-04-17T17:55:33+0200 [pyovpn.http.httpcli.MyHTTPClientFactory#info] Starting factory 2019-04-17T17:55:33+0200 [pyovpn.http.httpcli.MyHTTPClientFactory#info] Starting factory 2019-04-17T17:55:33+0200 [-] Site starting on '/openvpn/sock/sagent' 2019-04-17T17:55:33+0200 [twisted.web.server.Site#info] Starting factory 2019-04-17T17:55:33+0200 [-] Site starting on '/openvpn/sock/sagent.localroot' 2019-04-17T17:55:33+0200 [twisted.web.server.Site#info] Starting factory 2019-04-17T17:55:33+0200 [-] Site starting on '/openvpn/sock/sagent.api' 2019-04-17T17:55:33+0200 [twisted.web.server.Site#info] Starting factory 2019-04-17T17:55:33+0200 [stdout#info] OpenVPNDataDir: using shared dir: '/run/openvpn_as/tmp' 2019-04-17T17:55:33+0200 [stdout#info] OpenVPNDataDir: using shared dir: '/run/openvpn_as/dev' 2019-04-17T17:55:33+0200 [stdout#info] /bin/mknod -m 0666 /run/openvpn_as/dev/null c 1 3 2019-04-17T17:55:33+0200 [stdout#info] OpenVPNDataDir: using shared dir: '/run/openvpn_as/pso' 2019-04-17T17:55:33+0200 [stdout#info] /bin/mknod -m 0666 /run/openvpn_as/dev/random c 1 8 2019-04-17T17:55:33+0200 [pyovpn.http.httpcli.MyHTTPClientFactory#info] Stopping factory 2019-04-17T17:55:33+0200 [pyovpn.http.httpcli.MyHTTPClientFactory#info] Stopping factory 2019-04-17T17:55:33+0200 [pyovpn.http.httpcli.MyHTTPClientFactory#info] Stopping factory 2019-04-17T17:55:33+0200 [stdout#info] /bin/mknod -m 0444 /run/openvpn_as/dev/urandom c 1 9 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: 'WSERV admin+client+xmlrpc 0.0.0.0 943' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: 'WSERV admin+client 127.0.0.1 904' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: 'WSERV admin 127.0.0.1 905' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: 'WSERV client 127.0.0.1 906' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: 'WSERV xmlrpc 127.0.0.1 907' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: 'WSERV admin+client+xmlrpc 127.0.0.1 908' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: 'WSERV client+xmlrpc 127.0.0.1 909' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 17.9.0 (/usr/local/openvpn_as/bin/python 2.7.11) starting up.' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.epollreactor.EPollReactor.' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [stdout#info] OpenSSL web ciphersuites: DEFAULT:!EXP:!PSK:!SRP:!LOW:!RC4' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [-] MySiteBase (TLS) starting on 943' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [pyovpn.web.webbase.MySiteBase#info] Starting factory ' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [-] MySiteBase (TLS) starting on 904' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [pyovpn.web.webbase.MySiteBase#info] Starting factory ' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [-] MySiteBase (TLS) starting on 905' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [pyovpn.web.webbase.MySiteBase#info] Starting factory ' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [-] MySiteBase (TLS) starting on 906' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [pyovpn.web.webbase.MySiteBase#info] Starting factory ' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [-] Site (TLS) starting on 907' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [twisted.web.server.Site#info] Starting factory ' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [-] MySiteBase (TLS) starting on 908' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [pyovpn.web.webbase.MySiteBase#info] Starting factory ' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [-] MySiteBase (TLS) starting on 909' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [pyovpn.web.webbase.MySiteBase#info] Starting factory ' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [-] set uid/gid 1000/1000' 2019-04-17T17:55:35+0200 [stdout#info] [WEB] OUT: '2019-04-17T17:55:35+0200 [stdout#info] Web server running as UID 1000' 2019-04-17T17:55:35+0200 [stdout#info] PROC SET /proc/sys/net/ipv4/ip_forward : 1 -> 1 **2019-04-17T17:55:35+0200 [stdout#info] PROC SET ERROR on /proc/sys/net/ipv4/ip_forward: [Errno 30] Read-only file system: '/proc/sys/net/ipv4/ip_forward': net/net:41,util/simplefile:11 (exceptions.IOError) 2019-04-17T17:55:35+0200 [stdout#info] PROC SET /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal : 0 -> 1 2019-04-17T17:55:35+0200 [stdout#info] PROC SET ERROR on /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal: [Errno 30] Read-only file system: '/proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal': net/net:41,util/simplefile:11 (exceptions.IOError) 2019-04-17T17:55:37+0200 [stdout#info] OpenVPNDataDir: using shared dir: '/run/openvpn_as/memstats'** 2019-04-17T17:55:37+0200 [stdout#info] License Info {'apc': False, 'concurrent_connections': 2} 2019-04-17T17:55:37+0200 [-] OMIServerAuthFactory starting on '/openvpn/sock/omisock-tKwggYBF7gaI' 2019-04-17T17:55:37+0200 [pyovpn.omi.omiauth.OMIServerAuthFactory#info] Starting factory 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 DEPRECATED OPTION: --no-name-remapping, please update your configuration. This will be removed in OpenVPN 2.5.' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 OpenVPN 2.4.7as2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Mar 26 2019' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 library versions: OpenSSL 1.0.2q 20 Nov 2018, LZO 2.08' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 MANAGEMENT: client_uid=0' 2019-04-17T17:55:37+0200 [-] (UNIX Port /openvpn/sock/omisock-tKwggYBF7gaI Closed) 2019-04-17T17:55:37+0200 [pyovpn.omi.omiauth.OMIServerAuthFactory#info] Stopping factory 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 MANAGEMENT: Connected to management server at /openvpn/sock/omisock-tKwggYBF7gaI' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'state on'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'echo on'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'bytecount 300'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'env-filter 1'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'hold off'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'hold release'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead.' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 NOTE: --fast-io is disabled since we are not using UDP' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 Initializing OpenSSL auto engine support' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 Diffie-Hellman initialized with 2048 bit key' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 auth-token secret: Using 256 bit message hash 'SHA256' for HMAC authentication" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 TUN/TAP device as0t0 opened' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 TUN/TAP TX queue length set to 200' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 MANAGEMENT: >STATE:1555516537,ASSIGN_IP,,172.27.224.1,,,,' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 /sbin/ifconfig as0t0 172.27.224.1 netmask 255.255.248.0 mtu 1500 broadcast 172.27.231.255' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 Could not determine IPv4/IPv6 protocol. Using AF_INET' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 Socket Buffers: R=[87380->87380] S=[16384->16384]' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 Listening for incoming TCP connection on [AF_INET][undef]:9443' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 Socket flags: TCP_NODELAY=1 succeeded' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 TCPv4_SERVER link local (bound): [AF_INET][undef]:9443' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 TCPv4_SERVER link remote: [AF_UNSPEC]' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: "Wed Apr 17 17:55:37 2019 chroot to '/run/openvpn_as' and cd to '/' succeeded" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 GID set to abc' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 UID set to abc' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 memstats data will be written to /memstats/memstat-APqLSqD3woyo.dat' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 MULTI: multi_init called, r=4096 v=4096' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 MULTI: TCP INIT maxclients=2048 maxevents=2052' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 Initialization Sequence Completed' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 MANAGEMENT: >STATE:1555516537,CONNECTED,SUCCESS,172.27.224.1,,,,' 2019-04-17T17:55:37+0200 [stdout#info] License Info {'apc': False, 'concurrent_connections': 2} 2019-04-17T17:55:37+0200 [-] OMIServerAuthFactory starting on '/openvpn/sock/omisock-Z4IMHOQEcKLX' 2019-04-17T17:55:37+0200 [pyovpn.omi.omiauth.OMIServerAuthFactory#info] Starting factory 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 0] OUT: 'Wed Apr 17 17:55:37 2019 PORT SHARE PROXY: proxy starting' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 DEPRECATED OPTION: --no-name-remapping, please update your configuration. This will be removed in OpenVPN 2.5.' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 OpenVPN 2.4.7as2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Mar 26 2019' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 library versions: OpenSSL 1.0.2q 20 Nov 2018, LZO 2.08' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 MANAGEMENT: client_uid=0' 2019-04-17T17:55:37+0200 [-] (UNIX Port /openvpn/sock/omisock-Z4IMHOQEcKLX Closed) 2019-04-17T17:55:37+0200 [pyovpn.omi.omiauth.OMIServerAuthFactory#info] Stopping factory 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 MANAGEMENT: Connected to management server at /openvpn/sock/omisock-Z4IMHOQEcKLX' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'state on'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'echo on'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'bytecount 300'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'env-filter 1'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'hold off'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 MANAGEMENT: CMD 'hold release'" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead.' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 Initializing OpenSSL auto engine support' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 Diffie-Hellman initialized with 2048 bit key' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 auth-token secret: Using 256 bit message hash 'SHA256' for HMAC authentication" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 TUN/TAP device as0t1 opened' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 TUN/TAP TX queue length set to 200' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 MANAGEMENT: >STATE:1555516537,ASSIGN_IP,,172.27.232.1,,,,' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 /sbin/ifconfig as0t1 172.27.232.1 netmask 255.255.248.0 mtu 1500 broadcast 172.27.239.255' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 Could not determine IPv4/IPv6 protocol. Using AF_INET' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 Socket Buffers: R=[212992->212992] S=[212992->212992]' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 UDPv4 link local (bound): [AF_INET][undef]:1194' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 UDPv4 link remote: [AF_UNSPEC]' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: "Wed Apr 17 17:55:37 2019 chroot to '/run/openvpn_as' and cd to '/' succeeded" 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 GID set to abc' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 UID set to abc' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 memstats data will be written to /memstats/memstat-ex3iu6Evxywp.dat' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 MULTI: multi_init called, r=4096 v=4096' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 Initialization Sequence Completed' 2019-04-17T17:55:37+0200 [stdout#info] [OVPN 1] OUT: 'Wed Apr 17 17:55:37 2019 MANAGEMENT: >STATE:1555516537,CONNECTED,SUCCESS,172.27.232.1,,,,' 2019-04-17T17:55:37+0200 [stdout#info] Server Agent initialization status: 2019-04-17T17:55:37+0200 [stdout#info] { 2019-04-17T17:55:37+0200 [stdout#info] "errors": { 2019-04-17T17:55:37+0200 [stdout#info] "openvpn_0": [ 2019-04-17T17:55:37+0200 [stdout#info] [ 2019-04-17T17:55:37+0200 [stdout#info] "info", 2019-04-17T17:55:37+0200 [stdout#info] "process started successfully on 172.27.224.1" 2019-04-17T17:55:37+0200 [stdout#info] ] 2019-04-17T17:55:37+0200 [stdout#info] ], 2019-04-17T17:55:37+0200 [stdout#info] "openvpn_1": [ 2019-04-17T17:55:37+0200 [stdout#info] [ 2019-04-17T17:55:37+0200 [stdout#info] "info", 2019-04-17T17:55:37+0200 [stdout#info] "process started successfully on 172.27.232.1" 2019-04-17T17:55:37+0200 [stdout#info] ] 2019-04-17T17:55:37+0200 [stdout#info] ] 2019-04-17T17:55:37+0200 [stdout#info] }, 2019-04-17T17:55:37+0200 [stdout#info] "last_restarted": "Wed Apr 17 17:55:33 2019", 2019-04-17T17:55:37+0200 [stdout#info] "service_status": { 2019-04-17T17:55:37+0200 [stdout#info] "api": "started", 2019-04-17T17:55:37+0200 [stdout#info] "auth": "started", 2019-04-17T17:55:37+0200 [stdout#info] "bridge": "started", 2019-04-17T17:55:37+0200 [stdout#info] "client_query": "started", 2019-04-17T17:55:37+0200 [stdout#info] "crl": "started", 2019-04-17T17:55:37+0200 [stdout#info] "daemon_pre": "started", 2019-04-17T17:55:37+0200 [stdout#info] "db_push": "started", 2019-04-17T17:55:37+0200 [stdout#info] "ip6tables_live": "started", 2019-04-17T17:55:37+0200 [stdout#info] "ip6tables_openvpn": "started", 2019-04-17T17:55:37+0200 [stdout#info] "iptables_live": "started", 2019-04-17T17:55:37+0200 [stdout#info] "iptables_openvpn": "started", 2019-04-17T17:55:37+0200 [stdout#info] "iptables_web": "started", 2019-04-17T17:55:37+0200 [stdout#info] "license": "started", 2019-04-17T17:55:37+0200 [stdout#info] "log": "started", 2019-04-17T17:55:37+0200 [stdout#info] "openvpn_0": "started", 2019-04-17T17:55:37+0200 [stdout#info] "openvpn_1": "started", 2019-04-17T17:55:37+0200 [stdout#info] "user": "started", 2019-04-17T17:55:37+0200 [stdout#info] "web": "started" 2019-04-17T17:55:37+0200 [stdout#info] } 2019-04-17T17:55:37+0200 [stdout#info] } 2019-04-17T17:55:37+0200 [stdout#info] Server Agent started 2019-04-17T17:55:42+0200 [stdout#info] License Info {'apc': False, 'concurrent_connections': 2}

Cant access webui

i installed this into my unraid 6.6.6 used the bond0 interface as thats what was listed in the information tab
then once i try to access webui i just get hit with refused to connect

Thanks, team linuxserver.io

Cant access local network

After starting the docker and setting up the VPN, i can connect to the container itself,
but nothing beyond that. No other container, no other device on the network.

Added network_mode: host, this allowed me to access other containers with the same network_mode setting. but no containers with bridge mode.

Added private subnet to routing option via the web interface, no change.

Expected Behavior

After establishing the VPN connection its possible to reach all devices on the network

Current Behavior

After establishing the VPN connection it isnt possible to leave the container.

Steps to Reproduce

  1. Pull docker
  2. Start and create user
  3. from outside of the network, create the VPN connection.

Environment

OS: buntu 17.10
CPU architecture: x86_64
How docker service was installed:
as described on the docker.com website

Command used to create docker container (run/create/compose/screenshot)

version: "2"
services:
  openvpn-as:
    image: linuxserver/openvpn-as
    container_name: openvpn-as
    cap_add:
      - NET_ADMIN
    # network_mode: host # testing
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      # - INTERFACE=eth0
    volumes:
      -<*path>:/config
    ports:
      - 943:943
      - 9443:9443
      - 1194:1194/udp
    restart: unless-stopped

Docker logs

      
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.


[s6-init] ensuring user provided files have correct perms...exited 0.


[fix-attrs.d] applying ownership & permissions fixes...


[fix-attrs.d] done.


[cont-init.d] executing container initialization scripts...


[cont-init.d] 01-envfile: executing... 


[cont-init.d] 01-envfile: exited 0.


[cont-init.d] 10-adduser: executing... 




-------------------------------------


          _         ()


         | |  ___   _    __


         | | / __| | |  /  \ 


         | | \__ \ | | | () |


         |_| |___/ |_|  \__/






Brought to you by linuxserver.io


We gratefully accept donations at:


https://www.linuxserver.io/donate/


-------------------------------------


GID/UID


-------------------------------------




User uid:    1000


User gid:    1000


-------------------------------------




[cont-init.d] 10-adduser: exited 0.


[cont-init.d] 20-time: executing... 




Current default time zone: 'Europe/London'


Local time is now:      Fri Dec  6 14:33:49 GMT 2019.


Universal Time is now:  Fri Dec  6 14:33:49 UTC 2019.




[cont-init.d] 20-time: exited 0.


[cont-init.d] 30-config: executing... 


existing data found, reinstalling openvpn-as


backing up certs.db


backing up cluster.db


backing up config.db


backing up config_local.db


backing up log.db


backing up notification.db


backing up userprop.db


backing up as.conf


Selecting previously unselected package openvpn-as-bundled-clients.


(Reading database ... 11518 files and directories currently installed.)


Preparing to unpack /openvpn/openvpn-clients.deb ...


Unpacking openvpn-as-bundled-clients (3) ...


Setting up openvpn-as-bundled-clients (3) ...


Selecting previously unselected package openvpn-as.


(Reading database ... 11531 files and directories currently installed.)


Preparing to unpack /openvpn/openvpn.deb ...


Unpacking openvpn-as (2.7.5-932a08a3-Ubuntu18) ...


Setting up openvpn-as (2.7.5-932a08a3-Ubuntu18) ...




The Access Server has been successfully installed in /usr/local/openvpn_as


Configuration log file has been written to /usr/local/openvpn_as/init.log




Please enter "passwd openvpn" to set the initial


administrative password, then login as "openvpn" to continue


configuration here: https://<IP>:943/admin




To reconfigure manually, use the /usr/local/openvpn_as/bin/ovpn-init tool.




+++++++++++++++++++++++++++++++++++++++++++++++


Access Server Web UIs are available here:


Admin  UI: https://<IP>:943/admin


Client UI: https://<IP>:943/


+++++++++++++++++++++++++++++++++++++++++++++++




Beginning with OpenVPN AS 2.6.0 compression is disabled by default and on upgrades as security patch.


Stopping openvpn-as now; will start again later after configuring


restoring certs.db


restoring cluster.db


Error: near line 21: disk I/O error


restoring config.db


restoring config_local.db


restoring log.db


restoring notification.db


restoring userprop.db


restoring as.conf


[cont-init.d] 30-config: exited 0.


[cont-init.d] 40-openvpn-init: executing... 


[cont-init.d] 40-openvpn-init: exited 0.


[cont-init.d] 50-interface: executing... 


MOD Default {} {}


MOD Default {} {}


MOD Default {} {}


MOD Default {} {}


[cont-init.d] 50-interface: exited 0.


[cont-init.d] 99-custom-scripts: executing... 


[custom-init] no custom files found exiting...


[cont-init.d] 99-custom-scripts: exited 0.


[cont-init.d] done.


[services.d] starting services


[services.d] done.

No webui acces under mac OS

I have an OpenVPN server running on a Debian machine (VirtualBox) that I would like to migrate to Docker.

After pulling the image and starting the container I can't see anything listening on port 943 of the host machine (https://192.168.33.3:943/admin)

mac OS 10.13.6
docker create \
--name=openvpn-as \
-v /Users/diego/docker-configs/openvpn-as/config:/config \
-e TZ=America/New_York \
-e INTERFACE=en0 \
--net=host --privileged \
linuxserver/openvpn-as

I'm using en0 since that seems to be the default Ethernet adapter in mac OS. I stopped the Debian VM before creating and running the container in case it would interfere.

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser: executing... 

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \ 
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    911
User gid:    911
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-time: executing... 
[cont-init.d] 20-time: exited 0.
[cont-init.d] 30-config: executing... 
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-openvpn-init: executing... 
Detected an existing OpenVPN-AS configuration.
Continuing will delete this configuration and restart from scratch.
Please enter 'DELETE' to delete existing configuration: 
          OpenVPN Access Server
          Initial Configuration Tool

Please enter 'yes' to indicate your agreement [no]: 
Once you provide a few initial configuration settings,
OpenVPN Access Server can be configured by accessing
its Admin Web UI using your Web browser.

Will this be the primary Access Server node?
(enter 'no' to configure as a backup or standby node)
> Press ENTER for default [yes]: 
Please specify the network interface and IP address to be
used by the Admin Web UI:
(1) all interfaces: 0.0.0.0
(2) eth0: 192.168.65.3
(3) br-c81b4c5e44fa: 172.18.0.1
(4) docker0: 172.17.0.1
Please enter the option number from the list above (1-4).
> Press Enter for default [2]: 
Please specify the port number for the Admin Web UI.
> Press ENTER for default [943]: 
Please specify the TCP port number for the OpenVPN Daemon
> Press ENTER for default [443]: 
Should client traffic be routed by default through the VPN?
> Press ENTER for default [yes]: 
Should client DNS traffic be routed by default through the VPN?
> Press ENTER for default [yes]: 
Use local authentication via internal DB?
> Press ENTER for default [yes]: 
Private subnets detected: ['192.168.65.0/24', '172.17.0.0/16']

Should private subnets be accessible to clients by default?
> Press ENTER for default [yes]: 
To initially login to the Admin Web UI, you must use a
username and password that successfully authenticates you
with the host UNIX system (you can later modify the settings
so that RADIUS or LDAP is used for authentication instead).

You can login to the Admin Web UI as "openvpn" or specify
a different user account to use for this purpose.

Do you wish to login to the Admin UI as "openvpn"?
> Press ENTER for default [yes]: 
> Specify the username for an existing user or for the new user account: Note: This user already exists.

> Please specify your OpenVPN-AS license key (or leave blank to specify later): 

Initializing OpenVPN...
Adding new user login...
useradd -s /sbin/nologin "admin"
Writing as configuration file...
Perform sa init...
Wiping any previous userdb...
Creating default profile...
Modifying default profile...
Adding new user to userdb...
Modifying new user as superuser in userdb...
Getting hostname...
Hostname: linuxkit-025000000001
Preparing web certificates...
Getting web user account...
Adding web group account...
Adding web group...
Adjusting license directory ownership...
Initializing confdb...
Generating init scripts...
Generating PAM config...
Generating init scripts auto command...
Starting openvpnas...
Error: Could not execute server start.
[cont-init.d] 40-openvpn-init: exited 0.
[cont-init.d] 50-interface: executing... 
MOD Default {u'admin_ui.https.ip_address': u'all'} {u'admin_ui.https.ip_address': 'en0'}
MOD Default {u'cs.https.ip_address': u'all'} {u'cs.https.ip_address': 'en0'}
MOD Default {u'vpn.daemon.0.listen.ip_address': u'all'} {u'vpn.daemon.0.listen.ip_address': 'en0'}
MOD Default {u'vpn.daemon.0.server.ip_address': u'all'} {u'vpn.daemon.0.server.ip_address': 'en0'}
[cont-init.d] 50-interface: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

I'm guessing the line "Error: Could not execute server start." explains why there is not webui but I have no idea how to start looking for the issue since I'm fairly new to Docker. I have several other containers running fine but they are all simple services running in the bridge network.

Any pointers would be appreciated. Thanks!

Cannot start the server - iptables errors

After creating the container and starting it, I went to the administration portal, logged in, went to Status -> Status Overview and clicked Start the Server.


Expected Behavior

Clicked Start the Server
Server should be configured with default values
Server should come online.

Current Behavior

Clicked Start the Server
The following error occurred

service failed to start due to unresolved dependencies: set(['user'])
service failed to start due to unresolved dependencies: set(['iptables_openvpn'])
Service deferred error: IPTablesServiceBase: failed to run iptables-restore [status=2]: ["Bad argument `[unsupported'", 'Error occurred at line: 109', "Try `iptables-restore -h' or 'iptables-restore --help' for more information."]: internet/defer:653,sagent/ipts:134,sagent/ipts:51,util/daemon:28,util/daemon:69,application/app:384,scripts/_twistd_unix:258,application/app:396,application/app:311,internet/base:1243,internet/base:1255,internet/epollreactor:235,python/log:103,python/log:86,python/context:122,python/context:85,internet/posixbase:627,internet/posixbase:252,internet/abstract:313,internet/process:312,internet/process:973,internet/process:985,internet/process:350,internet/_baseprocess:52,internet/process:987,internet/_baseprocess:64,svc/pp:141,svc/svcnotify:32,internet/defer:459,internet/defer:567,internet/defer:653,sagent/ipts:134,sagent/ipts:51,util/error:67,util/error:48
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['user', 'iptables_live', 'iptables_openvpn'])
service failed to start due to unresolved dependencies: set(['iptables_live', 'iptables_openvpn'])

Steps to Reproduce

  1. After accessing the web UI for the first time, went to Status -> Status Overview
  2. Clicked Start the Server

Environment

OS: ArchLinux
CPU architecture: x86_64
How docker service was installed:
N/A

Command used to create docker container (run/create/compose/screenshot)

docker run -dit -p 943:943 -p 9443:9443 -p 1194:1194/udp --cap-add=NET_ADMIN --ip 192.168.248.3 --dns 192.168.123.1 --name openvpn --network containers_br --hostname openvpn.containers.claymore.no-ip.org  --restart unless-stopped linuxserver/openvpn-a

Docker logs

claymore@guardian ~> docker attach openvpn
Setting up openvpn-as (2.7.5-932a08a3-Ubuntu18) ...

The Access Server has been successfully installed in /usr/local/openvpn_as
Configuration log file has been written to /usr/local/openvpn_as/init.log

Please enter "passwd openvpn" to set the initial
administrative password, then login as "openvpn" to continue
configuration here: https://192.168.248.3:943/admin

To reconfigure manually, use the /usr/local/openvpn_as/bin/ovpn-init tool.

+++++++++++++++++++++++++++++++++++++++++++++++
Access Server Web UIs are available here:
Admin  UI: https://192.168.248.3:943/admin
Client UI: https://192.168.248.3:943/
+++++++++++++++++++++++++++++++++++++++++++++++

Beginning with OpenVPN AS 2.6.0 compression is disabled by default and on upgrades as security patch.
Stopping openvpn-as now; will start again later after configuring
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-openvpn-init: executing... 
Detected an existing OpenVPN-AS configuration.
Continuing will delete this configuration and restart from scratch.
Please enter 'DELETE' to delete existing configuration: Stopping openvpnas daemon...

          OpenVPN Access Server
          Initial Configuration Tool
------------------------------------------------------
OpenVPN Access Server End User License Agreement (OpenVPN-AS EULA)

    1. Copyright Notice: OpenVPN Access Server License;
       Copyright (c) 2009-2019 OpenVPN Inc. All rights reserved.
       "OpenVPN" is a trademark of OpenVPN Inc.
    2. Redistribution of OpenVPN Access Server binary forms and related documents,
       are permitted provided that redistributions of OpenVPN Access Server binary
       forms and related documents reproduce the above copyright notice as well as
       a complete copy of this EULA.
    3. You agree not to reverse engineer, decompile, disassemble, modify,
       translate, make any attempt to discover the source code of this software,
       or create derivative works from this software.
    4. The OpenVPN Access Server is bundled with other open source software
       components, some of which fall under different licenses. By using OpenVPN
       or any of the bundled components, you agree to be bound by the conditions
       of the license for each respective component. For more information, you can
       find our complete EULA (End-User License Agreement) on our website
       (http://openvpn.net), and a copy of the EULA is also distributed with the
       Access Server in the file /usr/local/openvpn_as/license.txt.
    5. This software is provided "as is" and any expressed or implied warranties,
       including, but not limited to, the implied warranties of merchantability
       and fitness for a particular purpose are disclaimed. In no event shall
       OpenVPN Inc. be liable for any direct, indirect, incidental,
       special, exemplary, or consequential damages (including, but not limited
       to, procurement of substitute goods or services; loss of use, data, or
       profits; or business interruption) however caused and on any theory of
       liability, whether in contract, strict liability, or tort (including
       negligence or otherwise) arising in any way out of the use of this
       software, even if advised of the possibility of such damage.
    6. OpenVPN Inc. is the sole distributor of OpenVPN Access Server
       licenses. This agreement and licenses granted by it may not be assigned,
       sublicensed, or otherwise transferred by licensee without prior written
       consent of OpenVPN Inc. Any licenses violating this provision
       will be subject to revocation and deactivation, and will not be eligible
       for refunds.
    7. A purchased license entitles you to use this software for the duration of
       time denoted on your license key on any one (1) particular device, up to
       the concurrent user limit specified by your license. Multiple license keys
       may be activated to achieve a desired concurrency limit on this given
       device. Unless otherwise prearranged with OpenVPN Inc.,
       concurrency counts on license keys are not to be divided for use amongst
       multiple devices. Upon activation of the first purchased license key in
       this software, you agree to forego any free licenses or keys that were
       given to you for demonstration purposes, and as such, the free licenses
       will not appear after the activation of a purchased key. You are
       responsible for the timely activation of these licenses on your desired
       server of choice. Refunds on purchased license keys are only possible
       within 30 days of purchase of license key, and then only if the license key
       has not already been activated on a system. To request a refund, contact us
       through our support ticket system using the account you have used to
       purchase the license key. Exceptions to this policy may be given for
       machines under failover mode, and when the feature is used as directed in
       the OpenVPN Access Server user manual. In these circumstances, a user is
       granted one (1) license key (per original license key) for use solely on
       failover purposes free of charge. Other failover and/or load balancing use
       cases will not be eligible for this exception, and a separate license key
       would have to be acquired to satisfy the licensing requirements. To request
       a license exception, please file a support ticket in the OpenVPN Access
       Server ticketing system. A staff member will be responsible for determining
       exception eligibility, and we reserve the right to decline any requests not
       meeting our eligibility criteria, or requests which we believe may be
       fraudulent in nature.
    8. Activating a license key ties it to the specific hardware/software
       combination that it was activated on, and activated license keys are
       nontransferable. Substantial software and/or hardware changes may 
       invalidate an activated license. In case of substantial software and/or
       hardware changes, caused by for example, but not limited to failure and
       subsequent repair or alterations of (virtualized) hardware/software, our
       software product will automatically attempt to contact our online licensing
       systems to renegotiate the licensing state. On any given license key, you
       are limited to three (3) automatic renegotiations within the license key
       lifetime. After these renegotiations are exhausted, the license key is
       considered invalid, and the activation state will be locked to the last
       valid system configuration it was activated on. OpenVPN Inc.reserves the
       right to grant exceptions to this policy for license holders under
       extenuating circumstances, and such exceptions can be requested through a
       ticket via the OpenVPN Access Server ticketing system.
    9. Once an activated license key expires or becomes invalid, the concurrency
       limit on our software product will decrease by the amount of concurrent
       connections previously granted by the license key. If all of your purchased
       license key(s) have expired, the product will revert to demonstration mode,
       which allows a maximum of two (2) concurrent users to be connected to your
       server. Prior to your license expiration date(s), OpenVPN Inc. will attempt
       to remind you to renew your license(s) by sending periodic email messages
       to the licensee email address on record. You are solely responsible for
       the timely renewal of your license key(s) prior to their expiration if
       continued operation is expected after the license expiration date(s).
       OpenVPN Inc. will not be responsible for any misdirected and/or undeliverable
       email messages, nor does it have an obligation to contact you regarding
       your expiring license keys.
   10. Any valid license key holder is entitled to use our ticketing system for
       support questions or issues specifically related to the OpenVPN Access
       Server product. To file a ticket, go to our website at http://openvpn.net/
       and sign in using the account that was registered and used to purchase the
       license key(s). You can then access the support ticket system through our
       website and submit a support ticket. Tickets filed in the ticketing system
       are answered on a best-effort basis. OpenVPN Inc. staff
       reserve the right to limit responses to users of our demo / expired
       licenses, as well as requests that substantively deviate from the OpenVPN
       Access Server product line. Tickets related to the open source version of
       OpenVPN will not be handled here.
   11. Purchasing a license key does not entitle you to any special rights or
       privileges, except the ones explicitly outlined in this user agreement.
       Unless otherwise arranged prior to your purchase with OpenVPN,
       Inc., software maintenance costs and terms are subject to change after your
       initial purchase without notice. In case of price decreases or special
       promotions, OpenVPN Inc. will not retrospectively apply
       credits or price adjustments toward any licenses that have already been
       issued. Furthermore, no discounts will be given for license maintenance
       renewals unless this is specified in your contract with OpenVPN Inc.

Please enter 'yes' to indicate your agreement [no]: 
Once you provide a few initial configuration settings,
OpenVPN Access Server can be configured by accessing
its Admin Web UI using your Web browser.

Will this be the primary Access Server node?
(enter 'no' to configure as a backup or standby node)
> Press ENTER for default [yes]: 
Please specify the network interface and IP address to be
used by the Admin Web UI:
(1) all interfaces: 0.0.0.0
(2) eth0: 192.168.248.3
Please enter the option number from the list above (1-2).
> Press Enter for default [1]: 
Please specify the port number for the Admin Web UI.
> Press ENTER for default [943]: 
Please specify the TCP port number for the OpenVPN Daemon
> Press ENTER for default [443]: 
Should client traffic be routed by default through the VPN?
> Press ENTER for default [yes]: 
Should client DNS traffic be routed by default through the VPN?
> Press ENTER for default [yes]: 
Use local authentication via internal DB?
> Press ENTER for default [yes]: 
Private subnets detected: ['192.168.248.0/24']

Should private subnets be accessible to clients by default?
> Press ENTER for default [yes]: 
To initially login to the Admin Web UI, you must use a
username and password that successfully authenticates you
with the host UNIX system (you can later modify the settings
so that RADIUS or LDAP is used for authentication instead).

You can login to the Admin Web UI as "openvpn" or specify
a different user account to use for this purpose.

Do you wish to login to the Admin UI as "openvpn"?
> Press ENTER for default [yes]: 
> Specify the username for an existing user or for the new user account: Note: This user already exists.

> Please specify your OpenVPN-AS license key (or leave blank to specify later): 


Initializing OpenVPN...
Removing Cluster Admin user login...
userdel "admin_c"
Adding new user login...
useradd -s /sbin/nologin "admin"
Writing as configuration file...
Perform sa init...
Wiping any previous userdb...
Creating default profile...
Modifying default profile...
Adding new user to userdb...
Modifying new user as superuser in userdb...
Getting hostname...
Hostname: openvpn.containers.claymore.no-ip.org
Preparing web certificates...
Getting web user account...
Adding web group account...
Adding web group...
Adjusting license directory ownership...
Initializing confdb...
Generating init scripts...
Generating PAM config...
Generating init scripts auto command...
Starting openvpnas...

NOTE: Your system clock must be correct for OpenVPN Access Server
to perform correctly.  Please ensure that your time and date
are correct on this system.

Initial Configuration Complete!

You can now continue configuring OpenVPN Access Server by
directing your Web browser to this URL:

https://192.168.248.3:943/admin
Login as "admin" with the same password used to authenticate
to this UNIX host.

During normal operation, OpenVPN AS can be accessed via these URLs:
Admin  UI: https://192.168.248.3:943/admin
Client UI: https://192.168.248.3:943/

See the Release Notes for this release at:
   https://openvpn.net/vpn-server-resources/release-notes/

Stopping openvpn-as now; will start again later after configuring
[cont-init.d] 40-openvpn-init: exited 0.
[cont-init.d] 50-interface: executing... 
MOD Default {'admin_ui.https.ip_address': None} {'admin_ui.https.ip_address': 'eth0'}
MOD Default {'cs.https.ip_address': None} {'cs.https.ip_address': 'eth0'}
MOD Default {'vpn.daemon.0.listen.ip_address': None} {'vpn.daemon.0.listen.ip_address': 'eth0'}
MOD Default {'vpn.daemon.0.server.ip_address': None} {'vpn.daemon.0.server.ip_address': 'eth0'}
[cont-init.d] 50-interface: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Unable to access WebUI

I just installed the openvpn-as docker image following the instructions, but I am unable to access the WebUI, i checked the config file and it specifies port 943, but the docker ps function does not show that there are any ports used for the container. Am I doing something wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.