GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Server Proxy Shadowsocks-libev di Ubuntu

Tutorial ini akan menunjukkan cara mengatur server proxy Shadowsocks di Ubuntu. Shadowsocks adalah proxy Socks5 yang ringan, cepat, dan aman untuk melewati sensor Internet. Kita akan belajar cara mengatur sisi server dan cara mengkonfigurasi klien desktop di Ubuntu. Ada banyak implementasi Shadowsocks, tutorial ini menunjukkan cara menggunakan Shadowsocks-libev, karena

  • Ditulis dalam bahasa C, sangat cepat bahkan pada mesin kelas bawah.
  • Terpelihara dengan baik.
  • Ini adalah implementasi yang paling kaya fitur. TCP fast open, multiuser, management API, redirect mode, tunnel mode, UDP relay, AEAD cipher, dan plugins semuanya didukung.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan:

  • VPS (Server Pribadi Virtual). Saya merekomendasikan Vultr. Mereka menawarkan VPS performa tinggi memori 512 juta hanya dengan $2,5 per bulan, yang sempurna untuk server proxy pribadi Anda.
  • Kemudian instal Ubuntu di VPS Anda.

Langkah 1:Instal Server Shadowsocks-libev di Ubuntu

SSH ke server Ubuntu jarak jauh Anda. Shadowsocks-libev disertakan dalam repositori Ubuntu sejak 17.04, sehingga Anda dapat menginstalnya dengan:

sudo apt update

sudo apt install shadowsocks-libev

Pengguna Ubuntu 16.04 dapat menginstalnya dari PPA dengan menjalankan perintah berikut. software-properties-common diperlukan jika Anda ingin menginstal perangkat lunak dari PPA. Mungkin tidak ada di server Ubuntu Anda.

sudo apt install software-properties-common -y

sudo add-apt-repository ppa:max-c-lv/shadowsocks-libev -y

sudo apt update

sudo apt install shadowsocks-libev

Perpustakaan natrium crypto (libsodium) akan dipasang bersama dengan shadowsocks-libev. Ini adalah persyaratan jika Anda ingin menggunakan metode enkripsi ChaCha20-Poly1305 yang aman dan cepat. Setelah terinstal, edit file konfigurasi.

sudo nano /etc/shadowsocks-libev/config.json

Isi default file adalah sebagai berikut.

{
    "server":["::1", "127.0.0.1"],
    "mode":"tcp_and_udp",
    "server_port":8388,
    "local_port":1080,
    "password":"ACRrobo9ymXb",
    "timeout":60,
    "method":"chacha20-ietf-poly1305"
}

Kita perlu mengubah 127.0.0.1 ke 0.0.0.0 , jadi server Shadowsocks-libev akan mendengarkan alamat IP publik. Kemudian ubah server_port ke nomor port lain seperti 8888. Kata sandi dibuat secara acak, sehingga Anda dapat membiarkannya apa adanya.

Simpan dan tutup file. Kemudian mulai ulang layanan shadowsocks-libev agar perubahan diterapkan.

sudo systemctl restart shadowsocks-libev.service

Aktifkan mulai otomatis saat boot.

sudo systemctl enable shadowsocks-libev.service

Periksa statusnya. Pastikan itu berjalan.

systemctl status shadowsocks-libev.service

Jika Anda melihat kesalahan berikut.

This system doesn't provide enough entropy to quickly generate high-quality random numbers. The service will not start until enough entropy has been collected.

Anda dapat memperbaiki kesalahan ini dengan menginstal rng-tools .

sudo apt-get install rng-tools

Kemudian jalankan

sudo rngd -r /dev/urandom

Sekarang Anda dapat memulai layanan Shadowsocks-libev.

Langkah 2:Konfigurasi Firewall

Jika Anda menggunakan firewall iptables di server Anda, maka Anda perlu mengizinkan lalu lintas ke port TCP dan UDP yang sedang didengarkan Shadowsocks. Misalnya, jika port 8888 sedang digunakan oleh Shadowsocks, jalankan perintah berikut:

sudo iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

sudo iptables -I INPUT -p udp --dport 8888 -j ACCEPT

