GNU/Linux >> Belajar Linux >  >> Panels >> OpenVPN

Menyiapkan server OpenVPN dengan Ubiquiti EdgeRouter (EdgeOS) dan Viskositas

Virtual Private Networks (VPNs) dapat digunakan untuk sejumlah aplikasi yang sangat berguna. Anda dapat terhubung dengan aman ke hotspot WiFi publik mana pun. Anda dapat mengatasi pembatasan pemblokiran geografis di situs web favorit Anda. Dan Anda bahkan dapat terhubung ke jaringan rumah atau kantor Anda dari mana saja di dunia, seolah-olah Anda sedang duduk tepat di meja Anda. Panduan ini akan memandu Anda melalui proses pengaturan server OpenVPN Anda sendiri, dan menghubungkannya dengan salinan Viskositas Anda.

Menjalankan server OpenVPN Anda sendiri akan memungkinkan Anda untuk mengenkripsi semua yang Anda lakukan di internet, sehingga Anda dapat melakukan perbankan online dengan aman menggunakan WiFi gratis di kafe favorit Anda. Apa pun yang Anda kirim melalui koneksi VPN akan dienkripsi dari perangkat Anda hingga mencapai server OpenVPN Anda di rumah. Menyiapkan server OpenVPN Anda untuk mengakses jaringan rumah atau kantor Anda memberi Anda akses penuh ke semua file Anda di jaringan Anda.

Panduan ini akan memandu Anda melalui langkah-langkah yang terlibat dalam menyiapkan server OpenVPN di Ubiquiti EdgeRouter (EdgeOS) yang memungkinkan Anda mengakses jaringan rumah/kantor Anda dengan aman dari lokasi yang jauh dan secara opsional mengirim semua lalu lintas jaringan Anda melaluinya sehingga Anda dapat mengakses internet dengan aman juga. Panduan ini ditulis menggunakan Ubiquiti EdgeRouter Lite, tetapi harus bekerja dengan perangkat Ubiquiti apa pun yang menjalankan EdgeOS v1.9 atau yang lebih baru.

Panduan ini tidak akan menangani masalah apa pun yang terkait dengan pengaturan router Anda. Router yang menjalankan EdgeOS kemungkinan akan bertindak sebagai router itu sendiri, jadi kami akan berasumsi bahwa Ubiquiti EdgeRouter terhubung langsung ke internet dengan alamat IP-nya sendiri.

Persiapan

Untuk panduan ini, kami berasumsi:

  • Anda memiliki Ubiquiti EdgeRouter yang sudah berfungsi dan menjalankan EdgeOS (juga dikenal sebagai "Perangkat Lunak EdgeMax") v1.9 atau yang lebih baru.
  • Router Anda telah disiapkan dengan setidaknya satu WAN dan satu antarmuka LAN
  • Anda terhubung dengan Ubiquiti EdgeRouter Anda melalui koneksi LAN.
  • Hanya wizard pengaturan awal untuk mengatur router Anda dengan antarmuka WAN dan LAN yang telah dijalankan.
  • Anda sudah memiliki salinan Viskositas yang terinstal di perangkat klien Anda

Informasi lebih lanjut tentang produk Ubiquiti EdgeRouter dan EdgeOS dapat ditemukan di https://www.ubnt.com/broadband/#edgemax. Pembaruan produk untuk router Anda dapat ditemukan di https://www.ubnt.com/download/. Jika Anda ingin menyiapkan server OpenVPN pada sistem operasi yang berbeda, silakan lihat panduan kami yang lain.

Jika Anda belum memiliki salinan Viscosity yang sudah terinstal di klien Anda, silakan lihat panduan penyiapan ini untuk menginstal Viscosity (Mac | Windows).

Dukungan

Sayangnya kami tidak dapat memberikan dukungan langsung apa pun untuk menyiapkan server OpenVPN Anda sendiri. Kami memberikan panduan ini sebagai rasa hormat untuk membantu Anda memulai, dan memaksimalkan, salinan Viskositas Anda. Kami telah menguji secara menyeluruh langkah-langkah dalam panduan ini untuk memastikan bahwa, jika Anda mengikuti petunjuk yang dirinci di bawah ini, Anda seharusnya sudah siap untuk menikmati manfaat menjalankan server OpenVPN Anda sendiri.

Untuk informasi lebih lanjut atau bantuan dengan Edgerouter Anda, lihat forum komunitas di https://community.ubnt.com/t5/EdgeRou.../EdgeMAX

