Thursday, November 23, 2006

freebsd + openvpn, vpn bridge how to

sesuai dengan janji saya sebelumnya berikut sedikit tutorial mengenai vpn bridge

install openvpn, lebih mudah pake ports tinggal :

[root@akatsuki /]# cd /usr/ports/security/openvpn
[root@akatsuki /usr/ports/security/openvpn]#make install

oke tunggu sampe instalasi selesai, setelah itu :

[root@akatsuki /]# cd /usr/local/etc/
[root@akatsuki /usr/local/etc]# mkdir openvpn
[root@akatsuki /usr/local/etc]#cd openvpn


kemudian buat config untuk openvpn server, berikut config sederhananya :

[root@akatsuki /usr/local/etc/openvpn]# vi openvpn-server.conf

port 1194
ifconfig 192.168.0.254 255.255.255.0
dev tap0
secret static.key
user nobody
group nobody
verb 4
log /var/log/openvpn.log
log-append /var/log/openvpn.log


setelah itu kita create key agar server dengan klien bisa komunikasi,

[root@akatsuki /usr/local/etc/openvpn]#openvpn --genkey --secret static.key

buat shell script untuk mengaktifkan vpn :

[root@akatsuki /usr/local/etc/openvpn]# vi /usr/local/etc/rc.d/vpnbridge.sh

#!/bin/sh

case "$1" in
start)
kldload bridge
ifconfig tap0 create
cd /usr/local/etc/openvpn/
/usr/local/sbin/openvpn --daemon --config openvpn-server.conf
sysctl net.link.ether.bridge_cfg=rl0,tap0
sysctl net.link.ether.bridge.enable=1
;;
stop)
sysctl net.link.ether.bridge.enable=0
sysctl net.link.ether.bridge_cfg=
killall openvpn
ifconfig tap0 destroy
kldunload bridge
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac

exit 0

sesuaikan interface dengan interface lan yg ada pada pc anda (sy gunakan rl0).
kemudian change permision shell script agar bisa di eksekusi

[root@akatsuki /usr/local/etc/openvpn]# chmod 700 /usr/local/etc/rc.d/vpnbridge.sh

sekarang jalankan shell script

[root@akatsuki /usr/local/etc/openvpn]# /usr/local/etc/rc.d/vpnbridge.sh start

ketik ifconfig dan cek apakah interface tap0 sudah ada atau belum, contoh seperti ini :

[root@akatsuki /usr/local/etc/openvpn]# ifconfig tap0
tap0: flags=8943
mtu 1500
inet6 fe80::2bd:74ff:fea3:fa00%tap0 prefixlen 64 scopeid 0x5
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:bd:74:a3:fa:00
Opened by PID 31996


jangan lupa juga untuk melakukan cek log /var/log/openvpn.log.

karena vpnserver udah up sekarang giliran config di vpn clientnya.
lakukan langkah-langkah seperti pada pembuatan vpn server namun perbedaan ada pada bagian config, berikut config sederhananya :

remote 202.138.145.78 #sesuaikan dengan ip server
dev tap
ifconfig 192.168.0.252 255.255.255.0 #buat ip satu blok dengan ip private server
secret static.key
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 4

kemudian copy file static.key dari server ke client.
buat shell script sama seperti shell script pada server.
running shell script kemudian liat lognya, jika tidak ada error apapun. coba lakukan test dengan ping ip private dari server ke klien dan sebalik nya jika reply berarti selamat vpn bridge anda telah berjalan.

[root@akatsuki /usr/local/etc/openvpn]#ping 192.168.0.252
PING 192.168.0.252 (192.168.0.252): 56 data bytes
64 bytes from 202.138.236.1: icmp_seq=0 ttl=254 time=7.118 ms
64 bytes from 202.138.236.1: icmp_seq=1 ttl=254 time=48.951 ms
64 bytes from 202.138.236.1: icmp_seq=2 ttl=254 time=9.092 ms



config vpnbridge diatas tanpa fasilitas TLS, jika anda ingin koneksi yg lebih secure lagi cobalah menggunakan config TLS, info lengkapnya bisa dilihat di http://www.openvpn.net

oke selamat mencoba

2 comments:

NAPAK SINERGI 455 said...

Hebat uy tulisannya. di coba dulu. Thanks buat tulisannya.



Rino M Nur

NAPAK SINERGI 455 said...

Bagus uy tulisannya. Keep writing. saya coba dulu.


Thanks,


Rino M Nur