Log in

View Full Version : Cara membuat server VPN di linux


Posixlover
23rd November 2011, 02:13 PM
VPN adalah suatu metode pengamanan jaringan yang bekerja dengan cara membuat suatu tunnel


Spoiler for gambar VPN:




http://u.kaskus.us/16/mfnuzoss.jpg







semoga ga:repost:http://static.kaskus.us/images/smilies/kaskus_radio.gif:


Spoiler for Ada beberapa cara membangun koneksi VPN, antara lain (yg populer):






1. PPTP � http://poptop.sourceforge.net/

2. L2TP over IPSec � http://l2tpd.snapgear.org/

3. IPSec � http://openswan.org

4. SSL � http://openvpn.org

Penjelaskan satu per satu cara membuatnya:



1. PPTP

# Download & install source / install dr RPM

# Hal selanjutnya, edit file /etc/pptp.conf

option /etc/ppp/options.pptpd

localip

remoteip [range_IP_buatan_utk_alokasi_client_contoh:192.168. 0.101-103]

# Edit file /etc/ppp/options.pptpd

lock

nopcomp

noauth

debug

defaultroute

name pptpd

proxyarp

asyncmap 0

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe

lcp-echo-failure 30

lcp-echo-interval 5

ipcp-accept-local

ipcp-accept-remote

allow-ip [ip_remote_yg_boleh mengakses]

ms-dns [dns_server_lokal_network_yg_diakses]

ms-wins [wins_server_lokal_network_yg_diakses]

proxyarp

debug

dump

lock

nobsdcomp

logfile /var/log/pptp.log

# Buka Firewall untuk TCP port 1723 dan PROTO GRE

-A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT

-A INPUT -p gre -j ACCEPT

Berdasarkan artikel yang aku baca, gunakan authentikasi EAP-TLS (pengganti MSCHAP2), katanya ini yg lebih baik � tp belum sempet ditest apakah PPTP Client yg standard di Windows en MacOS X support.

atau bisa juga (yang aku sudah berhasil lakukan sendiri):

1. Edit /etc/pptpd.conf seperti diatas

2. Edit /etc/ppp/options.pptpd, isi :

name pptpd

ipparam PoPTop

refuse-pap

asyncmap 0

crtscts

multilink

proxyarp

deflate 0

auth

require-chap

require-mschap

require-mschap-v2

lock

nobsdcomp

novj

novjccomp

nologfd

ipcp-accept-local

ipcp-accept-remote

nopcomp

noaccomp

3. Tambah di /etc/ppp/chap-secrets

[username] pptpd [password] "*"

Pada client VPN isi username dan password sama dengan yang diisi di chap-secrets



2. IPSEC

IPSec di Linux sebenarnya dipelopori oleh software FreeSWAN, namun FreeSWAN sudah tidak diteruskan lagi oleh pengembangnya, tapi versi 2.06 cukup handal bisa dipasang di kernel 2.4 dan 2.6.

Ada 2 group yg meneruskan development dari FreeSWAN :

# OpenSWAN � http://openswan.org

# StrongSWAN � http://strongswan.org

OpenSWAN lebih populer dari StrongSWAN, dan berdasarkan pengalaman pribadi � OpenSWAN lebih fleksibel dibanding StrongSWAN, ada beberapa arsitektur VPN yang sedikit lebih rumit dikonfigurasi di StrongSWAN. Kelebihan lainnya, OpenSWAN sudah dibikin RPM nya utk Fedora .. hehehehehee http://static.kaskus.us/images/smilies/sumbangan/13.gif)

Cara nginstall :

1. Download n Install dari Source atau Install dari RPM (yum)

2. edit /etc/ipsec.conf

version 2.0

config setup

interfaces=%defaultroute

klipsdebug=none

plutodebug=none

nat_traversal=yes

�> baris version ini perlu ada dan sesuai dengan versi freeswan yang digunakan.

�> nat_traversal utk memungkinkan koneksi dari IP Private (NAT)

3. Tambahkan di ipsec.conf

conn vpn-ipsec

authby=secret

pfs=no

left=[ip_client/format_laen_contoh_%any]

