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

Menyiapkan server OpenVPN dengan Red Hat Linux dan Viscosity

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 pada host Red Hat Linux 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.

Persiapan

Untuk panduan ini, kami berasumsi:

  • Anda telah menginstal versi terbaru Red Hat Enterprise Linux (8.4 pada saat penulisan)
  • Anda memiliki root akses ke instalasi ini
  • Ketahui nama antarmuka jaringan Anda (petunjuk tepat di bawah)
  • Instalasi Red Hat ini adalah instalasi baru
  • Anda sudah memiliki salinan Viskositas yang terinstal di perangkat klien Anda

Jika Anda perlu mengunduh dan menginstal salinan Red Hat, salinan evaluasi dapat ditemukan di https://access.redhat.com/products/re.../evaluation. Kami tidak akan membahas detail penyiapan instans Red Hat, banyak panduan dapat ditemukan secara online. Jika Anda menjalankan versi Red Hat yang berbeda, kemungkinan besar banyak atau bahkan semua langkah yang diuraikan dalam panduan ini akan tetap berlaku. 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).

Untuk mendapatkan nama Antarmuka Jaringan Utama (Akses WAN), jalankan yang berikut ini di Server RHEL Anda:
ip route | grep default | awk 'NR==1 {print $(NF-4)}'

Jika Anda memiliki antarmuka jaringan kedua untuk mengakses mesin di jaringan lokal Anda, Anda akan memerlukan nama ini juga saat menyiapkan firewall dan perutean.

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 RHEL, dukungan ditawarkan di https://www.redhat.com/en/services/support

Komunitas dan forum RHEL yang tak terhitung jumlahnya juga dapat dicari dengan mudah di seluruh Internet.

Mengakses Antarmuka Baris Perintah

Langkah-langkah yang diuraikan dalam panduan ini dilakukan melalui antarmuka baris perintah (yaitu terminal) di server RHEL Anda. Jika Anda menjalankan server ini dari jarak jauh, Anda harus menggunakan aplikasi SSH untuk menghubungkan dengan aman antara perangkat klien Anda dan server (untuk "SSH ke" server Anda). Jika Anda menyiapkan server OpenVPN Anda di server pribadi virtual (VPS), Anda mungkin hanya terbiasa dengan antarmuka web. Banyak pemasok VPS menyediakan akses SSH selain antarmuka web. Silakan berkonsultasi dengan penyedia VPS Anda untuk detailnya.

Jika Anda baru mengenal SSH, kami memiliki beberapa petunjuk di Panduan Pengenalan kami.

Memulai

Setelah masuk ke root, kita perlu memastikan bahwa repositori Red Hat sudah diperbarui dengan mengetikkan yang berikut:

yum update

Ini akan berjalan melalui dan memperbarui paket yang sudah diinstal sebelumnya. Jika ada pembaruan yang ditemukan, Anda akan ditanya apakah ingin melanjutkan. Konfirmasikan bahwa Anda melakukannya dengan memasukkan y . Anda mungkin diberi tahu bahwa Anda perlu memulai ulang setelah upgrade paket selesai. Jika demikian, pastikan untuk masuk kembali ke terminal sebagai root setelah memulai ulang.

Selanjutnya kita perlu menginstal EPEL (Paket Ekstra untuk Enterprise Linux), karena ini berisi paket OpenVPN. Untuk RHEL 8 jalankan yang berikut ini:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
ARCH=$( /bin/arch )
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"

Untuk rilis RHEL lainnya, ikuti petunjuk EPEL di sini .

Selanjutnya instal OpenVPN:

yum install openvpn -y

Membuat Konfigurasi, 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. Anda dapat mengikuti bagian untuk Linux menggunakan penginstal RHEL RPM dan menyalin konfigurasi klien Anda dari server (kami menyarankan ini), atau membuat semua yang ada di PC atau Mac Anda dan menyalin server folder yang dihasilkan ke server RHEL Anda.

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.

Setelah Anda membuat Konfigurasi Anda, Anda perlu mentransfer konfigurasi server ke server Anda, atau mentransfer konfigurasi klien Anda dari server Anda. Jika Anda memiliki akses lokal, drive USB adalah yang termudah. Jika tidak, kami memiliki beberapa bantuan tentang cara mentransfer file dengan SCP di Panduan Pengenalan kami.

Penerusan IP

Untuk meneruskan permintaan kami melalui VPN, kami ingin server OpenVPN bertindak seperti router. Karena itu, kita perlu mengaktifkan penerusan IP.

  1. Di terminal, kita dapat mengaktifkan penerusan IP di server Red Hat dengan memasukkan:
    echo 1 > /proc/sys/net/ipv4/ip_forward
  2. Untuk memastikan bahwa host di jaringan rumah/kantor dapat menemukan server VPN, kita perlu membuat server merespons setiap permintaan ARP:
    echo 1 > /proc/sys/net/ipv4/conf/ens33/proxy_arp
    di mana ens33 adalah antarmuka jaringan jaringan rumah/kantor jika Anda memiliki dua antarmuka jaringan, atau
  3. Setiap kali kita me-reboot server, perintah ini akan dibatalkan. Untuk memastikan hal itu tidak terjadi, kita perlu memodifikasi file sysctl.conf:
    nano /etc/sysctl.conf
  4. Tambahkan baris berikut ke bagian bawah file ini:
    net.ipv4.ip_forward = 1
    dan
    net.ipv4.conf.ens33.proxy_arp = 1
  5. Tekan ctrl + x untuk keluar dari nano. Simpan perubahan saat diminta.
  6. Untuk mengaktifkan perubahan yang dibuat pada file sysctl.conf, ketik:
    sysctl -p /etc/sysctl.conf

