Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Sediakan VPN yang dihoskan sendiri menggunakan Wireguard

A VPN (Virtual Private Network) membolehkan pengguna untuk menyambung ke rangkaian peribadi dari jauh seolah-olah komputer pengguna telah disambungkan terus ke rangkaian persendirian. Teknologi ini pada mulanya dibangunkan untuk membolehkan akses jauh ke rangkaian peribadi dalaman syarikat, untuk pekerja yang sebenarnya tidak hadir di lokasi rangkaian dalaman.

Pelayan VPN digunakan di lokasi rangkaian dalaman. Pelayan ini berada di rangkaian awam dan boleh diakses menggunakan klien VPN oleh pekerja. Pengesahan diperlukan untuk menyambung ke Pelayan VPN. Komunikasi antara Pelayan VPN dan Pelanggan VPN dijamin menggunakan protokol terowong. Ambil perhatian bahawa komunikasi ini mungkin disulitkan atau tidak, tetapi biasanya dalam kebanyakan protokol VPN ia disulitkan.

Satu lagi penggunaan VPN adalah untuk mendapatkan kerahsiaan apabila mengakses Internet atau untuk memintas sekatan geografi yang dikenakan semasa mengakses beberapa tapak web. Dalam kes sedemikian, rangkaian yang ingin disambungkan oleh pengguna bukanlah rangkaian peribadi, tetapi sebaliknya, ia adalah Internet.

Banyak protokol VPN telah dibangunkan selama ini. Protokol ini menggunakan protokol terowong yang berbeza dan algoritma penyulitan untuk komunikasi antara pelayan dan klien.

Satu protokol sedemikian, yang semakin digunakan secara meluas baru-baru ini, ialah Wireguard . Wireguard lebih ringan, ringkas dan lebih berprestasi berbanding protokol VPN yang digunakan secara tradisional seperti OpenVPN, IPSec. Ia telah pun dilaksanakan untuk Windows, Mac OS dan sejumlah besar pengedaran Linux. Di Linux, ia dilaksanakan sebagai modul kernel. Ia boleh didapati dalam repositori rasmi Ubuntu 20.04.

Dalam artikel ini, kita akan melihat cara menyediakan Pelayan dan Pelanggan VPN Wireguard dalam Ubuntu 20.04.

Pemasangan

Untuk artikel ini, saya menyediakan Pelayan Wireguard pada Ubuntu 20.04 Linode dan Wireguard Client pada mesin tempatan saya dengan Ubuntu 20.04.

Pakej wireguardmemasang kedua-dua Pelayan Wireguard dan Pelanggan. Jalankan arahan berikut pada kedua-dua mesin Pelayan dan mesin Pelanggan.

sudo apt install wireguard

Konfigurasi Pelayan

Kunci Keselamatan

Kami perlu menjana satu set pasangan kunci awam/peribadi untuk mengesahkan dan menjamin sambungan Wireguard. Ini boleh dilakukan menggunakan arahan berikut:

sudo su
cd /etc/wireguard
umask 077
wg genkey | tee private_key | wg pubkey > public_key

Ambil perhatian bahawa kami sedang melakukan semua tugas konfigurasi sebagai pengguna super. Sebabnya ialah akses kepada direktori /etc/wireguarddihalang untuk pengguna biasa, dan akses direktori tidak boleh diperoleh hanya dengan keistimewaan sudo untuk pengguna biasa.

Seterusnya, kami menetapkan topeng penciptaan fail kepada077 . Ini bermakna setiap kali fail baharu dicipta dalam folder ini melalui sebarang proses, kebenarannya akan ditutup secara automatik dengan 077. Cth. jika fail dicipta dalam folder ini dengan keizinan 777, ia bertopeng secara automatik dan keizinan berkesan menjadi 700. Ini dilakukan supaya hanya pemilik fail yang mempunyai semua kebenaran pada fail itu dan orang lain tidak mempunyai kebenaran.

Pada baris seterusnya, kami menjana pasangan kunci awam/peribadi untuk pelayan. Mereka disimpan dalam fail private_keydan public_key. Untuk melihat kekunci, jalankan:

cat private_key
cat public_key

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Salin kunci peribadi, kami memerlukannya dalam langkah seterusnya.

Nota: Jangan sekali-kali berkongsi kunci peribadi anda secara terbuka!

Fail Konfigurasi

Mari buat fail konfigurasi untuk Pelayan Wireguard. Anda boleh memilih mana-mana nama untuk fail tersebut. Kami akan membuat fail wg0.confdalam contoh ini.

vim wg0.conf

Tambahkan yang berikut pada fail.

[Interface]
Address = 10.20.43.1/24
SaveConfig = true
ListenPort = 51190
PrivateKey = 

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o  -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o  -j MASQUERADE

Tampalkan Kunci Peribadi yang sebelum ini kami salin ke baris 5 dalam kod di atas.

Kita perlu mengkonfigurasi Wireguard pada subnet (maya) yang berbeza daripada Alamat IP pelayan. Di sini, saya telah menggunakan 10.20.43.1 untuk pelayan dan akan menggunakan 10.20.43.2 untuk pelanggan. Mana-mana subnet boleh digunakan di sini. Untuk mendapatkan Alamat IP pelayan dan antara muka, jalankan:

ifconfig

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Bahagian yang diserlahkan ialah Alamat IP

Perhatikan Alamat IP pelayan. Ini diperlukan semasa konfigurasi klien.

Antara muka yang digunakan oleh pelayan, seperti yang dilihat dalam imej di atas, ialah eth0. Nama antara muka boleh berbeza berdasarkan rangkaian pengguna, ia boleh wlan0atau wlp2s0sekiranya pengguna disambungkan ke rangkaian WiFi menggunakan kad wayarles.

Gantikan dalam PostUpdan PostDowndengan antara muka anda; dalam contoh ini ialah eth0. PostUpdan PostDownarahan digunakan untuk menentukan arahan yang harus dijalankan apabila pelayan bermula dan berhenti masing-masing. Dalam contoh kami, kami menggunakan iptablesarahan untuk menetapkan peraturan IP supaya Alamat IP pelayan dikongsi oleh pelanggan. Peraturan akan digugurkan sebaik sahaja pelayan berhenti.

Simpan dan keluar dari fail. Apabila menggunakan vim, tekan Esc , kemudian taip :wqdan tekan Enter untuk menyimpan dan keluar.

Jika anda menggunakan ufwtembok api pada pelayan, kami perlu membenarkan sambungan UDP ke port untuk pelayan VPN, 51190.

ufw allow 51190/udp

Memulakan Perkhidmatan

Sekarang apabila konfigurasi selesai, kami boleh memulakan perkhidmatan Wireguard VPN.

Untuk membolehkan perkhidmatan bermula pada masa but, jalankan:

systemctl enable [email protected]

Ambil perhatian bahawa di sini wg0ialah nama fail konfigurasi.

Untuk memulakan perkhidmatan, jalankan:

service [email protected] start

Sahkan bahawa perkhidmatan telah berjaya dimulakan:

service [email protected] status

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Sahkan bahawa antara muka yang kami cipta dalam fail konfigurasi telah bermula, menggunakan arahan IP.

ip a show wg0

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Pelayan VPN Wireguard kini disediakan dan berjalan. Mari konfigurasikan klien sekarang.

Konfigurasi Pelanggan

Konfigurasi Pelanggan untuk Wireguard adalah lebih kurang sama dengan konfigurasi pelayan. Kami menjana kunci untuk klien, dan kemudian mencipta fail konfigurasi.

Kunci Keselamatan

Untuk menjana pasangan kunci awam/peribadi untuk pelanggan, jalankan:

sudo su
cd /etc/wireguard
umask 077
wg genkey | tee client_private_key | wg pubkey > client_public_key

