|
|
|
|
349
|
|
349
|
|
350
|
user_vpn_cert_file=/home/$username/$OPENVPN_KEY_FILENAME
|
350
|
user_vpn_cert_file=/home/$username/$OPENVPN_KEY_FILENAME
|
351
|
|
351
|
|
352
|
- if [ ! -f /usr/share/doc/openvpn/examples/sample-config-files/client.conf ]; then
|
|
|
353
|
- echo $'No VPN client template found'
|
|
|
354
|
- exit 429823
|
|
|
355
|
- fi
|
|
|
356
|
-
|
|
|
357
|
- cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf $user_vpn_cert_file
|
|
|
358
|
- sed -i "s|remote .*|remote $DEFAULT_DOMAIN_NAME $STUNNEL_PORT|g" $user_vpn_cert_file
|
|
|
359
|
- sed -i 's|;user .*|user nobody|g' $user_vpn_cert_file
|
|
|
360
|
- sed -i 's|;group .*|group nobody|g' $user_vpn_cert_file
|
|
|
361
|
-
|
|
|
362
|
- sed -i 's|ca ca.crt|;ca ca.crt|g' $user_vpn_cert_file
|
|
|
363
|
- sed -i 's|cert client.crt|;cert client.crt|g' $user_vpn_cert_file
|
|
|
364
|
- sed -i 's|key client.key|;key client.key|g' $user_vpn_cert_file
|
|
|
365
|
- sed -i 's|tls-auth ta.key|;tls-auth ta.key|g' $user_vpn_cert_file
|
|
|
366
|
-
|
|
|
367
|
- sed -i 's|;proto tcp|proto tcp|g' $user_vpn_cert_file
|
|
|
368
|
- sed -i 's|proto udp|;proto udp|g' $user_vpn_cert_file
|
|
|
|
|
352
|
+ echo 'client' > $user_vpn_cert_file
|
|
|
353
|
+ echo 'dev tun' >> $user_vpn_cert_file
|
|
|
354
|
+ echo 'proto tcp' >> $user_vpn_cert_file
|
|
|
355
|
+ echo "remote localhost $STUNNEL_PORT" >> $user_vpn_cert_file
|
|
|
356
|
+ echo "route $DEFAULT_DOMAIN_NAME 255.255.255.255 net_gateway" >> $user_vpn_cert_file
|
|
|
357
|
+ echo 'resolv-retry infinite' >> $user_vpn_cert_file
|
|
|
358
|
+ echo 'nobind' >> $user_vpn_cert_file
|
|
|
359
|
+ echo 'tun-mtu 1500' >> $user_vpn_cert_file
|
|
|
360
|
+ echo 'tun-mtu-extra 32' >> $user_vpn_cert_file
|
|
|
361
|
+ echo 'mssfix 1450' >> $user_vpn_cert_file
|
|
|
362
|
+ echo 'persist-key' >> $user_vpn_cert_file
|
|
|
363
|
+ echo 'persist-tun' >> $user_vpn_cert_file
|
|
|
364
|
+ echo 'auth-nocache' >> $user_vpn_cert_file
|
|
|
365
|
+ echo 'remote-cert-tls server' >> $user_vpn_cert_file
|
|
|
366
|
+ echo 'comp-lzo' >> $user_vpn_cert_file
|
|
|
367
|
+ echo 'verb 3' >> $user_vpn_cert_file
|
|
|
368
|
+ echo '' >> $user_vpn_cert_file
|
369
|
|
369
|
|
370
|
echo '<ca>' >> $user_vpn_cert_file
|
370
|
echo '<ca>' >> $user_vpn_cert_file
|
371
|
cat /etc/openvpn/ca.crt >> $user_vpn_cert_file
|
371
|
cat /etc/openvpn/ca.crt >> $user_vpn_cert_file
|
|
|
|
|
460
|
echo 'client = yes' >> stunnel-client.conf
|
460
|
echo 'client = yes' >> stunnel-client.conf
|
461
|
echo "accept = $STUNNEL_PORT" >> stunnel-client.conf
|
461
|
echo "accept = $STUNNEL_PORT" >> stunnel-client.conf
|
462
|
echo "connect = $DEFAULT_DOMAIN_NAME:$VPN_TLS_PORT" >> stunnel-client.conf
|
462
|
echo "connect = $DEFAULT_DOMAIN_NAME:$VPN_TLS_PORT" >> stunnel-client.conf
|
463
|
- echo 'cert = /etc/stunnel/stunnel.pem' >> stunnel-client.conf
|
|
|
|
|
463
|
+ echo 'cert = stunnel.pem' >> stunnel-client.conf
|
464
|
|
464
|
|
465
|
echo '[Unit]' > /etc/systemd/system/stunnel.service
|
465
|
echo '[Unit]' > /etc/systemd/system/stunnel.service
|
466
|
echo 'Description=SSL tunnel for network daemons' >> /etc/systemd/system/stunnel.service
|
466
|
echo 'Description=SSL tunnel for network daemons' >> /etc/systemd/system/stunnel.service
|
|
|
|
|
502
|
function install_vpn {
|
502
|
function install_vpn {
|
503
|
apt-get -yq install fastd openvpn easy-rsa
|
503
|
apt-get -yq install fastd openvpn easy-rsa
|
504
|
|
504
|
|
505
|
- if [ ! -f /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz ]; then
|
|
|
506
|
- echo $'Example openvpn server config not found'
|
|
|
507
|
- exit 783953
|
|
|
508
|
- fi
|
|
|
509
|
-
|
|
|
510
|
groupadd vpn
|
505
|
groupadd vpn
|
511
|
useradd -r -s /bin/false -g vpn vpn
|
506
|
useradd -r -s /bin/false -g vpn vpn
|
512
|
|
507
|
|
513
|
# server configuration
|
508
|
# server configuration
|
514
|
- gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
|
|
|
515
|
- sed -i "s|;push \"redirect-gateway|push \"redirect-gateway|g" /etc/openvpn/server.conf
|
|
|
516
|
- sed -i 's|;push "dhcp-option|push "dhcp-option|g' /etc/openvpn/server.conf
|
|
|
517
|
- sed -i 's|;user no.*|user vpn|g' /etc/openvpn/server.conf
|
|
|
518
|
- sed -i 's|;group no.*|group vpn|g' /etc/openvpn/server.conf
|
|
|
519
|
- sed -i 's|;max-clients.*|max-clients 2|g' /etc/openvpn/server.conf
|
|
|
520
|
-
|
|
|
521
|
- sed -i 's|;proto tcp|proto tcp|g' /etc/openvpn/server.conf
|
|
|
522
|
- sed -i 's|proto udp|;proto udp|g' /etc/openvpn/server.conf
|
|
|
523
|
-
|
|
|
524
|
- sed -i 's|explicit-exit-notify.*|explicit-exit-notify 0|g' /etc/openvpn/server.conf
|
|
|
525
|
- sed -i 's|tls-auth|;tls-auth|g' /etc/openvpn/server.conf
|
|
|
|
|
509
|
+ echo 'port 1194' > /etc/openvpn/server.conf
|
|
|
510
|
+ echo 'proto tcp' >> /etc/openvpn/server.conf
|
|
|
511
|
+ echo 'dev tun' >> /etc/openvpn/server.conf
|
|
|
512
|
+ echo 'tun-mtu 1500' >> /etc/openvpn/server.conf
|
|
|
513
|
+ echo 'tun-mtu-extra 32' >> /etc/openvpn/server.conf
|
|
|
514
|
+ echo 'mssfix 1450' >> /etc/openvpn/server.conf
|
|
|
515
|
+ echo 'ca /etc/openvpn/easy-rsa/keys/ca.crt' >> /etc/openvpn/server.conf
|
|
|
516
|
+ echo 'cert /etc/openvpn/easy-rsa/keys/server.crt' >> /etc/openvpn/server.conf
|
|
|
517
|
+ echo 'key /etc/openvpn/easy-rsa/keys/server.key' >> /etc/openvpn/server.conf
|
|
|
518
|
+ echo 'dh /etc/openvpn/easy-rsa/keys/dh2048.pem' >> /etc/openvpn/server.conf
|
|
|
519
|
+ echo 'server 10.8.0.0 255.255.255.0' >> /etc/openvpn/server.conf
|
|
|
520
|
+ echo 'push "redirect-gateway def1 bypass-dhcp"' >> /etc/openvpn/server.conf
|
|
|
521
|
+ echo "push \"dhcp-option DNS 85.214.73.63\"" >> /etc/openvpn/server.conf
|
|
|
522
|
+ echo "push \"dhcp-option DNS 213.73.91.35\"" >> /etc/openvpn/server.conf
|
|
|
523
|
+ echo 'keepalive 5 30' >> /etc/openvpn/server.conf
|
|
|
524
|
+ echo 'comp-lzo' >> /etc/openvpn/server.conf
|
|
|
525
|
+ echo 'persist-key' >> /etc/openvpn/server.conf
|
|
|
526
|
+ echo 'persist-tun' >> /etc/openvpn/server.conf
|
|
|
527
|
+ echo 'status /dev/null' >> /etc/openvpn/server.conf
|
|
|
528
|
+ echo 'verb 3' >> /etc/openvpn/server.conf
|
|
|
529
|
+ echo '' >> /etc/openvpn/server.conf
|
526
|
|
530
|
|
527
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
531
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
528
|
sed -i 's|# net.ipv4.ip_forward|net.ipv4.ip_forward|g' /etc/sysctl.conf
|
532
|
sed -i 's|# net.ipv4.ip_forward|net.ipv4.ip_forward|g' /etc/sysctl.conf
|
|
|
|
|
545
|
|
549
|
|
546
|
# generate host keys
|
550
|
# generate host keys
|
547
|
if [ ! -f /etc/openvpn/dh2048.pem ]; then
|
551
|
if [ ! -f /etc/openvpn/dh2048.pem ]; then
|
548
|
- openssl dhparam -out /etc/openvpn/dh2048.pem 2048
|
|
|
|
|
552
|
+ openssl dhparam -out /etc/openvpn/easy-rsa/keys/dh2048.pem 2048
|
549
|
fi
|
553
|
fi
|
550
|
cd /etc/openvpn/easy-rsa
|
554
|
cd /etc/openvpn/easy-rsa
|
551
|
. ./vars
|
555
|
. ./vars
|