Meninggalkan FortiClient: Solusi VPN Ringan & Open Source
Frans Filasta Pratama
Software Engineer
Beberapa hari lalu, saya mengalami kendala teknis yang cukup mengganggu. Saat sedang harus menangani edge cases pada server production, tiba-tiba menu login di FortiClient VPN saya menghilang.
Saya kemudian menghubungi kolega di Pusdatin untuk menanyakan apakah tersedia lisensi full version atau mungkin rekomendasi software alternatif lain. Rekan saya menyarankan untuk mencoba menghapus dan menginstall ulang aplikasi terlebih dahulu. Namun setelah dicoba, sayangnya cara tersebut belum berhasil memulihkan akses saya.
Karena kebutuhan akses ke server cukup mendesak, saya mencoba mencari solusi lain di internet dengan kata kunci: "Forticlient opensource alternative". Tadaa hasil yang keluar adalah openfortivpn (https://github.com/adrienverge/openfortivpn). Lalu saya coba saja install.
Instalasi: Mac & Linux Friendly
Kelebihan utama tool ini adalah ketersediaannya di berbagai OS.
Untuk Pengguna macOS (Apple Silicon): Karena saya menggunakan MacBook, instalasi sangat mudah via Homebrew:
brew install openfortivpnUntuk pengguna Linux, saya menggunakan Ubuntu. Instalasi via APT:
sudo apt update
sudo apt install openfortivpnPercobaan Koneksi Pertama
Selanjutnya saya coba connect dengan credential yang biasa digunakan untuk connect ke jaringan internal:
sudo openfortivpn vpn-gateway:8443 --username=fooHasilnya: Gagal.
Terminal menolak koneksi karena masalah sertifikat keamanan (trusted-cert). Namun dari output openfortivpn terdapat hash trusted-cert yang dapat digunakan jika kita percaya bahwa koneksi ini aman.
Coba lagi untuk connect dengan menambahkan sertifikat tersebut:
sudo openfortivpn vpn-gateway:8443 --username=foo --trusted-cert=sha256:1234567890Berhasil! Tapi sangat tidak praktis.
Membuat Konfigurasi Permanen
Selanjutnya saya coba baca dokumentasi di Github, ternyata kita bisa menyimpan config ini ke dalam file config.
- Di macOS: File ini dapat dilihat di /opt/homebrew/etc/openfortivpn/config
- Di Linux: File ini dapat dilihat di /etc/openfortivpn/config
Isinya kurang lebih seperti ini. Tinggal sesuaikan saja:
host = vpn-gateway
port = 8443
username = foo
set-dns = 0
pppd-use-peerdns = 0
# X509 certificate sha256 sum, trust only this one!
trusted-cert = e46d4aff08ba6914e64daa85bc6112a422fa7ce16631bff0b592a28556f993dbSetelah itu, saya hanya perlu menjalankan perintah berikut:
sudo openfortivpn -c /opt/homebrew/etc/openfortivpn/configSimplifikasi dengan Alias (Fish & Bash)
Setelah menyimpan file tersebut saya coba buatkan alias agar lebih praktis.
- Dengan Fish: Karena saya menggunakan shell fish, lokasi untuk menambahkan alias ada di ~/.config/fish/config.fish
Untuk kasus saya, alias yang saya berikan adalah connectdc:
alias connectdc='sudo openfortivpn -c /opt/homebrew/etc/openfortivpn/config'Simpan lalu source file config-nya:
source ~/.config/fish/config.fish- Dengan Bash: Jika kalian menggunakan Bash, edit file ~/.bashrc. Jika Zsh, edit ~/.zshrc. Tambahkan baris yang sama (sesuaikan path config-nya):
alias connectdc='sudo openfortivpn -c /etc/openfortivpn/config'Simpan lalu source file config-nya:
source ~/.bashrcMari kita coba:
connectdc
Penutup
Selesai.
Lebih praktis bukan? Jadi kepikiran buat GUI-nya.