Kunci awam dan peribadi untuk klien kini dijana masing-masing dalam fail client_private_keydan client_public_key.

Semak sama ada ia telah dibuat, menggunakan catarahan.

cat client_private_key
cat client_public_key

Salin kunci peribadi yang dipaparkan kerana kami perlu menambahkannya pada fail konfigurasi untuk klien.

Fail Konfigurasi

Cipta fail konfigurasi dengan sebarang nama yang anda mahu. Kami akan menciptanya dengan nama wg0-clientuntuk contoh ini.

vim wg0-client.conf

Tambah konfigurasi berikut.

[Interface]
# IP Address and Private Key of the Client
Address = 10.20.43.2/24
PrivateKey = 

[Peer]
# Public key, IP Address and Port of the Server
PublicKey = 
Endpoint = :51190
AllowedIPs = 0.0.0.0/0, ::/0

Masukkan alamat subnet untuk klien. Seperti yang diterangkan sebelum ini, kami gunakan 10.20.43.2 untuk pelanggan dalam contoh ini.

Tambahkan kunci peribadi pelanggan yang dijana dalam langkah sebelumnya ke dalam baris 4 dalam kod konfigurasi di atas.

Di bawah 'Peer', kami menambah maklumat tentang pelayan VPN Wireguard yang ingin kami sambungkan.

Masukkan kunci awam pelayan. Masukkan Alamat IP pelayan , yang kami nyatakan sebelum ini, dan port dalam format yang diberikan terhadap Endpoint . Ini ialah port yang kami tentukan dalam fail konfigurasi pelayan dan perkhidmatan VPN pada pelayan bermula.

IP yang dibenarkan hendaklah dimasukkan seperti yang diberikan (0.0.0.0/0) supaya sebarang permintaan pada IP awam dinamik yang digunakan oleh pelanggan akan sentiasa dimajukan ke pelayan VPN.

Simpan dan keluar dari fail. Apabila menggunakan vim, tekan Esc , kemudian taip :wqdan tekan Enter untuk menyimpan dan keluar.

Dayakan perkhidmatan pelanggan berjalan dengan setiap but, dan mulakannya.

systemctl enable [email protected]
service [email protected] start

Sahkan jika perkhidmatan telah bermula.

service [email protected] status

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Menambah Peer pada Pelayan

Kini kami mempunyai pelayan dan klien VPN yang sedang beroperasi. Walau bagaimanapun, terowong selamat antara kedua-duanya tidak diwujudkan melainkan kami mewujudkan sambungan peer to peer antara pelayan dan pelanggan.

Kembali ke pelayan. Mula-mula, hentikan perkhidmatan VPN .

service [email protected] stop

Seterusnya, buka fail konfigurasi untuk menambah konfigurasi untuk rakan sebaya (klien).

vim /etc/wireguard/wg0.conf

Tambahkan baris berikut pada fail.

[Peer]
PublicKey = 
AllowedIPs = 10.20.43.2/32

Sekarang, mulakan perkhidmatan VPN sekali lagi .

service [email protected] start

Itu sahaja! Ini adalah semua konfigurasi yang diperlukan untuk persediaan klien dan pelayan VPN Wireguard. Mari kita uji VPN kami sekarang.

Menguji VPN

Mula-mula, mari kita lakukan ping mudah daripada klien ke pelayan, untuk memastikan komunikasi terowong VPN berfungsi. Jalankan yang berikut pada klien :

ping 10.20.43.1

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Seterusnya, buka pelayar web dan buka mana-mana tapak web untuk menyemak sama ada anda boleh menyambung ke Internet daripada mesin klien. Anda juga boleh menyemak sambungan internet anda daripada baris arahan menggunakan wget.

wget 

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

Kini, kami telah menyemak sambungan terowong dan sambungan Internet. Jika kedua-duanya berfungsi, kita kini perlu memastikan bahawa semua trafik internet yang datang kepada pelanggan melalui pelayan.