Aturan Firewall

Kami akan menggunakan firewalld firewall diinstal secara default di Red Hat. Jika Anda menginstal OpenVPN di server yang sudah memiliki pengaturan firewall sendiri, pastikan untuk menambahkan aturan untuk mengizinkan lalu lintas OpenVPN kami. Namun, jika ini hanya server Red Hat mandiri yang sederhana, pengaturan firewall di bawah ini seharusnya cukup untuk mengaktifkan dan menjalankan server OpenVPN Anda.

  1. Izinkan openvpn layanan:
    firewall-cmd --permanent --add-service=openvpn
    firewall-cmd --add-service=openvpn
  2. Setel server OpenVPN untuk menyediakan masquerade:
    firewall-cmd --permanent --add-masquerade
    firewall-cmd --add-masquerade
  3. Izinkan port OpenVPN (1194):
    firewall-cmd --permanent --add-port=1194/udp
  4. Izinkan port DNS (53):
    firewall-cmd --permanent --add-port=53/udp
  5. Mulai ulang firewall dengan setelan baru ini:
    firewall-cmd --reload

Memulai Server OpenVPN

Pada titik ini dasar-dasarnya selesai. Konfigurasi server dan file Anda harus disalin di server dari tempat Anda membuatnya.

Pertama, salin file konfigurasi server ke direktori OpenVPN:

sudo cp /path/to/configs/server/* /etc/openvpn/

Sekarang mulai server Anda, dan aktifkan untuk memulai setelah reboot juga.

systemctl -f enable [email protected]
systemctl start [email protected]

Untuk memeriksa status server, masukkan:

systemctl -l status [email protected]

Yang harus dibalas dengan status dan berwarna hijau, Anda akan melihat:

...
Active: active (running)
...

Server OpenVPN Anda sekarang aktif dan berjalan dan siap untuk Anda sambungkan.

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.

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!

Server DNS Dasar

Jika Anda memilih untuk menjalankan server DNS Anda sendiri untuk klien, berikut ini adalah contoh penyiapan untuk server DNS bind.

  1. Untuk menginstal server DNS, ketik:
    yum install bind bind-utils bind-libs bind-chroot
  2. Untuk menyiapkan aturan penerusan untuk server DNS kami, kami akan memodifikasi file konfigurasi:
    nano /etc/named.conf
  3. Di bagian atas Anda akan melihat kumpulan instruksi bertanda opsi . Sisipkan dua baris berikut di bagian bawah daftar opsi:
    forwarders {8.8.8.8;8.8.4.4;}; #IP of upstream nameservers
    forward only; #rely completely on our upstream nameservers
    tempat kami menggunakan server DNS Google (Anda bebas menggunakan layanan resolusi DNS pilihan Anda).
  4. Tambahkan subnet VPN (10.8.0.0/24) ke dengarkan dan perbolehkan kueri parameter di atas opsi sehingga sekarang terlihat seperti:
    ...
    listen-on port 53 { 10.8.0.0/24;127.0.0.1; };
    ...
    allow-query {10.8.0.0/24;localhost; };
    ...
  5. Tekan ctrl + x untuk keluar dari nano. Simpan perubahan saat diminta.
  6. Setel izin file conf ke 644:
    chmod 644 /etc/named.conf

Karena file conf ini sensitif terhadap kesalahan, kita dapat memeriksanya dengan mengetik:

named-checkconf /etc/named.conf

Jika file konfigurasi Anda tidak mengandung kesalahan, perintah ini tidak akan mengembalikan apa pun.

  1. Buka daftar server nama:
    nano /etc/resolv.conf
  2. Setel resolver server untuk menunjuk ke dirinya sendiri:
    nameserver 127.0.0.1
  3. Tekan ctrl + x untuk keluar dari nano. Simpan perubahan saat diminta.
  4. Jika server Red Hat Anda dijalankan pada router dengan layanan DHCP, Anda perlu memastikan bahwa file resolv.conf tidak ditimpa saat perpanjangan sewa DHCP. Ketik:
    nano /etc/sysconfig/network-scripts/ifcfg-ens32
    Ganti ens33 dengan nama Antarmuka Jaringan Utama Anda jika berbeda (Lihat bagian Persiapan untuk informasi lebih lanjut)
  5. Pastikan bahwa tiga parameter berikut telah disetel:
    BOOTPROTO=dhcp
    PEERDNS=no
    TYPE=Ethernet
  6. Tekan ctrl + x untuk keluar dari nano. Simpan perubahan saat diminta.
  7. Untuk memulai server DNS, ketik:
    systemctl start named
  8. Aktifkan server DNS mulai otomatis saat boot sistem:
    systemctl enable named

Itu saja, server DNS sekarang sudah siap.


OpenVPN
  1. Bagaimana cara menambahkan repositori ke Red Hat Linux dengan dan tanpa proxy

  2. Cara Termudah Untuk Menginstal Dan Mengonfigurasi Server OpenVPN Di Linux

  3. Daftarkan Red Hat Enterprise Linux dan lampirkan langganan dengan Ansible

  1. Menyiapkan server Kebingungan dengan Obfsproxy dan Viskositas

  2. Menyiapkan server OpenVPN dengan CentOS dan Viscosity

  3. Menyiapkan server OpenVPN dengan DD-WRT dan Viskositas

  1. Menyiapkan server OpenVPN dengan Netgear dan Viscosity

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

  3. Menyiapkan server OpenVPN dengan OPNsense dan Viscosity