瀏覽代碼

Fix vpn configs

Bob Mottram 7 年之前
父節點
當前提交
5fac7b57ad
共有 1 個檔案被更改,包括 40 行新增36 行删除
  1. 40
    36
      src/freedombone-app-vpn

+ 40
- 36
src/freedombone-app-vpn 查看文件

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