Untuk ini, kami hanya perlu menyemak Alamat IP klien seperti yang dilihat oleh Internet. Salah satu cara untuk melakukannya ialah pergi ke whatsmyip.org . Jika tidak, daripada baris arahan, kami boleh menanyakan perkhidmatan serupa lain yang dipanggil maklumat IP, menggunakan Curl.

Jalankan yang berikut pada mesin klien

curl https://ipinfo.io/ip

Cara Menyediakan Pelayan dan Pelanggan VPN WireGuard pada Ubuntu 20.04

ya. Ia ialah Alamat IP awam Linode tempat pelayan VPN dihoskan. Beginilah cara kerahasiaan dicapai menggunakan VPN, kerana di seluruh Internet kini IP pelayan VPN dilihat dan bukan komputer anda.

Kesimpulan

Kemudahan persediaan ialah salah satu kelebihan Wireguard yang paling penting berbanding perisian VPN tradisional seperti OpenVPN, yang memerlukan pengetahuan rangkaian dan penghalaan tahap yang lebih tinggi untuk disediakan. Walau bagaimanapun, terdapat kekurangan dokumentasi rasmi terperinci untuk Wireguard yang mungkin menyebabkan masalah jika persediaan Wireguard anda mengalami ralat atau tidak berfungsi seperti yang diharapkan.

Namun begitu, Wireguard ialah pilihan yang sangat baik jika anda mahukan VPN yang dihoskan sendiri untuk komunikasi selamat melalui Internet. Untuk mengetahui lebih lanjut tentang Wireguard dan protokol serta teknologi yang digunakannya, anda boleh menyemak tapak rasmi .


Cara Memasang Pelayan FTP pada Ubuntu dalam 5 Langkah

Cara Memasang Pelayan FTP pada Ubuntu dalam 5 Langkah

Jika anda menyediakan pelayan Linux, anda memerlukan akses FTP. Ini bermakna pertama sekali memasang pelayan FTP pada Linux. Ia sepatutnya menjadi salah satu perkara pertama yang anda lakukan selepas memasang sistem pengendalian pelayan anda.

Bagaimana untuk Membetulkan arahan make: tidak dijumpai Ralat dalam Ubuntu

Bagaimana untuk Membetulkan arahan make: tidak dijumpai Ralat dalam Ubuntu

Perintah buat mungkin merupakan salah satu arahan yang paling banyak digunakan dalam ekosistem Linux. Perintah ini digunakan untuk membina dan menyusun atur cara terus daripada kod sumber.

10 Distro Linux Terbaik untuk Pembangun

10 Distro Linux Terbaik untuk Pembangun

Walaupun Linux mungkin bukan sistem pengendalian yang digemari untuk pengguna biasa, ia adalah pilihan utama untuk kebanyakan pembangun dan pengaturcara. Linux ialah OS yang lebih praktikal yang direka secara eksplisit dengan mengambil kira pengaturcaraan dan pembangun.

Bagaimana untuk Mendayakan SSH pada Ubuntu 20.04

Bagaimana untuk Mendayakan SSH pada Ubuntu 20.04

Akses mesin Ubuntu anda dengan selamat dari mana-mana sahaja

Bagaimana untuk Melumpuhkan Dok Ubuntu pada Ubuntu 20.04

Bagaimana untuk Melumpuhkan Dok Ubuntu pada Ubuntu 20.04

Kadang-kadang lebih baik meninggalkan dok dan belayar!

Cara Memindahkan Fail Linux Dengan Perintah Mv

Cara Memindahkan Fail Linux Dengan Perintah Mv

Walaupun anda mungkin sudah tahu cara mengalihkan fail dalam Linux menggunakan penyemak imbas fail GUI, anda mungkin tertanya-tanya sama ada terdapat arahan pindah dalam terminal yang membolehkan anda mengalihkan fail dengan cepat ke direktori yang berbeza. Perintah mv adalah yang anda mahukan, dan ia mudah digunakan dengan sintaksnya yang ringkas dan beberapa bendera keselamatan pilihan.