Jika Anda menggunakan firewall UFW, jalankan perintah berikut:

sudo ufw allow 8888

Jika Anda menggunakan AWS atau Google Cloud, Anda perlu mengonfigurasi firewall di panel kontrol berbasis web.

Langkah 3:Instal dan Konfigurasi Klien Shadowsocks-libev

Desktop Ubuntu

shadowsocks-libev paket berisi perangkat lunak server dan perangkat lunak klien. Di desktop Ubuntu 20.04, 18.04, jalankan perintah berikut untuk menginstal Shadowsocks-libev.

sudo apt update

sudo apt install shadowsocks-libev

Di desktop Ubuntu 16.04, jalankan perintah berikut untuk menginstal Shadowsocks-libev.

sudo add-apt-repository ppa:max-c-lv/shadowsocks-libev -y

sudo apt update

sudo apt install shadowsocks-libev

Shadowsocks-libev (server) akan secara otomatis mulai setelah diinstal. Anda harus menghentikan server Shadowsocks di desktop Ubuntu.

sudo systemctl stop shadowsocks-libev

Juga, nonaktifkan mulai otomatis saat boot.

sudo systemctl disable shadowsocks-libev

Biner klien Shadowsocks diberi nama ss-local . Ada unit layanan systemd template untuknya: /lib/systemd/system/[email protected] . Sebelum memulai klien, kita perlu membuat file konfigurasi sisi klien. Kita dapat menyalin konfigurasi server Shadowsocks-libev ke file konfigurasi klien.

sudo cp /etc/shadowsocks-libev/config.json /etc/shadowsocks-libev/location-of-your-server.json

Anda dapat mengganti location-of-your-server dengan sesuatu seperti SFO, LAX. Kemudian edit file konfigurasi klien.

sudo nano /etc/shadowsocks-libev/location-of-your-server.json

Ubah alamat server ke alamat IP publik server Anda, dan tambahkan baris berikut untuk memberi tahu klien agar mendengarkan di 127.0.0.1.

"local_address":"127.0.0.1",

Jadi file konfigurasi klien akan terlihat seperti ini:

{
 "server":"your-server-ip-address",
 "mode":"tcp_and_udp",
 "server_port":8888,
 "local_address":"127.0.0.1",
 "local_port":1080,
 "password":"ACRrobo9ymXb",
 "timeout":60,
 "method":"chacha20-ietf-poly1305"
}

Simpan dan tutup file. Kemudian kita dapat memulai klien dengan:

sudo systemctl start [email protected]location-of-your-server.service

Dan aktifkan mulai otomatis saat boot.

sudo systemctl enable [email protected]location-of-your-server.service

Periksa statusnya. Pastikan itu berjalan.

systemctl status [email protected]location-of-your-server.service

Sekarang proses ss-local mendengarkan 127.0.0.1:1080 di desktop Ubuntu Anda dan terhubung ke server Shadowsocks Anda.

Desktop Windows

Pengguna Windows dapat mengunduh klien Shadowsocks ini. Setelah diinstal, Anda dapat menambahkan server baru di perangkat lunak klien. Tentukan alamat IP server, port dan kata sandi. Klik Apply tombol

Jika Anda memiliki beberapa server proxy, Anda dapat mengklik tombol Add tombol untuk menambahkan lebih banyak server proxy. Perhatikan bahwa Anda hanya menggunakan satu server proxy dalam satu waktu.

Langkah 4:Konfigurasi Browser Web untuk Menggunakan Proksi Socks

Untuk membuat program Anda menggunakan proksi kaus kaki, program tersebut harus mendukung proksi kaus kaki. Program seperti Firefox, Google Chrome dan Dropbox memungkinkan pengguna untuk menggunakan proxy. Saya akan menunjukkan cara mengkonfigurasi Firefox dan Google Chrome.

Firefox

