-
Notifications
You must be signed in to change notification settings - Fork 0
OpenVPN server (Docker)
Matvey Gladkikh edited this page Feb 3, 2022
·
2 revisions
# Please use pritunl: https://pritunl.com it is the best OpenVPN solution awailable!:
apt-get install openvpn
mkdir -p /dev/net
mknod /dev/net/tun c 10 200
cat >> /etc/rc.local <<EOF
/usr/sbin/openvpn --config /etc/openvpn/client/domain_migrate-user_dev-db.ovpn --daemon
EOF
echo 'export OVPN_DATA="/data/openvpn"' >> ~/.bashrc
export OVPN_DATA="/data/openvpn"
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://vpn-dev.domain.tech -2 -C AES-256-CBC
cat > /data/openvpn/ovpn_env.sh <<EOF
declare -x OVPN_AUTH=
declare -x OVPN_CIPHER=AES-256-CBC
declare -x OVPN_CLIENT_TO_CLIENT=
declare -x OVPN_CN=vpn-dev.domain.tech
declare -x OVPN_COMP_LZO=0
declare -x OVPN_DEFROUTE=1
declare -x OVPN_DEVICE=tun
declare -x OVPN_DEVICEN=0
declare -x OVPN_DISABLE_PUSH_BLOCK_DNS=0
declare -x OVPN_DNS=1
declare -x OVPN_DNS_SERVERS=([0]="8.8.8.8" [1]="8.8.4.4")
declare -x OVPN_ENV=/etc/openvpn/ovpn_env.sh
declare -x OVPN_EXTRA_CLIENT_CONFIG=()
declare -x OVPN_EXTRA_SERVER_CONFIG=()
declare -x OVPN_FRAGMENT=
declare -x OVPN_KEEPALIVE='10 60'
declare -x OVPN_MTU=
declare -x OVPN_NAT=0
declare -x OVPN_OTP_AUTH=1
declare -x OVPN_PORT=1194
declare -x OVPN_PROTO=udp
declare -x OVPN_PUSH=([0]="route 10.56.64.0 255.255.224.0")
declare -x OVPN_ROUTES=([0]="10.56.80.0/21")
declare -x OVPN_SERVER=10.56.80.0/21
declare -x OVPN_SERVER_URL=udp://vpn-dev.domain.tech
declare -x OVPN_TLS_CIPHER=
EOF
# в файле /data/openvpn/ovpn_env.sh
# declare -x OVPN_PUSH=([0]="route 10.56.64.0 255.255.224.0") (добавить маршрут для пользователей в нашу сеть)
# declare -x OVPN_ROUTES=([0]="10.56.80.0/21") (анонсировать что пользователи находятся за опевпн в этой подсети)
# declare -x OVPN_SERVER=10.56.80.0/21 (подсеть пользователей)
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig
docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn ovpn_initpki
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full matvey nopass
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_otp_user matvey
docker run --restart unless-stopped -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp -p 1194:1194/tcp --cap-add=NET_ADMIN kylemanna/openvpn
docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn