Cara setup server VPN pada VPS CentOS langsung

Kami telah membuat bash script kecil dan kotor yang menginstal dan mengkonfigurasi OpenVPN di CentOS 5 32bit. Utama server VPN (dan hanya) menggunakan ini untuk browsing aman yaitu tunneling semua lalu lintas Anda melalui VPS Anda. Script ini juga menghasilkan file konfigurasi klien Anda bersama dengan tombol yang diperlukan untuk otentikasi.

Persyaratan

1. CentOS 5 32bit OS template yang minim

2. TUN / TAP perangkat diaktifkan pada VPS Anda

3. NAT iptables dukungan

Anda akan harus membuka tiket untuk meminta perangkat TUN / TAP harus diaktifkan pada VPS Anda.

vzctl stop YOUR_VEID
vzctl set YOUR_VEID --devices c:10:200:rw --save
vzctl set YOUR_VEID --capability net_admin:on --save
vzctl start YOUR_VEID
vzctl exec YOUR_VEID "mkdir -p /dev/net; mknod /dev/net/tun c 10 200; chmod 600 /dev/net/tun"
# iptables support
vzctl stop YOUR_VEID
vzctl set YOUR_VEID --iptables ipt_REJECT --iptables ipt_tos --iptables ipt_TOS --iptables ipt_LOG --iptables ip_conntrack --iptables ipt_limit --iptables ipt_multiport --iptables iptable_filter --iptables iptable_mangle --iptables ipt_TCPMSS --iptables ipt_tcpmss --iptables ipt_ttl --iptables ipt_length --iptables ipt_state --iptables iptable_nat --iptables ip_nat_ftp --save
vzctl start YOUR_VEID

Pastikan mereka akan mengganti ‘YOUR_VEID’ dengan VEID VPS Anda dan Anda akan siap untuk roll

Login ke VPS anda sebagai root dan jalankan perintah berikut

wget http://vpsnoc.com/scripts/install-openvpn.sh
chmod +x install-openvpn.sh
./install-openvpn.sh

Anda akan diminta untuk memasukkan nilai untuk server Anda dan sertifikat klien, merasa bebas untuk menerima (tekan enter) nilai default. Itu tidak dianjurkan untuk setup password untuk sertifikat server Anda karena Anda akan harus mengetikkan password setiap kali Anda ingin memulai / openvpn restart daemon.
Namun Anda dapat mengatur sandi untuk sertifikat klien Anda karena menawarkan tingkat ekstra perlindungan dalam kasus sertifikat Anda dan file kunci dikompromikan. Anda akan diminta untuk sandi bahwa setiap kali Anda terhubung pada VPN VPS Anda.

Setelah script selesai menginstal openvpn (harus sangat cepat) kunci klien dan klien openvpn konfigurasi file yang akan diarsipkan di / root / keys.tgz
Anda dapat menggunakan klien sftp / scp seperti WinSCP atau filezilla untuk men-download arsip di komputer Anda.

Jika Anda sudah tidak terinstal openvpn untuk jendela Anda dapat melakukannya sekarang.
Anda dapat menggunakan winrar atau 7zip untuk mengekstrak isi keys.tgz di C: \ Program Files \ OpenVPN \ config \ VPN (membuat folder bernama VPN ada)
Setelah Anda telah diekstrak file dari keys.tgz dalam folder di atas, Anda dapat mulai openvpn-gui dari menu start, klik kanan ikon tray, pergi ke VPN dan klik connect. Setelah ikon berubah menjadi hijau semua lalu lintas Anda akan diteruskan melalui VPS anda, tidak ada konfigurasi tambahan pada browser Anda / IM klien / klien email yang diperlukan.

Jika Anda menghadapi masalah memastikan bahwa jam komputer Anda yang akan disinkronkan, jika jadi pastikan bahwa jam VPS anda benar juga. Jika tidak Anda harus bertanya host Anda untuk melakukan sinkronisasi.

Untuk masalah lainnya dan umpan balik silakan e-mail kami di michael@mimizu.or.id

Anda dapat menggunakan dan memodifikasi script ini namun Anda inginkan, asalkan Anda tidak mengedit hak cipta asli.

#!/bin/bash
# Quick and dirty OpenVPN install script
# Tested on Centos 5.x 32bit, openvz minimal CentOS OS templates
# Please submit feedback and questions at support@vpsnoc.com

# John Malkowski vpsnoc.com 01/04/2010

ip=`grep IPADDR /etc/sysconfig/network-scripts/ifcfg-venet0:0 | awk -F= ‘{print $2}’`

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -iv rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rm -rf rpmforge-release-0.3.6-1.el5.rf.i386.rpm

yum -y install openvpn openssl openssl-devel
cd /etc/openvpn/
cp -R /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/
chmod +rwx *
. ../vars
./clean-all
source ./vars

echo -e “\n\n\n\n\n\n\n” | ./build-ca
clear
echo “####################################”
echo “Feel free to accept default values”
echo “Wouldn’t recommend setting a password here”
echo “Then you’d have to type in the password each time openVPN starts/restarts”
echo “####################################”
./build-key-server server
./build-dh
cp keys/{ca.crt,ca.key,server.crt,server.key,dh1024.pem} /etc/openvpn/

clear
echo “####################################”
echo “Feel free to accept default values”
echo “This is your client key, you may set a password here but it’s not required”
echo “####################################”
./build-key client1
cd keys/

client=”
client
remote $ip 1194
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
route-delay 2
route-method exe
redirect-gateway def1
dhcp-option DNS 8.8.8.8
dhcp-option DNS 8.8.4.4
verb 3″

echo “$client” > $HOSTNAME.ovpn

tar czf keys.tgz ca.crt ca.key client1.crt client1.csr client1.key $HOSTNAME.ovpn
mv keys.tgz /root

opvpn=’
dev tun
server 172.100.32.0 255.255.255.0
ifconfig-pool-persist ipp.txt
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push “route 172.100.32.0 255.255.255.0”
push “redirect-gateway”
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
group nobody
daemon’

echo “$opvpn” > /etc/openvpn/openvpn.conf

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.100.32.0/24 -o venet0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
sed -i ‘s/eth0/venet0/g’ /etc/sysconfig/iptables # dirty vz fix for iptables-save
echo “net.ipv4.ip_forward=1” >> /etc/sysctl.conf

/etc/init.d/openvpn start
clear

echo “OpenVPN has been installed
Download /root/keys.tgz using winscp or other sftp/scp client such as filezilla
Create a directory named vpn at C:\Program Files\OpenVPN\config\ and untar the content of keys.tgz there
Start openvpn-gui, right click the tray icon go to vpn and click connect
For support/bug reports email us at support@deohosting.net

Untuk settingan Firewall di iptables, jika ada kasus YM tidak dapat terkoneksi, maka hal yang perlu dilakukan adalah buka /etc/sysconfig/iptables dengan menggunakan text editor kemudian edit seperti dibawah ini

Show »

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -p swipe -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp –dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 1194 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 2102 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 1194 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 5000 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 5010 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 119 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 5100 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 5000 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 5010 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 5050 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 8001 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 8002 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 23 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 20 -j ACCEPT

Jika sudah jangan lupa untuk melakukan perintah service iptables restart

NB:

  • Perlu diperhatikan untuk venet0, karena untuk yang satu ini harus disesuaikan dengan letak LAN.
  • chkconfig openvpn on
3 people like this post.

Did you like this? Share it:

Leave a Reply