Di Firefox, buka Edit> Preferensi> Umum (atau Alat -> Opsi -> Umum ). Kemudian gulir ke bawah ke bawah dan klik Setelan di Proxy Jaringan . Di Setelan Koneksi jendela, pilih konfigurasi proxy manual . Kemudian pilih SOCKS v5 karena Shadowsocks adalah proxy Socks5. Masukkan 127.0.0.1 di bidang SOCKS Host dan 1080 di bidang pelabuhan. Pastikan DNS Proksi saat menggunakan SOCKS v5 diaktifkan. Klik Oke untuk menerapkan modifikasi ini.

Google Chrome

Meskipun Anda dapat mengonfigurasi proxy untuk Google Chrome dan browser Chromium dari baris perintah, sebaiknya pasang ekstensi Proxy SwitchyOmega untuk mengelola proxy.

Setelah ekstensi dipasang di Google Chrome, konfigurasikan server proxy sebagai berikut:

  • Pilih SOCKS5 protokol.
  • Setel 127.0.0.1 sebagai alamat server.
  • Setel 1080 sebagai nomor port.

Terapkan perubahan. Kemudian klik ikon ekstensi di sudut kanan atas dan klik Proxy SwithyOmega .

Secara default, SwithyOmega menggunakan pengaturan proxy sistem operasi. Kita perlu mengubahnya dari system proxy ke proxy .

Sekarang proxy Anda seharusnya berfungsi.

Langkah 5:Uji Kebocoran DNS

Pergi ke dnsleaktest.com. Anda akan melihat alamat IP server Shadowsocks Anda, yang menunjukkan bahwa proxy Anda berfungsi.

Klik tes Standar. Pastikan ISP lokal Anda tidak ada dalam hasil pengujian.

Proxy di Baris Perintah

Agar program baris perintah Anda menggunakan proxy, Anda dapat menginstal tsocks .

sudo apt install tsocks

Kemudian edit file konfigurasi.

sudo nano /etc/tsocks.conf

Temukan baris berikut:

server = 192.168.0.1

Ubah ke

server = 127.0.0.1

Simpan dan tutup file. Sekarang Anda dapat mengizinkan program baris perintah untuk menggunakan proxy Shadowsocks seperti ini:

sudo tsocks apt update

Ada juga program serupa yang disebut proxychains.

Aktifkan TCP Fast Open

Anda dapat mempercepat Shadowsocks dengan mengaktifkan TCP fast open. TCP adalah protokol berorientasi koneksi, yang berarti data hanya dapat dipertukarkan setelah koneksi dibuat, yang dilakukan melalui jabat tangan tiga arah. Dengan kata lain, secara tradisional, data hanya dapat dipertukarkan setelah jabat tangan tiga arah selesai. TCP fast open (TFO) adalah mekanisme yang memungkinkan pertukaran data sebelum jabat tangan tiga arah selesai, menghemat hingga 1 round-trip time (RTT).

Dukungan buka cepat TCP digabungkan ke kernel Linux sejak versi 3.7 dan diaktifkan secara default sejak versi 3.13. Anda dapat memeriksa versi kernel Anda dengan menjalankan:

uname -r

Untuk memeriksa konfigurasi buka cepat TCP di server Ubuntu Anda, jalankan

cat /proc/sys/net/ipv4/tcp_fastopen

Itu dapat mengembalikan 4 nilai.

  • 0 berarti dinonaktifkan.
  • 1 artinya diaktifkan untuk koneksi keluar (sebagai klien).
  • 2 artinya diaktifkan untuk koneksi masuk (sebagai server).
  • 3 artinya diaktifkan untuk koneksi keluar dan masuk.

Semua VPS Ubuntu saya (Virtual Private Server) mengembalikan 1 setelah menjalankan perintah di atas. Kami ingin tcp_fastopen disetel ke 3 di server kami. Untuk mencapai itu, kita dapat mengedit file konfigurasi sysctl.

sudo nano /etc/sysctl.conf

Kemudian tempel baris berikut di akhir file.

net.ipv4.tcp_fastopen=3

Muat ulang setelan sysctl agar perubahan diterapkan.

sudo sysctl -p

Kemudian Anda juga perlu mengaktifkan TCP fast open di file konfigurasi Shadowsocks.

sudo nano /etc/shadowsocks-libev/config.json

Tambahkan baris berikut.

"fast_open": true

Jadi file konfigurasi server Shadowsocks Anda akan terlihat seperti ini:

{
 "server":"your-server-ip-address",
 "server_port":8388,
 "local_port":1080,
 "password":"focobguph",
 "timeout":60,
 "method":"chacha20-ietf-poly1305",
 "fast_open": true
}

Perhatikan bahwa baris konfigurasi terakhir tidak memiliki koma. Simpan dan tutup file. Kemudian restart server Shadowsocks.

sudo systemctl restart shadowsocks-libev

Periksa apakah itu berjalan. (Kesalahan dalam file konfigurasi dapat mencegahnya memulai ulang.)

systemctl status shadowsocks-libev

Anda juga perlu mengedit file konfigurasi klien Shadowsocks dan memulai ulang untuk mengaktifkan TCP fast open di desktop Ubuntu.

Aktifkan TCP BBR

TCP BBR adalah algoritma kontrol kemacetan TCP yang secara drastis dapat meningkatkan kecepatan koneksi. Lihat tutorial berikut.

  • Cara Mudah Meningkatkan Kinerja Jaringan Ubuntu dengan Mengaktifkan TCP BBR

Untuk penggunaan lebih lanjut di Shadowsocks, periksa manual.

man shadowsocks-libev

Pemecahan Masalah

Sesekali, proxy Shadowsocks-libev saya berhenti bekerja dan kesalahan berikut ditampilkan di sisi server ketika saya memeriksa status dengan systemctl .

ERROR: server recv: Connection reset by peer

Di sisi klien, kesalahan dikembalikan oleh systemctl adalah:

ERROR: remote_recv_cb_recv: Connection reset by peer

Saya tidak tahu mengapa itu terjadi, tetapi memulai ulang shadowsocks-libev layanan di server dapat memperbaiki masalah ini.

sudo systemctl restart shadowsocks-libev

Saya tidak ingin memulai ulang layanan secara manual setiap saat, jadi saya menambahkan tugas cron untuk melakukannya untuk saya secara berkala.

sudo crontab -e

Letakkan baris berikut di akhir file.

0 */3 * * * /bin/systemctl restart shadowsocks-libev

Ini akan memulai kembali layanan setiap 3 jam. Artinya, restart terjadi pada jam 12 pagi, 3 pagi, 6 pagi, 9 pagi dan seterusnya. Perhatikan bahwa waktu ditentukan oleh cron. Tidak ditentukan dengan menghitung berapa lama layanan telah berjalan.

Jika Anda melihat kesalahan berikut di log Shadowsocks-libev.

ERROR: unable to resolve www.youtube.com

Ini berarti server Shadowsocks-libev tidak berhasil menyelesaikan DNS. Sangat membantu untuk menentukan server DNS di /etc/shadowsocks-libev/config.json mengajukan. Cukup tambahkan baris berikut dalam file dan mulai ulang layanan shadowsocks-libev.

"name_server":"1.1.1.1",

Jika Anda memiliki resolver DNS sendiri yang berjalan di server Shadowsocks, Anda dapat menentukan 127.0.0.1 sebagai server nama.

"name_server":"127.0.0.1",

Ingat bahwa dalam file JSON, baris terakhir tidak diakhiri dengan koma.

Itu dia! Saya harap tutorial ini membantu Anda menginstal proxy Shadowsocks-libev di Ubuntu. Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan buletin gratis kami untuk mendapatkan lebih banyak tips dan trik 🙂


Ubuntu
  1. Cara Mengatur Server LAMP Ubuntu/Debian

  2. Cara Mengatur WireGuard di Ubuntu 22.04

  3. Cara menginstal Ansible di Ubuntu Server 21.04

  1. Cara Mengatur &Menggunakan NGINX sebagai Proxy Terbalik

  2. Cara Mengatur Nginx sebagai Proxy Terbalik di Ubuntu 20.04

  3. Cara Mengatur Server TeamSpeak di Ubuntu 16.04

  1. Cara Mengatur &Menginstal Server Proxy Squid di Ubuntu 18.04

  2. Cara Menginstal Server Web Nginx di Ubuntu 18.04

  3. Cara Mengatur Server OpenVPN di Ubuntu 18.04