Cara Membuat Pengguna Sudo pada Ubuntu 20.04 LTS

Cara Membuat Pengguna Sudo pada Ubuntu 20.04 LTS

Berikan keistimewaan root kepada mana-mana pengguna dengan sudo pada Ubuntu 20.04 LTS

10 Pengedaran Linux Berasaskan Debian Terbaik

10 Pengedaran Linux Berasaskan Debian Terbaik

Debian standard dan cabang Ubuntu yang popular adalah pilihan yang hebat dan menyeluruh untuk sistem Linux, tetapi jika anda mempunyai keperluan yang lebih khusus, anda mungkin mahukan alternatif Debian.

Cara Memasang Git pada Ubuntu 20.04 LTS

Cara Memasang Git pada Ubuntu 20.04 LTS

Salah satu perkara pertama yang perlu anda pasang pada mesin Linux anda

Cara Kemas Kini Firefox dari Terminal pada PC Linux Ubuntu

Cara Kemas Kini Firefox dari Terminal pada PC Linux Ubuntu

Ketahui cara mengemas kini Firefox daripada Terminal pada PC Linux Ubuntu

Cara Memasang Notepadqq pada Ubuntu 20.04, Alternatif Notepad++ yang layak

Cara Memasang Notepadqq pada Ubuntu 20.04, Alternatif Notepad++ yang layak

Mencari alternatif yang sesuai untuk Notepad++ di Ubuntu? Tidak perlu mencari lebih jauh daripada aplikasi Notepadqq percuma

Cara Memasang Google Chrome pada Ubuntu 20.04

Cara Memasang Google Chrome pada Ubuntu 20.04

Panduan pantas untuk memasang Google Chrome daripada baris arahan pada Ubuntu 20.04

Cara Menukar Kata Laluan Root pada Ubuntu 20.04

Cara Menukar Kata Laluan Root pada Ubuntu 20.04

Tetapkan, tetapkan semula dan tukar kata laluan akar dalam Ubuntu 20.04

Wi-Fi Tidak Berfungsi pada Ubuntu? Inilah Cara Membetulkannya

Wi-Fi Tidak Berfungsi pada Ubuntu? Inilah Cara Membetulkannya

Ubuntu terkenal kerana kekukuhannya dan ralat yang agak sedikit. Tetapi ia bukan tanpa beg masalah, pasti. Satu masalah sedemikian ialah dengan pemandu Wi-Finya. Anda mungkin menghidupkan sistem anda hanya untuk mendapati bahawa Wi-Fi anda tidak berfungsi.

Ketahui Cara Memasang Npm dan Node.js pada Ubuntu

Ketahui Cara Memasang Npm dan Node.js pada Ubuntu

Node.js secara berkesan adalah persekitaran masa jalan JavaScript merentas platform sumber terbuka. Dengan Node.js didayakan, anda boleh menjalankan JavaScript pada mesin Ubuntu anda tanpa perlu risau tentang membuka sebarang penyemak imbas. Ia dibina pada enjin JavaScript V8 Chrome dan ia boleh dipasang dalam pelbagai cara di Linux.

10 Apl Persidangan Video Terbaik untuk Linux

10 Apl Persidangan Video Terbaik untuk Linux

Bagi pekerja bebas dan pekerja yang kerap bekerja dari rumah, komunikasi jarak jauh adalah salah satu daripada banyak perkara yang perlu dijaga. Persidangan video kini telah menggantikan mesyuarat dalam pejabat untuk kebanyakan kita. Alat seperti Zoom dan Skype telah menyaksikan peningkatan besar dalam pertumbuhan.

Cara Memasang Pelayan FTP pada Ubuntu dalam 5 Langkah

Cara Memasang Pelayan FTP pada Ubuntu dalam 5 Langkah

Jika anda menyediakan pelayan Linux, anda memerlukan akses FTP. Ini bermakna pertama sekali memasang pelayan FTP pada Linux. Ia sepatutnya menjadi salah satu perkara pertama yang anda lakukan selepas memasang sistem pengendalian pelayan anda.

