Cara Install OpenVPN Server Di VPS Centos 5 Dan 6 (32bit/64bit)
Cara Install OpenVPN Di VPS Centos 32bit/64bit
Langkah 1 : Kita cek TUN/TAP
cat /dev/net/tunJika aktif akan ada balasan seperti ini
cat: /dev/net/tun: File descriptor in bad stateLangkah 2 : Install paket dasar yang diperlukan
yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel -y
wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm
CentOS 5 32 Bit:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
CentOS 5 64 Bit:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
CentOS 6 32 Bit:
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
CentOS 6 64 Bit:
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmLangkah 3 : Build paket RMP & install openVPN
rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
rpm -Uvh lzo-*.rpm
rpm -Uvh rpmforge-release*
yum -y install openvpnCopy file easy-rsa ke folder /etc/openvpn/:
cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa/ /etc/openvpn/NB : Buat centos 6 edit beberapa ini
nano /etc/openvpn/easy-rsa/2.0/varsCari Dan Ubah:
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`Menjadi:
export KEY_CONFIG=/etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnfLangkah 4 : Buat certifikasi
cd /etc/openvpn/easy-rsa/2.0Langkah 5 : Build CA
chmod 755 *
source ./vars
./vars
./clean-all
./build-ca
- Country Name: silahkan di isi atau tekan enter saja
- State or Province Name: silahkan di isi atau tekan enter saja
- City: silahkan di isi atau tekan enter saja
- Org Name: silahkan di isi atau tekan enter saja
- Org Unit Name: silahkan di isi atau tekan enter saja
- Common Name: server hostname
- Email Address: silahkan di isi atau tekan enter saja
./build-key-server server
- Caranya hampir sama dengan build ca cuman ada perbedaan sedikit
- Common Name: server
- A challenge password: abaikan saja (kosongin)
- Optional company name: silahkan di isi atau langsung tekan enter
- sign the certificate: y
- 1 out of 1 certificate requests: y
./build-dhLangkah 8 : Membuat config openVPN server
nano /etc/openvpn/server.confIsi menyesuaikan kebutuhan ya gan:
port 443Langkah 9 : Disable Selinux
proto tcp
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
reneg-sec 0
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login
client-cert-not-required
username-as-common-name
server 10.8.6.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status server443.log
verb 3
Sebelum menjalankan openvpn kita disable dulu SELinux nya
Karena sering bermasalah dengan openvpn jika menggunakan multipe config
echo 0 > /selinux/enforceCara di atas hanya temporary disable SELinux ketika reboot harus set ulang.
Untuk membikin otomatis maka perlu kita edit di file /etc/selinux/config :
nano /etc/selinux/configCari dan ubah:
SELINUX=enforcingMenjadi:
SELINUX=disabledLangkah 10 : Restart openVPN
service openvpn restartLangkah 11 : Jalankan auto startup opeVPN
chkconfig openvpn onLangkah 12 : Enable IP forwarding
Openvpn server sudah selesai di install
Tapi perlu kita tambahin iptables supaya dapat kita akses dari luar
Edit file /etc/sysctl.conf:
nano /etc/sysctl.confCari dan ubah:
net.ipv4.ip_forward = 0Menjadi:
net.ipv4.ip_forward = 1Lalu jalankan "sysctl -p" untuk update confignya:
sysctl -pLangkah Finaly : Setting Route Iptables
Rule berikut untuk vps baik itu xen dan KVM based VPS’s:
iptables -t nat -A POSTROUTING -s 10.8.6.0/24 -o eth0 -j MASQUERADEOpenVZ iptables rules:
iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to-source xxx.xxx.xxx.xxx
iptables -t nat -A POSTROUTING -s 10.8.6.0/24 -j SNAT --to-source xxx.xxx.xxx.xxxKeterangan:
xxx.xxx.xxx.xxx silahkan ganti dengan ip public vps anda
Sudah selesai instalasi openvpn di vps centos 5 dan 6 32bit/64bit