right=[ip_interface_yg_dikonek_oleh_client/format_laen]

rightsubnet=[network_address_network_lokal]/[subnet_contoh_24]

auto=add

keyingtries=0

�-> right atau left boleh dibolak-balik, rightsubnet tidak perlu ditulis kalo konfigurasi VPN yang dilakukan adalah HOST-to-HOST, rightsubnet hanya diperlukan untuk HOST-to-NETWORK.

�-> authby=secret, kl mau otentikasi dengan Pre-Shared Key (semacam password). Bisa juga dengan Certificate � authby=rsasig

4. Buat file /etc/ipsec.secrets untuk menyimpan presharedkey atau certificate

Contoh:

: PSK "[ketik_di_sini_utk_passwordnya]"

: RSA {

# RSA 2192 bits terowongan.1rstwap.com Tue Aug 2 18:56:23 2005

# for signatures only, UNSAFE FOR ENCRYPTION

#pubkey=0sAQ......

Modulus: 0xa0........

PublicExponent: 0x03

# everything after this point is secret

PrivateExponent: 0x1a....

}

[ip_client] [ip_server]: PSK "[ketik_di_sini_utk_passwordnya]"

5. Buka Firewall untuk UDP port 500 dan PROTO ESP

Contoh:

-A INPUT -i eth0 -p udp --dport 500 -j ACCEPT

-A INPUT -p esp -j ACCEPT



3. L2TP via IPSec

1. Pertama kita perlu install dulu IPSEC nya, dan pasang konfigurasi seperti ini :

Untuk Client Win98/XP yg belum update SP2/MacOS X



conn vpn-l2tp-ipsec

authby=secret

pfs=no

left=[ip_client/format_laen_contoh_%any]

leftprotoport=17/0

right=[ip_interface_yg_dikonek_oleh_client/format_laen]

rightprotoport=17/1701

rightsubnet=[network_address_network_lokal]/[subnet_contoh_24]

auto=add

keyingtries=0

Untuk Client XP SP2

conn vpn-l2tp-ipsec

authby=secret

pfs=no

left=[ip_client/format_laen_contoh_%any]

leftprotoport=17/1701

right=[ip_interface_yg_dikonek_oleh_client/format_laen]

rightprotoport=17/1701

rightsubnet=[network_address_network_lokal]/[subnet_contoh_24]

auto=add

keyingtries=0

�> Perhatikan baris lefprotoport dan rightprotoport. Itu yg membedakan dengan konfigurasi IPSEC (tanpa L2TP dan L2TP utk XP/MacOSX dengan L2TP utk XP SP2).

2. Install L2TPD

3. Edit file /etc/l2tpd/l2tpd.conf

[global]

port = 1701

[lns default]

ip range = [alokasi_range_ip_utk_client_contoh:_192.168.2.1-192.168.2.100]

local ip = [ip_lokal_utk_konek_ke_LAN]

require chap = yes

refuse pap = yes

require authentication = yes

name = [nama_VPN_bebas]

ppp debug = yes

pppoptfile = /etc/ppp/options.l2tpd

length bit = yes

4. Edit / Bikin file /etc/ppp/options.l2tpd

ms-dns [dns_server_di_LAN]

ms-wins [wins_server_di_LAN]

require-mschap-v2

ipcp-accept-local

ipcp-accept-remote

auth

crtscts

idle 1800

mtu 1400

mru 1400

nodefaultroute

nodetach

debug

lock

connect-delay 5000

dump

logfd 2

logfile /var/log/l2tpd.log

allow-ip [ip_client_yg_boleh_pake_l2tp]

5. Sekarang tinggal buka Firewall nya, TCP port 1701 dan UDP port 500 dan PROTO ESP.

Contoh:

-A INPUT -i eth0 -p tcp --dport 1701 -j ACCEPT

-A INPUT -i eth0 -p udp --dport 500 -j ACCEPT

-A INPUT -p esp -j ACCEPT



4. OpenVPN (SSL)

1. Download source nya dari http://openvpn.org (mending dari source aja, krn dilengkapin ama script2 buat generate certificatenya, biar gampang)

2. Setelah kelar make dan make install, masuk ke direktori source �easy-rsa�, jalankan :

export D=/etc/openvpn

export KEY_CONFIG=$D/openssl.cnf

export KEY_DIR=$D/keys

export KEY_SIZE=1024

export KEY_COUNTRY=ID

export KEY_PROVINCE="DKI Jakarta"

export KEY_CITY="Jakarta Selatan"

export KEY_ORG="[nama_pt]"

export KEY_EMAIL="[email protected]"

export KEY_COMMON="[namalengkap/FQDN_host_yg_dipasangin_vpn]"

3. Copy openssl.cnf dr dir easy-rsa ke /etc/openvpn

4. Setelah itu jalankan script �./clean-all� dr direktori �easy-rsa�

5. Jalankan �./build-ca�

6. Jalankan �./build-key-server server�

7. Jalankan �./build-key client� dan teruskan jalankan �./build-key client2″ dst, tergantung jumlah client yg dibolehkan mengakses.

8. Jalankan �./build-dh�, waktu menjalankan perintah ini, bisa sangat lama sekali � tergantung komputer dan panjang byte dr key (ada di vars)

9. Kl udah semua, skrg musti bikin /etc/openvpn/server.conf

port [tcp/udp_port_utk_tunnel_contoh:1234]

proto [udp/tcp]

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/server.crt

key /etc/openvpn/keys/server.key

dh /etc/openvpn/keys/dh1024.pem

server [network&subnet_utk_alokasi_ip_address_utk_client_c ontoh:192.168.0.0_255.255.255.0]

user nobody

group nobody

persist-key

persist-tun

status openvpn-status.log

verb 2

dev tun

push "[routing_IP_LAN_yang_akan_dipasang_di_client_contoh :_route_202.155.0.0_255.255.255.0]"

keepalive 10 120

comp-lzo

10. Di sisi client, perlu meng-copy file �ca.crt�, �client.key�, �client.crt� yang sudah digenerate tadi.

Ada beberapa catatan tentang Openvpn ini:

# Openvpn ini agak memiliki kelemahan untuk tunneling bandwidth besar, sepertinya overhead untuk enkripsinya sangat besar sekali, yg menyebabkan beberapa point berikutnya.

# Usahakan sebisa mungkin untuk menggunakan LZO (untuk kompresi data)

# Gunakan UDP (jangan TCP, krn biasanya TCP akan bermasalah dengan Queue Data apalagi kl tanpa LZO)

# Saat melewatkan data yg besar, shg menyebabkan enkripsi bekerja keras � efeknya seakan2 koneksi terganggu seperti terputus / lag.



Melihat beberapa alternatif yang sudah pernah dicoba, kesimpulan sementara mengenai metode VPN yg cukup meyakinkan adalah: L2TP over IPSec� perlindungan ganda, dari L2TP dan IPSec nya � paling rumit tapi jaminan keamanan lebih terjamin. Semuanya tetep tergantung dari yg nginstallin http://static.kaskus.us/images/smilies/sumbangan/13.gif)

semoga dapat membantu :homo:











:loveindonesia






Spoiler for [I]nitip lapak-lapak yang hot dan lucu-lucu gan:






test logika otak kita (http://ceriwis.us/showthread.php?t=4903924)

perawan VS orang buta sangat BB++++++ (http://ceriwis.us/showthread.php?t=4661613)

iklan cola-coca yang baruw gan,..with pic BB+-+-+ (http://ceriwis.us/showthread.php?t=4881710)

kelakuan tukang bajaj th.2010, BB+-+-+-+ [+pic] (http://ceriwis.us/showthread.php?t=4881511)

sang pemuja jantung pisang (http://ceriwis.us/showthread.php?t=4881691)

Bandwith management di LInux (http://ceriwis.us/showthread.php?t=4636606)

Bisikan (puisi gan) (http://ceriwis.us/showthread.php?t=4881600)

video capture (http://ceriwis.us/showthread.php?t=4360572)

gara-gara sinta dan jojo gan,poconk pun pengen tenar dgn lipssing...100% ngakak+vid (http://ceriwis.us/showthread.php?p=268949262#post268949262)









</div>