Cara Mudah Menyulitkan dan Menyahsulit Fail dan Direktori dalam Linux

Cara Mudah Menyulitkan dan Menyahsulit Fail dan Direktori dalam Linux

Pernahkah anda mahu menyulitkan fail dengan cepat dan mudah dalam Linux tanpa perlu memasang dan mempelajari pakej perisian baharu? Inilah cara terbaik dan mudah untuk menyulitkan fail atau direktori dengan mudah melalui AES256 yang dijamin dengan kata laluan, membantu menjauhkan fail anda daripada mengintip.

Bagaimana untuk Membetulkan arahan make: tidak dijumpai Ralat dalam Ubuntu

Bagaimana untuk Membetulkan arahan make: tidak dijumpai Ralat dalam Ubuntu

Perintah buat mungkin merupakan salah satu arahan yang paling banyak digunakan dalam ekosistem Linux. Perintah ini digunakan untuk membina dan menyusun atur cara terus daripada kod sumber.

Cara Cari dan Keluarkan Fail Pendua pada Linux Menggunakan fdupes

Cara Cari dan Keluarkan Fail Pendua pada Linux Menggunakan fdupes

Apabila bekerja dengan sejumlah besar media dan dokumen, adalah perkara biasa untuk mengumpul berbilang salinan fail yang sama pada komputer anda. Tidak dapat dielakkan, yang berikut ialah ruang storan bersepah yang dipenuhi dengan fail berlebihan, mencetuskan pemeriksaan berkala untuk fail pendua pada sistem anda.

Distro Linux Stable vs. Bleeding-Edge: Mana Yang Perlu Anda Pilih?

Distro Linux Stable vs. Bleeding-Edge: Mana Yang Perlu Anda Pilih?

Salah satu pilihan utama yang dihadapi oleh ramai pengguna Linux apabila memilih pengedaran Linux ialah kestabilannya, atau berapa banyak perubahan perisian.

Adakah 2020 Tahun Pandemik Hasad Linux?

Adakah 2020 Tahun Pandemik Hasad Linux?

Reputasinya untuk keselamatan bermakna Linux sering dianggap kurang terdedah kepada jenis ancaman yang kerap melanda sistem Microsoft Windows. Sebilangan besar keselamatan yang dianggap itu datang daripada bilangan sistem Linux yang agak rendah, tetapi adakah penjenayah siber mula melihat nilai dalam memilih kualiti berbanding kuantiti?

Cara Muat Turun dan Pasang Pengurus Muat Turun uGet di Linux

Cara Muat Turun dan Pasang Pengurus Muat Turun uGet di Linux

Pengurus muat turun ialah alat yang popular untuk mengurus semua muat turun anda dalam satu aplikasi dan memberikan anda beberapa ciri berguna. Jika anda baru-baru ini beralih daripada sistem pengendalian Windows kepada Linux, anda mungkin sedang mencari alternatif kepada Pengurus Muat Turun Internet (IDM) yang terkenal.

Mengambil Nota Pada Chromebook Dipermudahkan Dengan Kursif

Mengambil Nota Pada Chromebook Dipermudahkan Dengan Kursif

Kursif ialah Apl Web Progresif (PWA) yang diperkenalkan oleh Google dengan keluaran HP Chromebook x2 11. Anda boleh menggunakan apl ini untuk mengambil nota tulisan tangan pada Chromebook anda yang dilengkapi stylus.

Cara Menggunakan Vim: Panduan kepada Asas

Cara Menggunakan Vim: Panduan kepada Asas

Vim ialah editor kod yang paling berkuasa dan serba boleh yang tersedia untuk sistem seperti Unix. Ia adalah lanjutan daripada editor Vi yang dibangunkan oleh Bill Joy. Vim tersedia secara lalai pada kebanyakan sistem Linux dan BSD.