123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356 |
- #!/bin/bash
- #
- # Mod by SL
- # ==================================================
- # initialisasi var
- export DEBIAN_FRONTEND=noninteractive
- OS=`uname -m`;
- MYIP=$(wget -qO- ipv4.icanhazip.com);
- MYIP2="s/xxxxxxxxx/$MYIP/g";
- ANU=$(ip -o $ANU -4 route show to default | awk '{print $5}');
- # Install OpenVPN dan Easy-RSA
- apt install openvpn easy-rsa openssl -y
- apt install openssl iptables iptables-persistent -y
- cp -r /usr/share/easy-rsa/ /etc/openvpn
- mkdir /etc/openvpn/easy-rsa/keys
- cp /etc/openvpn/easy-rsa/vars.example /etc/openvpn/easy-rsa/vars
- # Kemudian edit file variabel easy-rsa
- # nano /etc/openvpn/easy-rsa/vars
- wget -O /etc/openvpn/easy-rsa/vars "https://raw.githubusercontent.com/irwanmohi/aws/main/vars.conf"
- # edit projek export KEY_NAME="vpn"
- # Save dan keluar dari editor
- # generate Diffie hellman parameters
- openssl dhparam -out /etc/openvpn/dh2048.pem 2048
- # Create PKI
- cd /etc/openvpn/easy-rsa
- cp openssl-1.0.0.cnf openssl.cnf
- . ./vars
- ./clean-all
- export EASY_RSA="${EASY_RSA:-.}"
- "$EASY_RSA/pkitool" --initca $*
- # Create key server
- export EASY_RSA="${EASY_RSA:-.}"
- "$EASY_RSA/pkitool" --server server
- # Setting KEY CN
- export EASY_RSA="${EASY_RSA:-.}"
- "$EASY_RSA/pkitool" client
- # cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn
- cd
- cp /etc/openvpn/easy-rsa/keys/server.crt /etc/openvpn/server.crt
- cp /etc/openvpn/easy-rsa/keys/server.key /etc/openvpn/server.key
- cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/ca.crt
- chmod +x /etc/openvpn/ca.crt
- # install openvpn
- # wget -O /etc/openvpn/vpn.zip "https://github.com//raw/main/vpn.zip"
- # cd /etc/openvpn/
- # unzip vpn.zip
- # rm -f vpn.zip
- cd
- # Buat config server TCP 1194
- cd /etc/openvpn
- cat > /etc/openvpn/server-tcp-1194.conf <<-END
- port 1194
- proto tcp
- dev tun
- ca ca.crt
- cert server.crt
- key server.key
- dh dh2048.pem
- plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
- verify-client-cert none
- username-as-common-name
- server 10.6.0.0 255.255.255.0
- ifconfig-pool-persist ipp.txt
- push "redirect-gateway def1 bypass-dhcp"
- push "dhcp-option DNS 1.1.1.1"
- push "dhcp-option DNS 1.0.0.1"
- keepalive 5 30
- comp-lzo
- persist-key
- persist-tun
- status server-tcp-1194.log
- verb 3
- END
- # Buat config server TCP 1197
- cd /etc/openvpn
- cat > /etc/openvpn/server-tcp-1720.conf <<-END
- port 1720
- proto tcp
- dev tun
- ca ca.crt
- cert server.crt
- key server.key
- dh dh2048.pem
- plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
- verify-client-cert none
- username-as-common-name
- server 10.6.0.0 255.255.255.0
- ifconfig-pool-persist ipp.txt
- push "redirect-gateway def1 bypass-dhcp"
- push "dhcp-option DNS 1.1.1.1"
- push "dhcp-option DNS 1.0.0.1"
- keepalive 5 30
- comp-lzo
- persist-key
- persist-tun
- status server-tcp-1720.log
- verb 3
- END
- # Buat config server UDP 2200
- cat > /etc/openvpn/server-udp-2200.conf <<-END
- port 2200
- proto udp
- dev tun
- ca ca.crt
- cert server.crt
- key server.key
- dh dh2048.pem
- plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
- verify-client-cert none
- username-as-common-name
- server 10.7.0.0 255.255.255.0
- ifconfig-pool-persist ipp.txt
- push "redirect-gateway def1 bypass-dhcp"
- push "dhcp-option DNS 1.1.1.1"
- push "dhcp-option DNS 1.0.0.1"
- keepalive 5 30
- comp-lzo
- persist-key
- persist-tun
- status server-udp-2200.log
- verb 3
- END
- cd
- mkdir -p /usr/lib/openvpn/
- cp /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so /usr/lib/openvpn/openvpn-plugin-auth-pam.so
- # nano /etc/default/openvpn
- sed -i 's/#AUTOSTART="all"/AUTOSTART="all"/g' /etc/default/openvpn
- # Cari pada baris #AUTOSTART=”all” hilangkan tanda pagar # didepannya sehingga menjadi AUTOSTART=”all”. Save dan keluar dari editor
- # restart openvpn dan cek status openvpn
- /etc/init.d/openvpn restart
- /etc/init.d/openvpn status
- # aktifkan ip4 forwarding
- echo 1 > /proc/sys/net/ipv4/ip_forward
- sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
- # edit file sysctl.conf
- # nano /etc/sysctl.conf
- # Uncomment hilangkan tanda pagar pada #net.ipv4.ip_forward=1
- # Konfigurasi dan Setting untuk Client
- mkdir clientconfig
- cp /etc/openvpn/{server.crt,server.key,ca.crt,ta.key} clientconfig/
- cd clientconfig
- # Buat config client TCP 1197
- cd /etc/openvpn
- cat > /etc/openvpn/client-tcp-1720.ovpn <<-END
- ############## WELCOME TO ###############
- ########## syapik96 ###########
- ####### DONT FORGET TO SUPPORT US #######
- client
- dev tun
- proto tcp
- remote xxxxxxxxx 1720
- resolv-retry infinite
- route-method exe
- nobind
- persist-key
- persist-tun
- auth-user-pass
- comp-lzo
- verb 3
- END
- sed -i $MYIP2 /etc/openvpn/client-tcp-1194.ovpn;
- # Buat config client UDP 1194
- cd /etc/openvpn
- cat > /etc/openvpn/client-udp-1194.ovpn <<-END
- ############## WELCOME TO ###############
- ########## syapik96 ###########
- ####### DONT FORGET TO SUPPORT US #######
- client
- dev tun
- proto udp
- remote xxxxxxxxx 1194
- resolv-retry infinite
- route-method exe
- nobind
- persist-key
- persist-tun
- auth-user-pass
- comp-lzo
- verb 3
- END
- sed -i $MYIP2 /etc/openvpn/client-udp-1194.ovpn;
- # Buat config client TCP 1194
- cat > /etc/openvpn/client-tcp-1194.ovpn <<-END
- ############## WELCOME TO ###############
- ########## syapik96 ###########
- ####### DONT FORGET TO SUPPORT US #######
- client
- dev tun
- proto tcp
- remote xxxxxxxxx 1194
- resolv-retry infinite
- route-method exe
- nobind
- persist-key
- persist-tun
- auth-user-pass
- comp-lzo
- verb 3
- END
- sed -i $MYIP2 /etc/openvpn/client-tcp-1194.ovpn;
- # Buat config client UDP 2200
- cat > /etc/openvpn/client-udp-2200.ovpn <<-END
- ############## WELCOME TO ###############
- ########## syapik96 ###########
- ####### DONT FORGET TO SUPPORT US #######
- client
- dev tun
- proto udp
- remote xxxxxxxxx 2200
- resolv-retry infinite
- route-method exe
- nobind
- persist-key
- persist-tun
- auth-user-pass
- comp-lzo
- verb 3
- END
- sed -i $MYIP2 /etc/openvpn/client-udp-2200.ovpn;
- # Buat config client TCP 2200
- cat > /etc/openvpn/client-tcp-2200.ovpn <<-END
- ############## WELCOME TO ###############
- ########## syapik96 ###########
- ####### DONT FORGET TO SUPPORT US #######
- client
- dev tun
- proto tcp
- remote xxxxxxxxx 2200
- resolv-retry infinite
- route-method exe
- nobind
- persist-key
- persist-tun
- auth-user-pass
- comp-lzo
- verb 3
- END
- sed -i $MYIP2 /etc/openvpn/client-tcp-2200.ovpn;
- # Buat config client SSL
- cat > /etc/openvpn/client-tcp-ssl.ovpn <<-END
- ############## WELCOME TO ###############
- ########## syapik96 ###########
- ####### DONT FORGET TO SUPPORT US #######
- client
- dev tun
- proto tcp
- remote xxxxxxxxx 442
- resolv-retry infinite
- route-method exe
- nobind
- persist-key
- persist-tun
- auth-user-pass
- comp-lzo
- verb 3
- END
- sed -i $MYIP2 /etc/openvpn/client-tcp-ssl.ovpn;
- cd
- # pada tulisan xxx ganti dengan alamat ip address VPS anda
- /etc/init.d/openvpn restart
- #1197
- # masukkan certificatenya ke dalam config client TCP 1197
- echo '<ca>' >> /etc/openvpn/client-tcp-1720.ovpn
- cat /etc/openvpn/ca.crt >> /etc/openvpn/client-tcp-1720.ovpn
- echo '</ca>' >> /etc/openvpn/client-tcp-1720.ovpn
- # Copy config OpenVPN client ke home directory root agar mudah didownload ( TCP 1197 )
- cp /etc/openvpn/client-tcp-1720.ovpn /home/vps/public_html/client-tcp-1720.ovpn
- #1194
- # masukkan certificatenya ke dalam config client TCP 1194
- echo '<ca>' >> /etc/openvpn/client-tcp-1194.ovpn
- cat /etc/openvpn/ca.crt >> /etc/openvpn/client-tcp-1194.ovpn
- echo '</ca>' >> /etc/openvpn/client-tcp-1194.ovpn
- # Copy config OpenVPN client ke home directory root agar mudah didownload ( TCP 1194 )
- cp /etc/openvpn/client-tcp-1194.ovpn /home/vps/public_html/client-tcp-1194.ovpn
- #2200
- # masukkan certificatenya ke dalam config client UDP 2200
- echo '<ca>' >> /etc/openvpn/client-udp-2200.ovpn
- cat /etc/openvpn/ca.crt >> /etc/openvpn/client-udp-2200.ovpn
- echo '</ca>' >> /etc/openvpn/client-udp-2200.ovpn
- # Copy config OpenVPN client ke home directory root agar mudah didownload ( UDP 2200 )
- cp /etc/openvpn/client-udp-2200.ovpn /home/vps/public_html/client-udp-2200.ovpn
- # masukkan certificatenya ke dalam config client SSL
- echo '<ca>' >> /etc/openvpn/client-tcp-ssl.ovpn
- cat /etc/openvpn/ca.crt >> /etc/openvpn/client-tcp-ssl.ovpn
- echo '</ca>' >> /etc/openvpn/client-tcp-ssl.ovpn
- # Copy config OpenVPN client ke home directory root agar mudah didownload ( SSL )
- cp /etc/openvpn/client-tcp-ssl.ovpn /home/vps/public_html/client-tcp-ssl.ovpn
- #firewall untuk memperbolehkan akses UDP dan akses jalur TCP
- iptables -t nat -I POSTROUTING -s 10.6.0.0/24 -o $ANU -j MASQUERADE
- iptables -t nat -I POSTROUTING -s 10.7.0.0/24 -o $ANU -j MASQUERADE
- iptables-save > /etc/iptables.up.rules
- chmod +x /etc/iptables.up.rules
- iptables-restore -t < /etc/iptables.up.rules
- netfilter-persistent save
- netfilter-persistent reload
- # Restart service openvpn
- systemctl enable openvpn
- systemctl start openvpn
- /etc/init.d/openvpn restart
- # Restore iptables
- cat > /etc/network/if-up.d/iptables <<-END
- iptables-restore < /etc/iptables.up.rules
- iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o $ANU -j SNAT --to xxxxxxxxx
- iptables -t nat -A POSTROUTING -s 10.7.0.0/24 -o $ANU -j SNAT --to xxxxxxxxx
- END
- sed -i $MYIP2 /etc/network/if-up.d/iptables
- chmod +x /etc/network/if-up.d/iptables
- # restart opevpn
- /etc/init.d/openvpn restart
- # Delete script
- history -c
- rm -f /root/vpn.sh
|