Memulai

Kami akan menganggap bahwa Anda telah menyiapkan antarmuka jaringan seperti itu:

  • 'Internet' - eth0 atau pppoe0 terhubung ke internet
  • 'Lokal' - eth1 terhubung ke jaringan rumah lokal Anda

Membuat Sertifikat dan Kunci

Langkah selanjutnya adalah membuat konfigurasi Anda untuk server dan klien Anda serta sertifikat untuk menyertainya. Anda dapat melakukannya dengan mudah dengan mengikuti Panduan Membuat Sertifikat dan Kunci. Hasilkan semua yang ada di PC atau Mac Anda, lalu catat jalur ke server Anda folder yang dibuat, kita akan menggunakan file di sini nanti.

Jika Anda menggunakan Server DNS default (10.8.0.1), Anda harus menyiapkan server DNS sendiri, petunjuknya ada di akhir artikel ini. Sebaiknya gunakan server DNS yang ada, server DNS yang tersedia untuk umum seperti milik Google (8.8.8.8 dan 8.8.4.4) adalah yang termudah.

Sekarang kita perlu menyalin file berikut ke /config/auth/ direktori di Edgerouter Anda yang akan berada di server folder yang openvpn-generate baru saja dibuat, kami sarankan menggunakan SCP. Jika Anda tidak terbiasa dengan SCP, kami memiliki beberapa bantuan tentang cara mentransfer file dengan SCP di Panduan Pengenalan kami.

  • ca.crt
  • server.crt
  • server.key
  • dh.pem

Jika Anda menggunakan SCP dari baris perintah, contoh perintahnya adalah
scp path/to/server/ca.crt [email protected]:/config/auth/

Konfigurasi Server OpenVPN

Pada saat penulisan, EdgeOS tidak menyertakan antarmuka GUI untuk menyiapkan server OpenVPN seperti halnya untuk protokol VPN lainnya. Namun untungnya, semua alat tersedia di router untuk dapat dengan mudah mengonfigurasi server OpenVPN melalui baris perintah.

