Sign inSign up

dehim/openvpn

By dehim

•Updated about 1 year ago

OpenVPN-Server, OpenVPN-Client

Image
Networking
0

2.7K

dehim/openvpn repository overview

⁠OpenVPN Client

docker run -d \
    -v /var/shareVolumes/openvpn-client:/shareVolume \
    --name openvpn-client \
    --restart=always \
    --cap-add=NET_ADMIN \
    --device /dev/net/tun \
    --network host \
    dehim/openvpn:tagname

⁠OpenVPN Server

docker run -d \
    -p 1194:1194 \
    -p 8080:8080 \
    -v /var/shareVolumes/openvpn-server:/shareVolume \
    --name openvpn-server \
    --restart=always \
    --cap-add=NET_ADMIN \
    --device /dev/net/tun \
    --network myBridge \
    dehim/openvpn:tagname
⁠docker exec -it openvpn-server /bin/bash, mv /shareVolume_demo/* /shareVolume/, make /shareVolume/config/supervisorctl/openvpn_server.ini & /shareVolume/config/supervisorctl/openvpn_ui.ini valid.

⁠Server Command(Now OpenVPN-UI is availd)


# Creating a Client Certificate
easyrsa --batch build-client-full client1 nopass

# copy files for client:
/etc/openvpn/pki/ca.crt
/etc/openvpn/pki/issued/cllient1.crt
/etc/openvpn/pki/private/cllient1.key
/etc/openvpn/ta.key


⁠Server Config


management 0.0.0.0 2080  # Don't change this line. OpenVPN UI uses this feature to manage the server 

dev tun0
port 1194
proto tcp4-server

topology subnet
keepalive 10 120
max-clients 100

persist-key
persist-tun
#explicit-exit-notify 1

user nobody
group nogroup

client-config-dir /etc/openvpn/staticclients
ifconfig-pool-persist /etc/openvpn/pki/ipp.txt

ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/server.crt
key /etc/openvpn/pki/private/server.key
crl-verify /etc/openvpn/pki/crl.pem
dh /etc/openvpn/pki/dh.pem

tls-crypt /etc/openvpn/pki/ta.key
tls-version-min 1.2
remote-cert-tls client

cipher AES-256-GCM
# ncp-ciphers AES-256-GCM:AES-192-GCM:AES-128-GCM   # Deprecated since ver. 0.9.3. We have to use data-ciphers below instead
data-ciphers AES-256-GCM:AES-192-GCM:AES-128-GCM

auth SHA512

server 192.168.255.0 255.255.255.0           # Trusted VPN subnet
route 192.168.254.0 255.255.255.0            # Route to Guest VPN subnet
push "route 192.168.28.0 255.255.252.0"     # Route to Home VPN subnet
#push "dhcp-option DNS 8.8.8.8"             # DNS1 server for VPN clients
#push "dhcp-option DNS 1.0.0.1"             # DNS2 server for VPN clients
#push "redirect-gateway def1 bypass-dhcp"    # Redirect gateway for VPN clients

log /var/log/openvpn/openvpn.log
verb 3
status /var/log/openvpn/openvpn-status.log
status-version 2

 
 

# Custom Option One
# Custom Option Two
# client-to-client
# Custom Option Three
# push "route 0.0.0.0 255.255.255.255 net_gateway"
# push block-outside-dns

# Auto generated by OpenVPN-UI v.0.9.5.6


⁠make sure /shareVolume/config/supervisorctl/openvpn_server.ini valid.

⁠Client Config format 1 vim /etc/openvpn/client1.ovpn

client
dev tun
proto tcp-client
remote 10.0.30.1 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3

cipher AES-256-GCM
data-ciphers AES-256-GCM
tun-mtu 1500
comp-lzo no

ca /etc/openvpn/ca.crt
cert /etc/openvpn/client1.crt
key /etc/openvpn/client1.key
tls-auth /etc/openvpn/ta.key 1
auth-nocache
remote-cert-tls server

⁠Client Config format 2 vim /etc/openvpn/client2.ovpn


client
dev tun
proto tcp-client
remote 10.0.30.1 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
<ca>
# Insert from server "/etc/openvpn/pki/ca.crt"
</ca>
<tls-auth>
# Insert from server "/etc/openvpn/pki/ta.key"
</tls-auth> 
<cert>
# Insert from server "/etc/openvpn/pki/issued/cllient1.crt"
</cert>
<key>
# Insert from server "/etc/openvpn/pki/private/cllient1.key"
</key>
key-direction 1
comp-lzo no
auth-nocache
remote-cert-tls server


⁠make sure /shareVolume/config/supervisorctl/openvpn_client.ini valid.
⁠Finial, restart container, enjoy it!
  • 0.0.8
    • init

Tag summary

Content type

Image

Digest

sha256:9137e861e…

Size

55.5 MB

Last updated

about 1 year ago

docker pull dehim/openvpn