vpn.sh 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. #!/bin/bash
  2. #
  3. # By Rpj Wonosobo
  4. # ==================================================
  5. # initialisasi var
  6. export DEBIAN_FRONTEND=noninteractive
  7. OS=`uname -m`;
  8. MYIP=$(wget -qO- ifconfig.me/ip);
  9. MYIP2="s/xxxxxxxxx/$MYIP/g";
  10. ANU=$(ip -o $ANU -4 route show to default | awk '{print $5}');
  11. # Install OpenVPN dan Easy-RSA
  12. apt install openvpn easy-rsa unzip -y
  13. apt install openssl iptables iptables-persistent -y
  14. mkdir -p /etc/openvpn/server/easy-rsa/
  15. cd /etc/openvpn/
  16. wget https://raw.githubusercontent.com/lesta-1/sc/main/vpn.zip
  17. unzip vpn.zip
  18. rm -f vpn.zip
  19. chown -R root:root /etc/openvpn/server/easy-rsa/
  20. cd
  21. mkdir -p /usr/lib/openvpn/
  22. cp /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so /usr/lib/openvpn/openvpn-plugin-auth-pam.so
  23. # nano /etc/default/openvpn
  24. sed -i 's/#AUTOSTART="all"/AUTOSTART="all"/g' /etc/default/openvpn
  25. # restart openvpn dan cek status openvpn
  26. systemctl enable --now openvpn-server@server-tcp-1194
  27. systemctl enable --now openvpn-server@server-udp-2200
  28. /etc/init.d/openvpn restart
  29. /etc/init.d/openvpn status
  30. # aktifkan ip4 forwarding
  31. echo 1 > /proc/sys/net/ipv4/ip_forward
  32. sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
  33. # Buat config client TCP 1194
  34. cat > /etc/openvpn/client-tcp-1194.ovpn <<-END
  35. client
  36. dev tun
  37. proto tcp
  38. remote xxxxxxxxx 1194
  39. resolv-retry infinite
  40. route-method exe
  41. nobind
  42. persist-key
  43. persist-tun
  44. auth-user-pass
  45. comp-lzo
  46. verb 3
  47. END
  48. sed -i $MYIP2 /etc/openvpn/client-tcp-1194.ovpn;
  49. # Buat config client UDP 2200
  50. cat > /etc/openvpn/client-udp-2200.ovpn <<-END
  51. client
  52. dev tun
  53. proto udp
  54. remote xxxxxxxxx 2200
  55. resolv-retry infinite
  56. route-method exe
  57. nobind
  58. persist-key
  59. persist-tun
  60. auth-user-pass
  61. comp-lzo
  62. verb 3
  63. END
  64. sed -i $MYIP2 /etc/openvpn/client-udp-2200.ovpn;
  65. # Buat config client SSL
  66. cat > /etc/openvpn/client-tcp-ssl.ovpn <<-END
  67. client
  68. dev tun
  69. proto tcp
  70. remote xxxxxxxxx 442
  71. resolv-retry infinite
  72. route-method exe
  73. nobind
  74. persist-key
  75. persist-tun
  76. auth-user-pass
  77. comp-lzo
  78. verb 3
  79. END
  80. sed -i $MYIP2 /etc/openvpn/client-tcp-ssl.ovpn;
  81. cd
  82. # pada tulisan xxx ganti dengan alamat ip address VPS anda
  83. /etc/init.d/openvpn restart
  84. # masukkan certificatenya ke dalam config client TCP 1194
  85. echo '<ca>' >> /etc/openvpn/client-tcp-1194.ovpn
  86. cat /etc/openvpn/server/ca.crt >> /etc/openvpn/client-tcp-1194.ovpn
  87. echo '</ca>' >> /etc/openvpn/client-tcp-1194.ovpn
  88. # Copy config OpenVPN client ke home directory root agar mudah didownload ( TCP 1194 )
  89. cp /etc/openvpn/client-tcp-1194.ovpn /home/vps/public_html/client-tcp-1194.ovpn
  90. # masukkan certificatenya ke dalam config client UDP 2200
  91. echo '<ca>' >> /etc/openvpn/client-udp-2200.ovpn
  92. cat /etc/openvpn/server/ca.crt >> /etc/openvpn/client-udp-2200.ovpn
  93. echo '</ca>' >> /etc/openvpn/client-udp-2200.ovpn
  94. # Copy config OpenVPN client ke home directory root agar mudah didownload ( UDP 2200 )
  95. cp /etc/openvpn/client-udp-2200.ovpn /home/vps/public_html/client-udp-2200.ovpn
  96. # masukkan certificatenya ke dalam config client SSL
  97. echo '<ca>' >> /etc/openvpn/client-tcp-ssl.ovpn
  98. cat /etc/openvpn/server/ca.crt >> /etc/openvpn/client-tcp-ssl.ovpn
  99. echo '</ca>' >> /etc/openvpn/client-tcp-ssl.ovpn
  100. # Copy config OpenVPN client ke home directory root agar mudah didownload ( SSL )
  101. cp /etc/openvpn/client-tcp-ssl.ovpn /home/vps/public_html/client-tcp-ssl.ovpn
  102. #firewall untuk memperbolehkan akses UDP dan akses jalur TCP
  103. iptables -t nat -I POSTROUTING -s 10.6.0.0/24 -o $ANU -j MASQUERADE
  104. iptables -t nat -I POSTROUTING -s 10.7.0.0/24 -o $ANU -j MASQUERADE
  105. iptables-save > /etc/iptables.up.rules
  106. chmod +x /etc/iptables.up.rules
  107. iptables-restore -t < /etc/iptables.up.rules
  108. netfilter-persistent save
  109. netfilter-persistent reload
  110. # Restart service openvpn
  111. systemctl enable openvpn
  112. systemctl start openvpn
  113. /etc/init.d/openvpn restart
  114. # Delete script
  115. history -c
  116. rm -f /root/vpn.sh