Anda dapat mengakses antarmuka baris perintah router Anda dalam berbagai cara. Untuk tujuan panduan ini, kami akan menggunakan antarmuka baris perintah yang disertakan dalam portal web. Untuk mengakses ini, buka halaman web dan navigasikan ke Alamat IP perangkat EdgeRouter Anda (https://192.168.1.1 secara default). Login, lalu klik tombol CLI di pojok kanan atas halaman ini. Ini akan membuka jendela CLI latar belakang hitam di browser Anda. Anda dapat masuk ke ini menggunakan detail yang sama dengan yang Anda gunakan untuk masuk ke halaman web EdgeOS.

Untuk pengguna yang lebih mahir, panduan ini juga dapat diikuti dengan mengakses perangkat melalui Konsol atau SSH.


Ada sejumlah pengaturan berbeda yang perlu kami sesuaikan dalam konfigurasi server OpenVPN kami. Di terminal, masuk ke mode konfigurasi dengan mengetik:

configure

Anda akan melihat perubahan cepat dari $ ke # . Jika Anda salah memasukkan perintah konfigurasi berikut, Anda dapat menghapus perintah yang dimasukkan sebelumnya dengan mengulanginya, tetapi mengganti kata 'set' di awal dengan kata 'delete'.

Rekatkan yang berikut ini ke jendela terminal:

# Configure this OpenVPN instance to run as the VPN server
set interfaces openvpn vtun0 mode server

# The OpenVPN server needs to know the location of the Diffie Hellman file
#NOTE: Depending on how you generated your keys, this file name might be 'dh.pem' instead
set interfaces openvpn vtun0 tls dh-file '/config/auth/dh.pem'

# Our VPN connection will be transported over UDP
set interfaces openvpn vtun0 openvpn-option "--proto udp"

# The server needs to keep a record of client virtual IP addresses so that they
# can be reassigned if the server goes down
set interfaces openvpn vtun0 openvpn-option "--ifconfig-pool-persist ipp.txt"

# To ensure that each side of the VPN knows if the connection has been severed,
# we want to ping each side every 10 seconds. If either side fails to recieve a
# ping within 2 minutes, then it will assume the other side is down
set interfaces openvpn vtun0 openvpn-option "--keepalive 10 120"

# There can be security issues if you run the OpenVPN server as root, so we will
# downgrade the user and group
set interfaces openvpn vtun0 openvpn-option "--user nobody --group nogroup"

# To avoid attempting to access resources that may no longer be accessible on
# restart
set interfaces openvpn vtun0 openvpn-option "--persist-key --persist-tun"

# To write (and rewrite) a short summary of current VPN connections every minute
# to a file
set interfaces openvpn vtun0 openvpn-option "--status openvpn-status.log"

# The verbosity of this connection logging (displayed in the Viscosity 'Details'
#  window) can range from 0 (silent) to 9 extremely verbose. We will use the 
# default of 3
set interfaces openvpn vtun0 openvpn-option "--verb 3"

# To prevent more than 10 duplicates of the same log message in a row from
# flooding the Viscosity log
set interfaces openvpn vtun0 openvpn-option "--mute 10"

# The credential files
set interfaces openvpn vtun0 tls ca-cert-file '/config/auth/ca.crt'
set interfaces openvpn vtun0 tls cert-file '/config/auth/server.crt'
set interfaces openvpn vtun0 tls key-file '/config/auth/server.key'

# The server will use the default OpenVPN port (1194)
set interfaces openvpn vtun0 openvpn-option "--port 1194"

# We need the VPN to create a tun network interface through which we can 
# route all our traffic:
set interfaces openvpn vtun0 openvpn-option "--dev vtun0"

# The VPN requires a private IP subnet. We will use the default OpenVPN IP
# subnet
set interfaces openvpn vtun0 server subnet '10.8.0.0/24'

# We want VPN clients connected to this server to be able to access any hosts
# accessible on your home network. We are assuming that your local network
# subnet is 192.168.0.x/24. If it is something else, you will need to change the
# IP address in the command below.
set interfaces openvpn vtun0 server push-route 192.168.0.0/24

#Set the OpenVPN server to push a DNS server to clients. This can be your local DNS
#which we setup later, an external DNS of your choice, or you can omit this command
#to setup DNS on the client only.
set interfaces openvpn vtun0 server name-server 192.168.1.1

# For enhanced security, set a cipher and auth hash
set interfaces openvpn vtun0 openvpn-option "--cipher AES-256-CBC"
set interfaces openvpn vtun0 openvpn-option "--auth SHA256"

# Lastly, we want to allow hosts on the home network to be able to see VPN
# clients connected to the OpenVPN server
set interfaces openvpn vtun0 openvpn-option "--client-to-client"

#Save and end the configuration
commit
save
exit

Berikan perhatian khusus pada alamat IP di set interfaces openvpn vtun0 server push-route 192.168.0.0/24 . Pastikan subnet ini cocok dengan subnet IP LAN rumah/kantor Anda. Jika Anda tidak menyiapkan server VPN ini untuk mengakses LAN rumah/kantor Anda, Anda dapat melewati baris ini sama sekali.

Kami sekarang selesai dengan baris perintah, segala sesuatu yang lain dapat dilakukan dari EdgeOS GUI melalui browser web. Selanjutnya, login ke rute Anda melalui browser pilihan Anda, dan Anda akan melihat antarmuka OpenVPN baru di Dasbor.


Aturan Firewall

Jika Anda menggunakan pengaturan firewall default, kita hanya perlu menyiapkan beberapa hal. Pertama, kita perlu mengaktifkan penyamaran NAT untuk antarmuka VPN. Untuk melakukan ini, buka browser web, navigasikan dan login ke perangkat EdgeRouter Anda. Selanjutnya, klik Firewall/NAT tab di bagian atas jendela, lalu pilih NAT tab yang muncul di bawahnya. Klik Tambahkan Aturan Nat Sumber dan konfigurasikan opsi berikut:

  • Deskripsi - OpenVPN MASQ eth0
  • Pilih "Gunakan Masquerade"
  • Pilih "Semua protokol"
  • Antarmuka Keluar - eth0
  • Alamat Src - 10.8.0.0/24


Kemudian klik Simpan. Kita perlu menambahkan aturan untuk setiap antarmuka yang kita inginkan agar klien OpenVPN dapat berkomunikasi, jadi minimal kita perlu menambahkan satu lagi. Klik Tambahkan Aturan Nat Sumber lagi dan konfigurasikan opsi berikut:

  • Deskripsi - OpenVPN MASQ eth1
  • Pilih "Gunakan Masquerade"
  • Pilih "Semua protokol"
  • Antarmuka Keluar - eth1
  • Alamat Src - 10.8.0.0/24


Kemudian klik Simpan.

Selanjutnya kita perlu mengkonfigurasi aturan firewall untuk memungkinkan kita terhubung ke server OpenVPN ketika kita berada di luar jaringan lokal, seperti di jalan atau di kedai kopi. Untuk melakukannya, klik Firewall/NAT tab, lalu klik Kebijakan Firewall tab yang muncul di bawah


Anda akan melihat kumpulan aturan di sini bernama WAN_LOCAL . Kami ingin menambahkan aturan baru untuk ini, jadi klik Tindakan di sebelah kanan dan pilih Edit Aturan Aturan . Di jendela baru yang muncul, klik Tambahkan Aturan Baru dan isi detail berikut:

Tab Umum:

  • Deskripsi - Izinkan koneksi eksternal ke OpenVPN
  • Tindakan - Terima
  • Protokol - UDP


Tab Tujuan:

  • Pelabuhan - 1194


Klik Simpan , lalu klik Simpan Kumpulan Aturan . Anda seharusnya sekarang dapat terhubung ke server OpenVPN Anda dari lokasi eksternal.

Server DNS

Jika Anda berencana untuk mengenkripsi semua lalu lintas jaringan melalui server VPN Anda, maka disarankan untuk mengaktifkan server DNS Anda sendiri. EdgeOS memiliki penerus DNS bawaan yang dapat kita gunakan untuk menyediakan server DNS kita sendiri untuk koneksi VPN, guna mencegah serangan terkait DNS.

Jika router Anda sudah disiapkan untuk jaringan lokal Anda (dan Anda memasukkan perintah untuk menggunakan router Anda sebagai DNS untuk OpenVPN), sangatlah mudah untuk menggunakan kembali pengaturan DNS lokal Anda.

Untuk melakukan ini, buka browser web, navigasikan dan login ke perangkat EdgeRouter Anda. Klik Layanan tab, lalu klik DNS tab yang muncul di bawahnya. Klik Tambahkan Antarmuka Dengarkan , pilih vtun0 di tarik-turun baru yang muncul, lalu klik Simpan di bawahnya.

Menyiapkan Viskositas

Langkah terakhir adalah mengatur Viskositas. Berkat openvpn-generate, ini semudah mengimpor dan menghubungkan.

Mengimpor

Salin file *.visz yang Anda buat dengan openvpn-generate ke mesin Mac atau Windows Anda dengan Viscosity terinstal dan klik dua kali file tersebut. Anda akan melihat konfirmasi bahwa konfigurasi berhasil diimpor.

Setelah diimpor, edit koneksi Anda dan buka tab Advanced. Tambahkan dua perintah berikut pada baris baru:

cipher AES-256-CBC
auth SHA256

Kemudian klik Simpan untuk menyimpan perubahan ini.

Menghubungkan dan Menggunakan Koneksi VPN Anda

Anda sekarang siap untuk terhubung. Klik ikon Viskositas di bilah menu macOS atau baki sistem Windows untuk membuka Menu Viskositas, pilih koneksi yang Anda impor, dan Viskositas akan terhubung.

Untuk memeriksa apakah VPN aktif dan berjalan, Anda dapat membuka jendela Detail dari Menu Viskositas. Ini akan memungkinkan Anda untuk melihat detail koneksi, lalu lintas, dan log OpenVPN.



Itu saja, Anda telah menyiapkan server OpenVPN Anda sendiri. Selamat, Anda sekarang bebas menikmati keuntungan mengoperasikan server OpenVPN Anda sendiri!


OpenVPN
  1. Apache dengan Tomcat, Panduan Instalasi dan Konfigurasi Langkah-demi-Langkah

  2. Cara menginstal dan menghosting server OpenVPN dengan Docker

  3. Instal dan Konfigurasi OpenVPN Server FreeBSD 12

  1. Cara Mengatur dan Mengonfigurasi Server OpenVPN di Ubuntu 22.04

  2. Menyiapkan server Kebingungan dengan Obfsproxy dan Viskositas

  3. Menyiapkan server OpenVPN dengan CentOS dan Viscosity

  1. Menyiapkan server OpenVPN dengan DD-WRT dan Viskositas

  2. Menyiapkan server OpenVPN dengan Netgear dan Viscosity

  3. Menyiapkan server OpenVPN dengan Okta Single Sign-on Web Authentication dan Viscosity