Advertisement
Guest User

Untitled

a guest
Nov 11th, 2017
470
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/sh
  2. export DEBUG= # uncomment/comment to enable/disable debugging mode
  3. # http://www.dd-wrt.com/phpBB2/viewtopic.php?t=280165
  4.  
  5. SERVER="man-c01.ipvanish.com"
  6. PROTOCOL="udp" # You can use tcp or udp, but make sure the letters are lowercase.
  7. PORT="443" # You can select port 443 for either tcp or udp. Port 1194 also works for udp.
  8. USER="72ibanez@gmail.com" # Replace MYUSERNAME with your IPVanish Username.
  9. PASS="Justice1995" # Replace MYPASSWORD with your IPVanish Password.
  10.  
  11. # This script will cause the entire router startup sequence to be about 2 minutes.
  12.  
  13. ntpclient pool.ntp.org
  14. stopservice process_monitor
  15. startservice process_monitor
  16. sleep 30
  17.  
  18. mkdir /tmp/openvpncl
  19.  
  20. echo client > /tmp/openvpncl/openvpn.conf &&
  21. echo dev tun >> /tmp/openvpncl/openvpn.conf &&
  22. echo proto "$PROTOCOL" >> /tmp/openvpncl/openvpn.conf &&
  23. echo remote "$SERVER" "$PORT" >> /tmp/openvpncl/openvpn.conf &&
  24. echo resolv-retry infinite >> /tmp/openvpncl/openvpn.conf  &&
  25. echo nobind >> /tmp/openvpncl/openvpn.conf &&
  26. echo persist-key >> /tmp/openvpncl/openvpn.conf &&
  27. echo persist-tun >> /tmp/openvpncl/openvpn.conf &&
  28. echo persist-remote-ip >> /tmp/openvpncl/openvpn.conf &&
  29. echo tun-mtu 1500 >> /tmp/openvpncl/openvpn.conf &&
  30. echo ca /tmp/openvpncl/ca.crt >> /tmp/openvpncl/openvpn.conf &&
  31. echo tls-remote "$SERVER" >> /tmp/openvpncl/openvpn.conf &&
  32. echo auth-user-pass /tmp/auth.conf >> /tmp/openvpncl/openvpn.conf &&
  33. echo comp-lzo >> /tmp/openvpncl/openvpn.conf &&
  34. echo verb 4 >> /tmp/openvpncl/openvpn.conf &&
  35. echo auth SHA256 >> /tmp/openvpncl/openvpn.conf &&
  36. echo cipher AES-256-CBC >> /tmp/openvpncl/openvpn.conf &&
  37. echo keysize 256 >> /tmp/openvpncl/openvpn.conf &&
  38. echo tls-cipher DHE-RSA-AES256-SHA >> /tmp/openvpncl/openvpn.conf &&
  39. echo script-security 3 system >> /tmp/openvpncl/openvpn.conf
  40. echo log /tmp/openvpncl/openvpn.log >> /tmp/openvpncl/openvpn.conf
  41. echo daemon >> /tmp/openvpncl/openvpn.conf
  42. echo status-version 3 >> /tmp/openvpncl/openvpn.conf
  43. echo status /tmp/openvpncl/status.log 5 >> /tmp/openvpncl/openvpn.conf
  44. echo -e "$USER\n$PASS" > /tmp/auth.conf
  45.  
  46. chmod 600 /tmp/auth.conf
  47.  
  48. echo -----BEGIN CERTIFICATE----- > /tmp/openvpncl/ca.crt
  49. echo MIIErTCCA5WgAwIBAgIJAMYKzSS8uPKDMA0GCSqGSIb3DQEBBQUAMIGVMQswCQYD >> /tmp/openvpncl/ca.crt
  50. echo VQQGEwJVUzELMAkGA1UECBMCRkwxFDASBgNVBAcTC1dpbnRlciBQYXJrMREwDwYD >> /tmp/openvpncl/ca.crt
  51. echo VQQKEwhJUFZhbmlzaDEVMBMGA1UECxMMSVBWYW5pc2ggVlBOMRQwEgYDVQQDEwtJ >> /tmp/openvpncl/ca.crt
  52. echo UFZhbmlzaCBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBpcHZhbmlzaC5jb20w >> /tmp/openvpncl/ca.crt
  53. echo HhcNMTIwMTExMTkzMjIwWhcNMTcwMTEwMTkzMjIwWjCBlTELMAkGA1UEBhMCVVMx >> /tmp/openvpncl/ca.crt
  54. echo CzAJBgNVBAgTAkZMMRQwEgYDVQQHEwtXaW50ZXIgUGFyazERMA8GA1UEChMISVBW >> /tmp/openvpncl/ca.crt
  55. echo YW5pc2gxFTATBgNVBAsTDElQVmFuaXNoIFZQTjEUMBIGA1UEAxMLSVBWYW5pc2gg >> /tmp/openvpncl/ca.crt
  56. echo Q0ExIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAaXB2YW5pc2guY29tMIIBIjANBgkq >> /tmp/openvpncl/ca.crt
  57. echo hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt9DBWNr/IKOuY3TmDP5x7vYZR0DGxLbX >> /tmp/openvpncl/ca.crt
  58. echo U8TyAzBbjUtFFMbhxlHiXVQrZHmgzih94x7BgXM7tWpmMKYVb+gNaqMdWE680Qm3 >> /tmp/openvpncl/ca.crt
  59. echo nOwmhy/dulXDkEHAwD05i/iTx4ZaUdtV2vsKBxRg1vdC4AEiwD7bqV4HOi13xcG9 >> /tmp/openvpncl/ca.crt
  60. echo 71aQ55Mj1KeCdA0aNvpat1LWx2jjWxsfI8s2Lv5Fkoi1HO1+vTnnaEsJZrBgAkLX >> /tmp/openvpncl/ca.crt
  61. echo pItqP29Lik3/OBIvkBIxlKrhiVPixE5qNiD+eSPirsmROvsyIonoJtuY4Dw5K6pc >> /tmp/openvpncl/ca.crt
  62. echo NlKyYiwo1IOFYU3YxffwFJk+bSW4WVBhsdf5dGxq/uOHmuz5gdwxCwIDAQABo4H9 >> /tmp/openvpncl/ca.crt
  63. echo MIH6MB0GA1UdDgQWBBRL/RQliR3nwXCD1/afERwlThnurjCBygYDVR0jBIHCMIG/ >> /tmp/openvpncl/ca.crt
  64. echo gBRL/RQliR3nwXCD1/afERwlThnurqGBm6SBmDCBlTELMAkGA1UEBhMCVVMxCzAJ >> /tmp/openvpncl/ca.crt
  65. echo BgNVBAgTAkZMMRQwEgYDVQQHEwtXaW50ZXIgUGFyazERMA8GA1UEChMISVBWYW5p >> /tmp/openvpncl/ca.crt
  66. echo c2gxFTATBgNVBAsTDElQVmFuaXNoIFZQTjEUMBIGA1UEAxMLSVBWYW5pc2ggQ0Ex >> /tmp/openvpncl/ca.crt
  67. echo IzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAaXB2YW5pc2guY29tggkAxgrNJLy48oMw >> /tmp/openvpncl/ca.crt
  68. echo DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAho5ynpvtXISz3neqGXpL >> /tmp/openvpncl/ca.crt
  69. echo BBlOM35pd1ZSNHLCb2yHQwAjZbfYqfX2MDs9ytH4Cf1OfaVqwe777QyyIC2XR2QK >> /tmp/openvpncl/ca.crt
  70. echo kw4c2hCT8wPzWhmkLx8Q+jnKdOKkdz+L8+Ji9/vjtaFOcYjMDalI6CbjBiuMFWhB >> /tmp/openvpncl/ca.crt
  71. echo IzOaYljmA2UeQCVIz9aW80BC8+sLQ6oeWVnFjx7zqK1gbbc2bNuy3slOMdyoEj2m >> /tmp/openvpncl/ca.crt
  72. echo hkxfiffuHKV+GQoR7tFIr3M7KFFwYgkXeyLh1Pc0rZu7dGe4fUAbR1okB1DgelBd >> /tmp/openvpncl/ca.crt
  73. echo n6rWTZ8XcNzT/YngtH4bXB9DM7pKWpDWc94va4hFrGgaOxjE861TdoDqHaMO9bW+ >> /tmp/openvpncl/ca.crt
  74. echo Pg== >> /tmp/openvpncl/ca.crt
  75. echo -----END CERTIFICATE----- >> /tmp/openvpncl/ca.crt
  76.  
  77. chmod 644 /tmp/openvpncl/ca.crt
  78.  
  79. touch /tmp/openvpncl/openvpn.log
  80. chmod 664 /tmp/openvpncl/openvpn.log
  81.  
  82. #echo "#!/bin/sh" > /tmp/openvpncl/route-up.sh
  83. #echo "iptables -I POSTROUTING -t nat -o tun0 -j MASQUERADE" >> /tmp/openvpncl/route-up.sh
  84. #echo "iptables -I INPUT -t filter -i tun0 -j ACCEPT" >> /tmp/openvpncl/route-up.sh
  85. #echo -e "#!/bin/sh\nsleep 2" > /tmp/openvpncl/route-down.sh
  86. #echo "iptables -D POSTROUTING -t nat -o tun0 -j MASQUERADE" >> /tmp/openvpncl/route-down.sh
  87. #echo "iptables -D INPUT -t filter -i tun0 -j ACCEPT" >> /tmp/openvpncl/route-down.sh
  88.  
  89. #chmod 700 /tmp/openvpncl/route-up.sh
  90. #chmod 700 /tmp/openvpncl/route-down.sh
  91.  
  92. SCRIPT="/tmp/openvpncl/route-up.sh"
  93. cat << "EOF" > $SCRIPT
  94. #!/bin/sh
  95. sleep 2
  96. iptables -I POSTROUTING -t nat -o tun0 -j MASQUERADE
  97. iptables -I INPUT -t filter -i tun0 -j ACCEPT
  98. (
  99. [ -n "${DEBUG+x}" ] && set -x
  100. TID="200"
  101. VPN_IF="$dev"                       # provided by OpenVPN at runtime
  102. VPN_GW="$route_vpn_gateway"         # provided by OpenVPN at runtime
  103. WAN_GW="$route_net_gateway"         # provided by OpenVPN at runtime
  104.  
  105. # copy main routing table to bypass routing table (exclude all
  106. # default gateways)
  107. ip route show | grep -Ev '^default|^0.0.0.0/1|^128.0.0.0/1' \
  108.   | while read route; do
  109.         ip route add $route table $TID
  110.     done
  111. # add VPN as default gateway
  112. ip route add default via $VPN_GW table $TID
  113.  
  114. # return WAN back to default gateway in main routing table
  115. ip route add   0.0.0.0/2 via $WAN_GW
  116. ip route add  64.0.0.0/2 via $WAN_GW
  117. ip route add 128.0.0.0/2 via $WAN_GW
  118. ip route add 192.0.0.0/2 via $WAN_GW
  119.  
  120. # force routing system to recognize our changes
  121. ip route flush cache
  122.  
  123. # add source IP(s)/network(s) to be routed over VPN
  124. ip rule add from 10.0.0.50 table $TID
  125.  
  126. ) 2>&1 | logger -t $(basename $0)[$$]
  127. EOF
  128. chmod +x $SCRIPT
  129.  
  130. SCRIPT="/tmp/openvpncl/route-down.sh"
  131. cat << "EOF" > $SCRIPT
  132. #!/bin/sh
  133. iptables -D POSTROUTING -t nat -o tun0 -j MASQUERADE
  134. iptables -D INPUT -t filter -i tun0 -j ACCEPT
  135. (
  136. [ -n "${DEBUG+x}" ] && set -x
  137. TID="200"
  138. VPN_IF="$dev"                       # provided by OpenVPN at runtime
  139. VPN_GW="$route_vpn_gateway"         # provided by OpenVPN at runtime
  140. WAN_GW="$route_net_gateway"         # provided by OpenVPN at runtime
  141.  
  142. # reset main routing table
  143. ip route del   0.0.0.0/2 via $WAN_GW
  144. ip route del  64.0.0.0/2 via $WAN_GW
  145. ip route del 128.0.0.0/2 via $WAN_GW
  146. ip route del 192.0.0.0/2 via $WAN_GW
  147.  
  148. # delete alternate routing table
  149. ip route flush table $TID
  150.  
  151. # force routing system to recognize our changes
  152. ip route flush cache
  153.  
  154. # delete source IP(s)/network(s) to be routed over VPN
  155. ip rule del from 10.0.0.50 table $TID
  156.  
  157. ) 2>&1 | logger -t $(basename $0)[$$]
  158. EOF
  159. chmod +x $SCRIPT
  160.  
  161. (openvpn --config /tmp/openvpncl/openvpn.conf --ca /tmp/openvpncl/ca.crt --route-up /tmp/openvpncl/route-up.sh --down-pre /tmp/openvpncl/route-down.sh &)
  162.  
  163. sleep 480
  164. echo "*** SYSTEM REPORT ***" > /tmp/openvpncl/report.txt
  165. echo >> /tmp/openvpncl/report.txt
  166. echo "------------> * OpenVPN Information * <------------" >> /tmp/openvpncl/report.txt
  167. echo "Command: openvpn --version" >> /tmp/openvpncl/report.txt
  168. echo "Command: cat /tmp/openvpncl/status.log" >> /tmp/openvpncl/report.txt
  169. echo "Command: cat /tmp/openvpncl/openvpn.log" >> /tmp/openvpncl/report.txt
  170. echo >> /tmp/openvpncl/report.txt
  171. openvpn --version >> /tmp/openvpncl/report.txt
  172. cat /tmp/openvpncl/status.log >> /tmp/openvpncl/report.txt
  173. cat /tmp/openvpncl/openvpn.log >> /tmp/openvpncl/report.txt
  174. echo >> /tmp/openvpncl/report.txt
  175. echo "------------> * System Log * <------------" >> /tmp/openvpncl/report.txt
  176. echo "Command: cat /var/log/messages" >> /tmp/openvpncl/report.txt
  177. echo >> /tmp/openvpncl/report.txt
  178. sleep 120
  179. cat /var/log/messages >> /tmp/openvpncl/report.txt
  180. echo >> /tmp/openvpncl/report.txt
  181. echo "------------> * Current Adapters * <------------" >> /tmp/openvpncl/report.txt
  182. echo "Command: ifconfig" >> /tmp/openvpncl/report.txt
  183. echo >> /tmp/openvpncl/report.txt
  184. ifconfig >> /tmp/openvpncl/report.txt
  185. echo >> /tmp/openvpncl/report.txt
  186. echo "------------> * IP Tables * <------------" >> /tmp/openvpncl/report.txt
  187. echo "Command: iptables -nvxL" >> /tmp/openvpncl/report.txt
  188. echo "Command: iptables -nvxL nat" >> /tmp/openvpncl/report.txt
  189. echo "Command: ip ro" >> /tmp/openvpncl/report.txt
  190. echo >> /tmp/openvpncl/report.txt
  191. iptables -nvxL >> /tmp/openvpncl/report.txt
  192. iptables -nvxL nat >> /tmp/openvpncl/report.txt
  193. ip ro >> /tmp/openvpncl/report.txt
  194. echo >> /tmp/openvpncl/report.txt
  195. echo "------------> * Processes * <------------" >> /tmp/openvpncl/report.txt
  196. echo "Command: ps" >> /tmp/openvpncl/report.txt
  197. echo >> /tmp/openvpncl/report.txt
  198. ps >> /tmp/openvpncl/report.txt
  199.  
  200. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement