VPN adalah singkatan dari Virtual Private Network.
Virtual Private Network memungkinkan komputer untuk mengirim dan menerima data dari satu jaringan pribadi ke jaringan pribadi lain yang terhubung melalui jaringan publik (Internet).
Ini berguna bagi mereka yang berada di luar intranet perusahaan, dan ingin terhubung ke jaringan kantor dengan aman untuk mengakses server internal. VPN juga berguna saat Anda menghubungkan beberapa kantor cabang secara bersamaan.
Bahkan saat Anda tidak menghubungkan beberapa kantor cabang secara bersamaan, Anda masih dapat menggunakan pengaturan VPN untuk memungkinkan karyawan Anda terhubung dari jarak jauh dari laptop mereka ke komputer. pusat data dan mengakses sistem.
Terkadang perusahaan akan membeli leased line untuk membentuk WAN (Wide Area Network), dan berkomunikasi dengan cabang-cabangnya. Meskipun Leased line aman dan andal, biayanya mahal.
VPN mengisi celah dengan menyediakan koneksi virtual point-to-point melalui jaringan publik. VPN dapat berkembang untuk mengakomodasi lebih banyak pengguna di berbagai lokasi geografis dengan mudah.
Jenis VPN
Pada tingkat tinggi, berikut ini adalah dua jenis VPN:
- Akses Jarak Jauh
- Situs-Ke-Situs
Remote Access menghubungkan komputer individu ke jaringan melalui VPN. “Situs ke Situs” menghubungkan dua jaringan bersama-sama melalui VPN.
Apa itu OpenVPN
Dari orang OpenVPN:
OpenVPN adalah daemon VPN open source oleh James Yonan. OpenVPN adalah daemon VPN yang tangguh dan sangat fleksibel. OpenVPN mendukung keamanan SSL/TLS, bridging ethernet, TCP atau UDP tunnel transport melalui proxy atau NAT, dukungan untuk alamat IP dinamis dan DHCP, skalabilitas ke ratusan atau ribuan pengguna, dan portabilitas ke sebagian besar platform OS utama.
Tutorial ini menjelaskan proses penyiapan dan konfigurasi server dan klien OpenVPN untuk Akses Jarak Jauh.
Aku. Mengonfigurasi OpenVPN – Sisi Server
1. Instal OpenVPN
Instal paket openvpn di server dan mesin klien.
$ sudo apt-get install openvpn
Gunakan manajer paket masing-masing dari distribusi yang Anda kerjakan. Jika Anda menggunakan yum, lakukan hal berikut
$ yum install openvpn
2. Buat Direktori dan atur Variabel Env
Buat direktori di dalam /etc/openvpn dan salin easy-rsa isinya untuk itu. Ini dilakukan untuk memastikan bahwa perubahan yang dilakukan pada skrip tidak akan hilang saat paket ditingkatkan. Ubah pemiliknya sebagai pengguna saat ini sehingga pengguna saat ini memiliki izin untuk membuat file.
$ sudo mkdir /etc/openvpn/easy-rsa $ sudo cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa $ sudo chown -R $USER /etc/openvpn/easy-rsa/
Selanjutnya, Edit /etc/openvpn/easy-rsa/vars untuk menyesuaikan diri dengan lingkungan Anda.
export KEY_COUNTRY="IN" export KEY_PROVINCE="TN" export KEY_CITY="CHN" export KEY_ORG="tgs" export KEY_EMAIL="[email protected]"
3. Membuat CA – Otoritas Sertifikat (Sertifikat Root)
Langkah selanjutnya dalam membangun server openvpn adalah membuat Infrastruktur Kunci Publik sehingga server dan klien dapat mengotentikasi satu sama lain.
$ cd /etc/openvpn/easy-rsa/ $ source vars $ ./clean-all $ ln -s openssl-1.0.0.cnf openssl.cnf $ ./build-ca Generating a 1024 bit RSA private key ........++++++ ......++++++ unable to write 'random state' writing new private key to 'ca.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [IN]: State or Province Name (full name) [TN]: Locality Name (eg, city) [CHN]: Organization Name (eg, company) [tgs]: Organizational Unit Name (eg, section) [changeme]: Common Name (eg, your name or your server's hostname) [changeme]: Name [changeme]:lakshmanan Email Address [[email protected]]:[email protected]
Sekali ./build-ca selesai, Anda akan melihat file bernama “ca.key ” dan “ca.crt ” di dalam /etc/openvpn/easy-rsa/keys/
Ingat bahwa “.key ” file harus dijaga kerahasiaannya.
4. Membuat sertifikat untuk Server
Langkah selanjutnya adalah membuat sertifikat untuk server Openvpn kita.
$ /etc/openvpn/easy-rsa/build-key-server vpnserver ... ... Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y
Perhatikan bahwa vpnserver adalah HOSTNAME server. Perintah ini akan mengambil input dari pengguna yang mirip dengan yang sebelumnya. Perintah ini akan membuat sertifikat dan file kunci untuk server.
5. Membuat sertifikat untuk klien
Klien VPN juga memerlukan sertifikat untuk mengautentikasi dengan server. Jika Anda ingin mengonfigurasi beberapa klien, Anda perlu membuat sertifikat untuk setiap klien secara terpisah.
$ ./build-key vpnclient1 ... ... Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y
vpnclient1 adalah nama host klien. Perintah ini akan membuat sertifikat dan file kunci untuk klien.
6. Buat parameter Diffie Hellman
$ ./build-dh
Setelah semua langkah di atas berhasil diselesaikan, Anda akan memiliki banyak file kunci dan sertifikat di dalam /etc/openvpn/easy-rsa/keys .
7. Salin sertifikat ke lokasi masing-masing
Kami telah membuat Sertifikat Root, Sertifikat Server, dan Sertifikat Klien. Kita perlu menyalinnya ke lokasi yang sesuai.
$ cd /etc/openvpn/easy-rsa/keys/ $ sudo cp ca.crt vpnserver.crt vpnserver.key dh1024.pem /etc/openvpn/ $ scp ca.crt vpnclient1.key vpnclient1.crt root@vpnclient1:/etc/openvpn
Sekarang kami telah menyalin sertifikat klien dan kunci ke mesin klien. Ingatlah untuk menggunakan media yang aman seperti scp, saat menyalin file kunci.
8. Konfigurasi Server
OpenVPN menyediakan server.conf default. Anda dapat memodifikasinya sesuai kebutuhan.
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ $ sudo gzip -d /etc/openvpn/server.conf.gz
Edit “/etc/openvpn/server.conf “.
... ca ca.crt cert vpnserver.crt key vpnserver.key dh dh1024.pem ...
Sekarang mulai server OpenVPN:
$ sudo /etc/init.d/openvpn start * Starting virtual private network daemon(s)... * Autostarting VPN 'server' $ ifconfig tun0 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
Secara default openVPN akan mencatat kesalahan dalam file syslog.
II. Mengonfigurasi OpenVPN – Sisi Klien
9. Siapkan File Konfigurasi Klien
Sekarang kita akan mengonfigurasi openVPN agar berfungsi sebagai klien. Ingat bahwa kami telah menginstal paket openvpn di klien, dan kami memiliki "ca.crt", "vpnclient1.key", vpnclient1.crt" di /etc/openvpn/
Salin contoh client.conf ke /etc/openvpn .
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
Edit /etc/openvpn/client.conf .
... # Specify that this is openvpn client client remote vpnserver 1194 ca ca.crt cert vpnclient1.crt key vpnclient1.key ...
Sekarang mulai OpenVPN di klien
$ /etc/init.d/openvpn start * Starting virtual private network daemon(s)... * Autostarting VPN 'client' $ ifconfig tun0 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255
10. Uji Pengaturan VPN
Ping vpnserver dari mesin klien untuk melihat apakah VPN berfungsi atau tidak.
$ ping 10.8.0.1 PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data. 64 bytes from 10.8.0.1: icmp_req=1 ttl=64 time=2.14 ms
Jika Anda dapat melakukan ping, maka Anda telah melakukan pengaturan yang benar.
Harap perhatikan hal berikut:
- Pastikan klien dan server menggunakan protokol dan nomor port yang sama.
- Klien dan server harus menggunakan konfigurasi yang sama terkait beberapa parameter seperti ukuran kunci, kompresi, dll…
- Jika ada masalah, tingkatkan verbositas log dalam konfigurasi dan periksa file syslog untuk pemecahan masalah.