LKS 2020 ITNSA Linux Part 4.1 — Remote Connectivity — VPN Tunneling — Site to Site OpenVPN
--
Halo teman-teman, Pada artikel kali ini, saya akan mencoba untuk membahas penyelesaian task Remote Connectivity bagian Site to Site Tunneling pada soal LKSN Tahun 2020 bidang lomba ITNSA. Simak sampai selesai ya..!
fw.majapahit.id
Silahkan menginstall openvpn terlebih dahulu
sudo apt install openvpn -y
Langkah selanjutnya adalah membuat dan mengkonfigurasi file openvpn yang nantinya akan digunakan sebagai file site to site tunneling.
Disini saya menggunakan sample file dari direktori docs openvpn.
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/tls-home.conf /etc/openvpn/s2s.confsudo nano /etc/openvpn/s2s.conf
Berikut ini adalah penjelasan options-options yang saya gunakan di file konfigurasi tersebut.
- dev tun0 => Berfungsi untuk menentukan nama interface tunnel yang nantinya akan dibuat dan dipergunakan oleh openvpn site to site tunneling.
- remote <network tujuan> => Berfungsi untuk menentukan address yang akan dibuat koneksi oleh openvpn
- ifconfig <ip host> <ip tujuan> => Berfungsi untuk menentukan endpoint address vpn host kita dan juga endpoint address vpn host tujuan (tunnel address).
- tls-server => Berfungsi untuk mengaktifkan TLS dan membuat proses handshaking beranggapan bahwa host saat ini adalah server.
- dh none => Berfungsi untuk menonaktifkan penggunaan file Diffie Hellman.
- ca <lokasi> => Berguna untuk menentukan file ca server.
- cert <lokasi> => Berguna untuk menentukan file ca user.
- key <lokasi> => Berguna untuk menentukan file key dari ca user.
- port 1945 => Berfungsi untuk membuat openvpn berjalan pada port 1945.
- user nobody dan group nobody=> Berfungsi agar openvpn tidak memerlukan autentikasi user atau langsung terhubung, dengan catatan sudah menggunakan certificate.
- persist-tun dan persist-key => Berfungsi untuk memaksa openvpn agar tunnel dan routing table tidak terhapus apabila openvpn sedang down atau error.
- verb 3 => Berguna untuk mengaktifkan verb di level 3
- log <lokasi> => Berguna untuk menentukan lokasi log dari openvpn
- route <network tujuan> <subnet mask tujuan> => Berguna untuk membuat routing statis ke netwotk tujuan.
Selanjutnya silahkan membuat self signed certificate yang nantinya akan digunakan openvpn untuk mengenkripsi lalu lintas pada jaringan vpn.
sudo mkdir /etc/ca/private -pcd /etc/casudo openssl req -x509 -newkey rsa:2048 -keyout private/ca.key -out ca.crt -nodes -days 365sudo chmod 644 /etc/ca/private/ca.key
*Kalian juga dapat menggunakan certificate yang sudah pernah dibuat sebelumnya, silahkan disesuaikan dengan kondisi host kalian.
Kemudian silahkan mengaktifkan file konfigurasi openvpn tadi dengan command dibawah ini.
sudo service openvpn@s2s start
fw.nusantara.id
Sama seperti host sebelumnya, silahkan menginstall openvpn dengan command dibawah ini.
sudo apt install openvpn -y
Kemudian buat file konfigurasi openvpn dengan memanfaatkan sample file dari docs openvpn seperti yang sudah dilakukan pada host sebelumnya.
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/tls-home.conf /etc/openvpn/s2s.confsudo nano /etc/openvpn/s2s.conf
Pada file konfigurasi ini, tls mode diubah menjadi client yang berfungsi agar host ini dianggap client pada saat proses Handshaking tls sedang terjadi.
Network Address dari Gajahmada-PC juga tidak di masukkan dalam file konfigurasi ini, yang akibatnya Gajahmada-PC tidak akan bisa berkomunikasi dengan network Nusantara seperti yang ada pada task.
Selanjutnya silahkan mengcopy certificate dari host fw.majapahit.id yang sudah dibuat tadi.
sudo mkdir /etc/ca/private -psudo scp kertarajasa@178.45.80.1:/etc/ca/ca.crt /etc/ca/sudo scp kertarajasa@178.45.80.1:/etc/ca/private/ca.key /etc/ca/private
Silahkan mengaktifkan file konfigurasi openvpn tersebut dengan menggunakan command dibawah ini.
sudo service openvpn@s2s start
Demikianlah pembahasan yang coba saya bagikan pada artikel kali ini. Semoga artikel pembahasan ini dapat memberikan manfaat pada penbaca.
Apabila teman teman menemukan kesalahan pada artikel kali ini, silahkan menghubungi saya di Facebook , Instagram, atau Telegram agar saya dapat segera memperbaikinya.
REFERENSI
Terimakasih banyak kepada bang Kevin Timotius serta bang M. Asnur karena telah menjawab pertanyaan saya mengenai site to site tunneling menggunakan OpenVPN sehingga artikel ini dapat terselesaikan.