Advertisement
alfaisalvpn

Untitled

May 16th, 2020
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 11.99 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. clear
  4. # extract ip address
  5. IPADDRESS=$(wget -qO- ipv4.icanhazip.com)
  6. IPADD="s/ipaddresxxx/$IPADDRESS/g";
  7.  
  8. # clean repo
  9. #apt-get clean
  10.  
  11. # Remove obsolette packages after installation
  12. #apt-get autoremove -y
  13.  
  14. # Removing some firewall tools that may affect other services
  15. #apt-get remove --purge ufw firewalld -y
  16.  
  17. # Installing some important machine essentials
  18. #apt-get install nano wget curl zip unzip tar gzip p7zip-full bc rc openssl cron net-tools dnsutils dos2unix screen bzip2 ccrypt -y
  19.  
  20. # update repo
  21. apt-get update
  22. apt-get upgrade -y
  23.  
  24. # install packages
  25. apt-get install openvpn wget curl zip unzip net-tools openssl -y
  26.  
  27. # openvpn ca cert
  28. cat > /etc/openvpn/ca.crt <<-END
  29. -----BEGIN CERTIFICATE-----
  30. MIIDqDCCAxGgAwIBAgIJAJbHO6cNgg5mMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD
  31. VQQGEwJQSDELMAkGA1UECBMCQkExFTATBgNVBAcTDEJha2xldGEgQ2l0eTENMAsG
  32. A1UEChMEQkFLUzENMAsGA1UECxMEYmFrczEQMA4GA1UEAxMHQkFLUyBDQTENMAsG
  33. A1UEKRMEYmFrczEjMCEGCSqGSIb3DQEJARYUYmFrc0BiYWtsZXRhLm1hcnMucGgw
  34. HhcNMjAwMzA3MDAxMzE4WhcNMzAwMzA1MDAxMzE4WjCBlTELMAkGA1UEBhMCUEgx
  35. CzAJBgNVBAgTAkJBMRUwEwYDVQQHEwxCYWtsZXRhIENpdHkxDTALBgNVBAoTBEJB
  36. S1MxDTALBgNVBAsTBGJha3MxEDAOBgNVBAMTB0JBS1MgQ0ExDTALBgNVBCkTBGJh
  37. a3MxIzAhBgkqhkiG9w0BCQEWFGJha3NAYmFrbGV0YS5tYXJzLnBoMIGfMA0GCSqG
  38. SIb3DQEBAQUAA4GNADCBiQKBgQDGdtQUYh7LFzeYKFWaF76T3AVDm9llD5rPlV5V
  39. zOanlrplHcSWqdUbGoiVqKVglvjP2Akdlgee8ltsMhq3xAGHfA41Uf8d2OlANKmk
  40. Y3X2N4iTiD4u87UMlIPxQOPCx1sEfFlDx1xABeiNbE6acymEq0B/3ShVgwHqEAHi
  41. s5kyMQIDAQABo4H9MIH6MB0GA1UdDgQWBBQkOOwCO0fCAcNNM9O5/nkXCgzYqDCB
  42. ygYDVR0jBIHCMIG/gBQkOOwCO0fCAcNNM9O5/nkXCgzYqKGBm6SBmDCBlTELMAkG
  43. A1UEBhMCUEgxCzAJBgNVBAgTAkJBMRUwEwYDVQQHEwxCYWtsZXRhIENpdHkxDTAL
  44. BgNVBAoTBEJBS1MxDTALBgNVBAsTBGJha3MxEDAOBgNVBAMTB0JBS1MgQ0ExDTAL
  45. BgNVBCkTBGJha3MxIzAhBgkqhkiG9w0BCQEWFGJha3NAYmFrbGV0YS5tYXJzLnBo
  46. ggkAlsc7pw2CDmYwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQADmisI
  47. ZE1sQzCu6uJxP+F9tX18KYOIjj7yL4qVs2PKRZn3CnhcWzmvGEHsJ3yiBG6G58e3
  48. ujKd9gSEe5IBEEfSePRobDcLYWN4O17VUGGhD9UpxjDPoJUXWxAwllAwlU0PJnyO
  49. Y3h8z8+EmWigsZAb9DHbB7trqh/7QmwolDvd9w==
  50. -----END CERTIFICATE-----
  51.  
  52. END
  53.  
  54. # ovpn server crt
  55. cat > /etc/openvpn/server.crt <<-END
  56. Certificate:
  57.     Data:
  58.         Version: 3 (0x2)
  59.         Serial Number: 1 (0x1)
  60.     Signature Algorithm: sha256WithRSAEncryption
  61.         Issuer: C=PH, ST=BA, L=Bakleta City, O=BAKS, OU=baks, CN=BAKS CA/name=baks/emailAddress=baks@bakleta.mars.ph
  62.         Validity
  63.             Not Before: Mar  7 00:13:18 2020 GMT
  64.             Not After : Mar  5 00:13:18 2030 GMT
  65.         Subject: C=PH, ST=BA, L=Bakleta City, O=BAKS, OU=baks, CN=server/name=baks/emailAddress=baks@bakleta.mars.ph
  66.         Subject Public Key Info:
  67.             Public Key Algorithm: rsaEncryption
  68.                 Public-Key: (1024 bit)
  69.                 Modulus:
  70.                     00:c1:09:e2:b0:51:1f:59:38:94:35:fa:fe:bf:df:
  71.                     5c:19:92:ec:fd:69:ee:70:08:4a:17:87:09:81:fa:
  72.                     4e:e7:6d:81:b8:c9:03:47:42:67:88:be:71:6b:7a:
  73.                     77:3f:56:46:19:24:eb:06:5d:ca:f7:23:ff:67:1c:
  74.                     5e:0a:8b:62:a6:f4:30:88:1b:ba:89:f5:cc:a7:62:
  75.                     cd:23:74:f7:1b:4a:ce:63:04:47:87:fa:01:04:86:
  76.                     bf:8e:c4:bf:6a:31:99:2d:d4:86:76:d5:2d:de:17:
  77.                     8b:ec:15:40:db:66:dd:21:4e:ac:b5:e7:96:a2:0a:
  78.                     37:f1:ed:53:9b:9a:d7:e9:27
  79.                 Exponent: 65537 (0x10001)
  80.         X509v3 extensions:
  81.             X509v3 Basic Constraints:
  82.                 CA:FALSE
  83.             Netscape Cert Type:
  84.                 SSL Server
  85.             Netscape Comment:
  86.                 Easy-RSA Generated Server Certificate
  87.             X509v3 Subject Key Identifier:
  88.                 0C:E4:80:0C:A8:F2:7B:94:56:58:9C:7C:2C:A9:CD:22:47:02:FD:DB
  89.             X509v3 Authority Key Identifier:
  90.                 keyid:24:38:EC:02:3B:47:C2:01:C3:4D:33:D3:B9:FE:79:17:0A:0C:D8:A8
  91.                 DirName:/C=PH/ST=BA/L=Bakleta City/O=BAKS/OU=baks/CN=BAKS CA/name=baks/emailAddress=baks@bakleta.mars.ph
  92.                 serial:96:C7:3B:A7:0D:82:0E:66
  93.  
  94.             X509v3 Extended Key Usage:
  95.                 TLS Web Server Authentication
  96.             X509v3 Key Usage:
  97.                 Digital Signature, Key Encipherment
  98.             X509v3 Subject Alternative Name:
  99.                 DNS:server
  100.     Signature Algorithm: sha256WithRSAEncryption
  101.          8b:c9:ac:c5:9e:4f:93:7c:07:16:95:b3:c7:ab:62:41:dc:d6:
  102.          dc:94:54:5e:fc:a8:84:6c:87:cf:c0:3f:e6:08:15:c7:67:b1:
  103.          b5:37:f6:73:1a:0c:a5:2e:d5:71:95:1f:89:18:ad:60:28:bc:
  104.          09:da:b6:95:c5:92:d5:f1:61:ff:1b:a2:27:1e:c2:2d:56:96:
  105.          6f:35:6b:0e:bc:2d:63:2b:c6:00:6e:0b:c5:35:33:ce:42:8e:
  106.          9e:46:18:b3:a9:06:94:8d:6f:89:62:90:30:3a:d1:e3:ec:34:
  107.          56:7d:32:80:46:c4:3e:4d:8b:01:dd:fb:1b:7c:65:af:fa:15:
  108.          57:eb
  109. -----BEGIN CERTIFICATE-----
  110. MIIEHDCCA4WgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBlTELMAkGA1UEBhMCUEgx
  111. CzAJBgNVBAgTAkJBMRUwEwYDVQQHEwxCYWtsZXRhIENpdHkxDTALBgNVBAoTBEJB
  112. S1MxDTALBgNVBAsTBGJha3MxEDAOBgNVBAMTB0JBS1MgQ0ExDTALBgNVBCkTBGJh
  113. a3MxIzAhBgkqhkiG9w0BCQEWFGJha3NAYmFrbGV0YS5tYXJzLnBoMB4XDTIwMDMw
  114. NzAwMTMxOFoXDTMwMDMwNTAwMTMxOFowgZQxCzAJBgNVBAYTAlBIMQswCQYDVQQI
  115. EwJCQTEVMBMGA1UEBxMMQmFrbGV0YSBDaXR5MQ0wCwYDVQQKEwRCQUtTMQ0wCwYD
  116. VQQLEwRiYWtzMQ8wDQYDVQQDEwZzZXJ2ZXIxDTALBgNVBCkTBGJha3MxIzAhBgkq
  117. hkiG9w0BCQEWFGJha3NAYmFrbGV0YS5tYXJzLnBoMIGfMA0GCSqGSIb3DQEBAQUA
  118. A4GNADCBiQKBgQDBCeKwUR9ZOJQ1+v6/31wZkuz9ae5wCEoXhwmB+k7nbYG4yQNH
  119. QmeIvnFrenc/VkYZJOsGXcr3I/9nHF4Ki2Km9DCIG7qJ9cynYs0jdPcbSs5jBEeH
  120. +gEEhr+OxL9qMZkt1IZ21S3eF4vsFUDbZt0hTqy155aiCjfx7VObmtfpJwIDAQAB
  121. o4IBeTCCAXUwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwNAYJYIZIAYb4
  122. QgENBCcWJUVhc3ktUlNBIEdlbmVyYXRlZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYD
  123. VR0OBBYEFAzkgAyo8nuUVlicfCypzSJHAv3bMIHKBgNVHSMEgcIwgb+AFCQ47AI7
  124. R8IBw00z07n+eRcKDNiooYGbpIGYMIGVMQswCQYDVQQGEwJQSDELMAkGA1UECBMC
  125. QkExFTATBgNVBAcTDEJha2xldGEgQ2l0eTENMAsGA1UEChMEQkFLUzENMAsGA1UE
  126. CxMEYmFrczEQMA4GA1UEAxMHQkFLUyBDQTENMAsGA1UEKRMEYmFrczEjMCEGCSqG
  127. SIb3DQEJARYUYmFrc0BiYWtsZXRhLm1hcnMucGiCCQCWxzunDYIOZjATBgNVHSUE
  128. DDAKBggrBgEFBQcDATALBgNVHQ8EBAMCBaAwEQYDVR0RBAowCIIGc2VydmVyMA0G
  129. CSqGSIb3DQEBCwUAA4GBAIvJrMWeT5N8BxaVs8erYkHc1tyUVF78qIRsh8/AP+YI
  130. FcdnsbU39nMaDKUu1XGVH4kYrWAovAnatpXFktXxYf8boicewi1Wlm81aw68LWMr
  131. xgBuC8U1M85Cjp5GGLOpBpSNb4likDA60ePsNFZ9MoBGxD5NiwHd+xt8Za/6FVfr
  132. -----END CERTIFICATE-----
  133.  
  134. END
  135.  
  136. # openvpn server key
  137. cat > /etc/openvpn/server.key <<-END
  138. -----BEGIN PRIVATE KEY-----
  139. MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMEJ4rBRH1k4lDX6
  140. /r/fXBmS7P1p7nAISheHCYH6TudtgbjJA0dCZ4i+cWt6dz9WRhkk6wZdyvcj/2cc
  141. XgqLYqb0MIgbuon1zKdizSN09xtKzmMER4f6AQSGv47Ev2oxmS3UhnbVLd4Xi+wV
  142. QNtm3SFOrLXnlqIKN/HtU5ua1+knAgMBAAECgYBGCnMw7E5GjivgpjB2p/F/6fqJ
  143. PD1icu+HN9zwR0UH3Yja5jyFR4fPauI2UBoiZghLKUUJa1CweWQ7ImTQyKBDN6VJ
  144. ICdxvBEhaolVf1stNKvNwkglwdiFCR50chArgaps22pbxt2wGS/UvB8wmylSi7Nz
  145. BuPuU/Kr9F7o0mNw8QJBAPHH/GSNauxyiq0zXIiFbNB9kQg+b/o7xr59y2VkQUDL
  146. iAnV0i1RcOH1tqRmWPx4N5x20u/y6z+a/WEkf45bqf8CQQDMZBSWUttIJn7lprIV
  147. mC9NkquHNL+nroQY+/6ktqnBVm6pa96COsSINwz5AmvTPjwIYUlV8AfLbmpuwzZu
  148. uzDZAkAlzMRS3CEpUkcICQ2gcmuutNLl3Q0YrBvIUFZqRaBGBwv/raQsXZ0uVoH1
  149. deLXpdvb5F/aD7pjuVF/zHr8wKv1AkEAjFRaXitdKthjX8Fnm7P1JkmBQz9QJwyG
  150. 3bCGUQio3Hk/WUsaZkd7EBrb6UtkRJECHq7M7xfyAhY5NPsKsFQNYQJBAO4fV+kl
  151. mStTiKiCi99Xg7CeNPkVZuoDXMBJX3qOO/n3TTldoeIsz73exboRgW7dvAQDziIC
  152. UjqyyCxhrJETjs4=
  153. -----END PRIVATE KEY-----
  154.  
  155. END
  156.  
  157. # openvpn dh parameters
  158. cat > /etc/openvpn/dh1024.pem <<-END
  159. -----BEGIN DH PARAMETERS-----
  160. MIGHAoGBAPvZs3Gm65VNPMQ7u3CMqXl4fxxGcCjhwC2MnF2XeUh3tPsSISmD/xoh
  161. Hfq4pmhvcjwIqH9mQPJ8KrwDxVw9c2TTNJrTzfLuPawnJgMMyMqRNaYICYtYbOtV
  162. 4l65bON8HZTZx4eKCJxh5fGiiTr3rnf+9UoR/p7+ipCuzfwFxWiLAgEC
  163. -----END DH PARAMETERS-----
  164.  
  165. END
  166.  
  167. # openvpn server config
  168. cat > /etc/openvpn/server.conf <<-END
  169. port 1194
  170. proto tcp
  171. dev tun
  172. ca ca.crt
  173. cert server.crt
  174. key server.key
  175. dh dh1024.pem
  176. plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
  177. verify-client-cert none
  178. username-as-common-name
  179. server 10.8.0.0 255.255.0.0
  180. persist-key
  181. persist-tun
  182. status openvpn-status.log
  183. verb 0
  184. cipher none
  185. auth none
  186. ncp-disable
  187. reneg-sec 0
  188. push "dhcp-option DNS 8.8.8.8"
  189. push "dhcp-option DNS 8.8.4.4"
  190. END
  191.  
  192. # openvpn user logs
  193. cat > /etc/openvpn/openvpn-status.log <<-END
  194.  
  195. END
  196. cd /root
  197. chmod -R 755 /etc/openvpn
  198.  
  199. # ovpn config
  200. cat > /root/baks.ovpn <<-END
  201. client
  202. dev tun
  203. proto tcp-client
  204. remote $IPADDRESS 1194
  205. persist-key
  206. persist-tun
  207. remote-cert-tls server
  208. verb 3
  209. auth-user-pass
  210. redirect-gateway def1
  211. cipher none
  212. auth none
  213. auth-nocache
  214. auth-retry interact
  215. connect-retry 0 1
  216. nice -20
  217. reneg-sec 0
  218. http-proxy $IPADDRESS 8080
  219. http-proxy-option CUSTOM-HEADER CONNECT HTTP/1.0
  220. http-proxy-option CUSTOM-HEADER Host www.googleapis.com
  221. http-proxy-option CUSTOM-HEADER X-Online-Host www.googleapis.com
  222. http-proxy-option CUSTOM-HEADER X-Forward-Host www.googleapis.com
  223. http-proxy-option CUSTOM-HEADER Connection keep-alive
  224. http-proxy-option CUSTOM-HEADER Proxy-Connection keep-alive
  225.  
  226. END
  227. echo '<ca>' >> /root/baks.ovpn
  228. cat /etc/openvpn/ca.crt >> /root/baks.ovpn
  229. echo>> /root/baks.ovpn
  230. echo '</ca>' >> /root/baks.ovpn
  231.  
  232. # setting iptables
  233. cat > /etc/iptables.up.rules <<-END
  234. *nat
  235. :PREROUTING ACCEPT [0:0]
  236. :OUTPUT ACCEPT [0:0]
  237. :POSTROUTING ACCEPT [0:0]
  238. -A POSTROUTING -j SNAT --to-source $IPADDRESS
  239. -A POSTROUTING -o eth0 -j MASQUERADE
  240. -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE
  241. COMMIT
  242.  
  243. *filter
  244. :INPUT ACCEPT [19406:27313311]
  245. :FORWARD ACCEPT [0:0]
  246. :OUTPUT ACCEPT [9393:434129]
  247. -A INPUT -p ICMP --icmp-type 8 -j ACCEPT
  248. -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
  249. -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
  250. -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
  251. -A INPUT -p udp --dport 80 -m state --state NEW -j ACCEPT
  252. -A INPUT -p tcp --dport 1194 -m state --state NEW -j ACCEPT
  253. -A INPUT -p udp --dport 1194 -m state --state NEW -j ACCEPT
  254. -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
  255. -A INPUT -p udp --dport 443 -m state --state NEW -j ACCEPT
  256. -A INPUT -p tcp --dport 442 -m state --state NEW -j ACCEPT
  257. -A INPUT -p udp --dport 442 -m state --state NEW -j ACCEPT
  258. -A INPUT -p tcp --dport 3128 -m state --state NEW -j ACCEPT
  259. -A INPUT -p udp --dport 3128 -m state --state NEW -j ACCEPT
  260. -A INPUT -p tcp --dport 8000 -m state --state NEW -j ACCEPT
  261. -A INPUT -p udp --dport 8000 -m state --state NEW -j ACCEPT
  262. -A INPUT -p tcp --dport 8888 -m state --state NEW -j ACCEPT
  263. -A INPUT -p udp --dport 8888 -m state --state NEW -j ACCEPT
  264. -A INPUT -p tcp --dport 8080 -m state --state NEW -j ACCEPT
  265. -A INPUT -p udp --dport 8080 -m state --state NEW -j ACCEPT
  266. -A INPUT -p tcp --dport 8118 -m state --state NEW -j ACCEPT
  267. -A INPUT -p udp --dport 8118 -m state --state NEW -j ACCEPT
  268. COMMIT
  269.  
  270. *raw
  271. :PREROUTING ACCEPT [158575:227800758]
  272. :OUTPUT ACCEPT [46145:2312668]
  273. COMMIT
  274.  
  275. *mangle
  276. :PREROUTING ACCEPT [158575:227800758]
  277. :INPUT ACCEPT [158575:227800758]
  278. :FORWARD ACCEPT [0:0]
  279. :OUTPUT ACCEPT [46145:2312668]
  280. :POSTROUTING ACCEPT [46145:2312668]
  281. COMMIT
  282. END
  283. sed -i '$ i\iptables-restore < /etc/iptables.up.rules' /etc/rc.local
  284. iptables-restore < /etc/iptables.up.rules
  285.  
  286. # change dns
  287. echo "nameserver 8.8.8.8" > /etc/resolv.conf
  288. echo "nameserver 8.8.4.4" >> /etc/resolv.conf
  289. sed -i '$ i\echo "nameserver 8.8.8.8" > /etc/resolv.conf' /etc/rc.local
  290. sed -i '$ i\echo "nameserver 8.8.4.4" >> /etc/resolv.conf' /etc/rc.local
  291. sed -i '$ i\sleep 10' /etc/rc.local
  292. sed -i '$ i\for p in $(pgrep openvpn); do renice -n -20 -p $p; done' /etc/rc.local
  293.  
  294. # set time GMT +8
  295. ln -fs /usr/share/zoneinfo/Asia/Manila /etc/localtime
  296.  
  297. # setting rules
  298. cat > /etc/ufw/before.rules <<-END
  299. # START OPENVPN RULES
  300. # NAT table rules
  301. *nat
  302. :POSTROUTING ACCEPT [0:0]
  303. # Allow traffic from OpenVPN client to eth0
  304. -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE
  305. COMMIT
  306. # END OPENVPN RULES
  307. END
  308.  
  309. # set ipv4 forward
  310. echo 1 > /proc/sys/net/ipv4/ip_forward
  311. sed -i 's|#net.ipv4.ip_forward=1|net.ipv4.ip_forward=1|' /etc/sysctl.conf
  312.  
  313.  
  314. # setting port ssh
  315. service openvpn restart
  316. service openvpn@server start
  317.  
  318. # finilazing
  319. rm -f baks.sh
  320. rm -rf ~/.bash_history && history -c & history -w
  321.     clear
  322.     echo ""
  323.     echo ""
  324.     echo "Installation Complete!"
  325.     echo ""
  326.     echo "Server IP : $IPADDRESS"
  327.     echo "OpenVPN Port : 1194"
  328.     echo ""
  329.     echo ""
  330.     echo ""
  331.     exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement