...
🧠 Блог присвячений темі VPN і безпеки, конфіденційності даних в інтернеті. Ми говоримо про сучасні тенденції та новини, пов'язані з захистом.

Посібник із встановлення Shadowsocks [Оновлено в березні 2022 року]

22

Зараз Китай бореться за створення власної сегрегованої мережевої інфраструктури. Свобода обійти обмеження за допомогою VPN також зменшується з кожним днем. Хоча вплив не різкий. Поступово, але впевнено Китай розриває всі зв'язки з глобальним Інтернетом.

Соціальні мережі, такі як Facebook і Twitter, більше не працюють в країні. Навіть потужні пошукові системи, такі як Google, заблоковані.

Теоретично китайський уряд вирішує, що можна, а що не можна робити в Інтернеті.

Тут на допомогу приходить технологія Shadowsocks. Ця технологія дуже схожа на VPN, проте є очевидні переваги використання Shadowsocks перед традиційними VPN.

Звучить багатообіцяюче, правда? Це є. У цьому блозі я розповім вам про ShadowsocksR (SSR) і розповім вам, як створити, оптимізувати, завантажити та налаштувати сервер Shadowsocks за допомогою програмного забезпечення Shadowsocks.

Що взагалі таке Shadowsocks?

Shadowsocks — це, по суті, технологія з відкритим кодом, призначена для обходу географічних обмежень. Оскільки сервіс Shadowsocks не належить жодній компанії, будь-хто, хто володіє навичками програмування, може використовувати цю технологію та внести свій внесок у цю технологію.

Тим не менш, Shadowsocks непросто використовувати. Його створення та налаштування не для всіх і вимагає певних технічних знань.

Ось чому Shadowsocks дуже популярний серед технічно підкованих людей, особливо серед програмістів.

Порушення технології Shadowsocks

Shadowsocks по суті складається з двох компонентів. Фактичний сервер Shadowsocks і клієнтське програмне забезпечення Shadowsocks для взаємодії з сервером. Я поясню, що роблять обидва ці компоненти в окремих заголовках нижче.

Сервер Shadowsocks

  • Сервер Shadowsocks може бути де завгодно поза межами великого брандмауера Китаю.
  • Це дозволяє кільком пристроям або користувачам обійти географічні обмеження.
  • Сервер Shadowsocks можна використовувати для особистого користування або здавати в оренду для використання іншими.

Клієнтське програмне забезпечення Shadowsocks

  • Клієнтське програмне забезпечення Shadowsocks працює на різних пристроях і платформах. Підтримуються Windows, Android, iOS.
  • Клієнтське програмне забезпечення є абсолютно безкоштовним у використанні.
  • Сервер Shadowsocks можна використовувати для підключення до віддаленого сервера Shadowsocks за межами китайської юрисдикції.

Версії Shadowsocks

Оскільки ця технологія відносно нова, вона має лише дві версії. The Shadowsocks (SS) і ShadowsocksR (SSR).

Shadowsocks (SS)

  • Shadowsocks (SS) був першим випуском цієї технології.
  • Це попередник ShadowsocksR (SSR)
  • Shadowsocks (SS) застаріли за сучасними стандартами і в наш час рідко використовуються.

ShadowsocksR (SSR)

  • ShadowsocksR (SSR) є наступником Shadowsocks (SS).
  • ShadowsocksR (SSR) покращує версію SS і пропонує такі розширені функції, як шифрування.

Необхідна умова для створення власного сервера Shadowsocks

Перш ніж ви занадто захопитесь, я збираюся розібрати фактичні знання та ресурси, необхідні для створення вашого власного робочого сервера Shadowsocks.

Знайомство з обчислювальними командами

Перш ніж ви навіть подумаєте про створення власного сервера Shadowsocks, вам потрібно ознайомитися з командами Linux і як вони працюють.

Для довідки команда Linux виглядає приблизно так:

  • CD
  • Pwd
  • ls
  • Cp

Якщо ви ніколи не були знайомі з подібними командами, не витрачайте свій час і зусилля на створення сервера Shadowsocks.

Придбання облікового запису Shadowsocks і витрати на аутсорсинг

Віртуальні приватні сервери коштують недешево, вони можуть варіюватися від кількох доларів до кількох сотень доларів.

Хоча процедура оплати, пов’язана з покупкою shadowsocks, є відносно легкою, ви повинні переконатися, що ви дійсно можете дозволити собі витрати на закордонні сервери.

Крім того, вам потрібно добре володіти англійською мовою, щоб спілкуватися з глобальними постачальниками VPS.

Встановлення з'єднання з VPS

Навіть якщо ви можете дозволити собі VPS і знаєте, як працювати з командами Linux, вам все одно потрібно знати, як підключитися до віртуального приватного сервера за допомогою SSH. Це означає, що для користувача Mac вам потрібно знати, як користуватися вбудованим терміналом, а користувачі Windows повинні знати, як користуватися Putty.

Нарешті, створіть, оптимізуйте та перейдіть до конфігурації сервера Shadowsocks

Тепер, коли ви знаєте, що потрібно, щоб SSR створити свій власний сервер Shadowsocks, настав час заглибитися в реалізацію.

Щоб не зануритися в нього прямо.

Придбайте закордонний віртуальний приватний сервер

Тепер немає жорсткого правила для вибору постачальника VPS. Ви можете звернутися до будь-якого постачальника, який відповідає вашим потребам.

Якщо ви не знаєте жодного надійного постачальника VPS, ось кілька для початку:

  • DigitalOcean
  • Vultr
  • Amazon AWS

Для цього підручника я збираюся використовувати DigitalOcean.

Створіть хост VPS

Тепер, коли ви придбали DigitalOcean, вам потрібно створити віртуальний хост за допомогою VPS. Хоча це тривалий процес, він відносно легкий. Нижче я перелічу всі кроки.

  1. Перш за все, скористайтеся кнопкою «Створити », розташованою у верхній частині сторінки.
  2. Тепер виберіть опцію «Краплі» зі спадного меню.
  3. Створюючи «Краплі », виберіть параметри, зазначені в наведених нижче кроках.

Виберіть зображення

Щоб вибрати зображення, виберіть «Ubuntu », розташовану в розділі «Розповсюдження».

Виберіть розмір

Тепер виберіть потрібний розмір вашої краплі. Моя порада, виберіть найдешевший варіант із списку стандартних крапель (наприклад, 1 ГБ, 1 vCPU, 25 ГБ SSD-диск, 1 ТБ передачі, 5 доларів США на місяць).

Додати резервні копії

Просто виберіть «Ні».

Додати сховище для блоків

Просто виберіть «Ні».

Виберіть регіон центру обробки даних

Вибір центру обробки даних може бути складним. Якщо ви виберете сервер, який знаходиться занадто далеко, ви отримаєте жахливу швидкість Shadowsocks. Тому рекомендується вибирати сервери США та Азії.

З мого досвіду, сервери на Західному узбережжі, Сан-Франциско (1, 2) і сервери в Сінгапурі працювали дуже швидко.

Виберіть додаткові параметри

Просто виберіть «Ні».

Додайте ключі SSH

Використовуйте наданий відкритий ключ SSH, щоб увійти на щойно придбаний віртуальний хост.

Виберіть ім'я хоста

Тепер дайте своєму віртуальному хосту ім’я. Це може бути що завгодно.

  1. Тепер, коли ви завершили створення віртуального хоста, ви повинні побачити IP-адресу, пов’язану з вашим віртуальним хостом . Ви повинні запам’ятати цю IP-адресу, щоб знову увійти у свій обліковий запис Shadowsocks.

Підключіться до хоста за допомогою SSH:

Тепер, коли ви вже створили хост VPS, настав час підключити його за допомогою SSH. Якщо ви коли-небудь використовували SSH раніше, вам слід знати, що загальний командний рядок для встановлення з’єднання – це "ssh root@ [IP address]".

Ви можете запустити цю команду як на терміналі, так і на Putty, будь-яку з них ви скористаєтеся.

Після того, як ви успішно встановили з’єднання, вам потрібно оновити хост за допомогою команди, зазначеної нижче.

Apt-get update && apt-get upgrade -y

Встановіть ShadowsocksR:

Тепер настав час встановити ShadowsocksR. Хоча ви можете вибрати Shadowsocks (SS). Рекомендується вибрати ShadowsocksR (SSR) через його кращу продуктивність.

Зазвичай процес інсталяції був досить складним, але завдяки сценарію, наданому Teddysun, він став досить простим. Тепер ви можете запустити простий скрипт, і він автоматично встановить різні версії Shadowsocks.

Щоб інсталювати Shadowsocks SSR, підключіться до віртуального хоста як Root і запустіть команди, зазначені нижче.

  • Wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
  • Chmod +x shadowsocks-all.sh
  • ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

Як тільки ви запустите останній командний рядок, ви отримаєте запит на зразок цього: Який сервер Shadowsocks ви виберете.

Оскільки ми хочемо встановити ShadowsocksR, виберіть сервер, який відповідає ShadowsocksR.

Тепер ви отримаєте можливість ввести пароль для ShadowsocksR. Введіть пароль на ваш вибір. Переконайтеся, що ви запам’ятали цей пароль, оскільки він вам знадобиться для доступу через стіну.

Тепер ви отримаєте такий варіант: «Введіть порт для ShadowsocksR [1-65535]». Хоча ви можете вибрати будь-який порт у діапазоні, рекомендується використовувати 443.

Далі ви отримаєте такий варіант: «Будь ласка, виберіть шифр потоку для ShadowsocksR». Цей параметр в основному вимагає, щоб ви вибрали метод шифрування shadowsocks. Просто виберіть chacha20-ietf.

Після цього вам буде запропоновано «Виберіть протокол для ShadowsocksR». Просто використовуйте Origin для цієї опції.

Далі ви отримаєте такий варіант: «Будь ласка, виберіть OBFS для ShadowsocksR». Хоча ви можете вибрати будь-який режим обфускації, рекомендується вибрати http_simple_compatible.

Якщо все пройшло гладко, ви отримаєте підказку на зразок цього: «Натисніть будь-яку клавішу, щоб почати… або натисніть Ctrl+C, щоб скасувати». Оскільки ви хочете встановити ShadowsocksR (SSR), натисніть будь-яку клавішу, щоб почати процес встановлення.

Процес встановлення займає досить багато часу, тому запасіться терпінням.

Після завершення процесу встановлення ви побачите важливу інформацію про свій сервер Shadowsocks. Це включає в себе IP-адресу вашого сервера, порт сервера, obfs, метод шифрування Shadowsocks, пароль і протокол shadowsocks.

Обов’язково десь запишіть цю інформацію.

Вітаю! Тепер ви успішно встановили сервер ShadowsocksR. Якщо ви хочете змінити будь-які налаштування після встановлення, ви можете скористатися редактором, щоб змінити файл, згаданий нижче.

Nano /etc/shadowsocks-r/config.json

Після того, як ви внесете потрібні зміни, вам доведеться перезапустити ShadowsocksR. Для цього скористайтеся командою нижче.

/etc/init.d/shadowsocks-r restart

Оптимізуйте Shadowsocks, щоб збільшити швидкість вашого сервера

Цей крок необов’язковий. Однак, якщо ви хочете підвищити швидкість свого сервера, ви можете перевірити деякі додаткові методи, які я обговорював нижче.

Техніка 1. Використовуйте алгоритм контролю перевантажень Google TCP BBR і підвищте швидкість сервера

Щоб встановити алгоритм контролю перевантаження TCP BBR від Google, ми будемо використовувати скрипт Teddysun.

Після успішного підключення до хоста як root SSH вам потрібно буде запустити командний рядок, згаданий нижче.

Wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

Тепер, як і раніше, натисніть клавішу Enter, щоб почати процес встановлення. Після завершення інсталяції вам потрібно буде перезапустити хост-сервер.

Техніка 2: Збільште кількість з’єднань, які будуть виконуватися одночасно на вашому сервері

Щоб збільшити кількість підключень на вашому сервері, вам потрібно відредагувати файл «/etc/security/limits.conf».

Nano /etc/security/limits.conf

Ви також повинні додати два рядки, згадані нижче, в кінці файлу. (Два рядки, згадані нижче, також містять символ *).

* soft nofile 51200

* hard nofile 51200

Тепер вийдіть із файлу та запустіть команду, зазначену нижче.

Ulimit -n 51200

Техніка 3: Налаштуйте параметри ядра

Щоб змінити налаштування ядра, вам потрібно відредагувати файл «/etc/sysctl.conf».

Nano /etc/sysctl.conf

Тепер, як і раніше, додайте рядок, згаданий нижче, в самому кінці файлу.

Fs.file-max = 51200

Net.core.rmem_max = 67108864

Net.core.wmem_max = 67108864

Net.core.netdev_max_backlog = 250000

Net.core.somaxconn = 4096

Net.ipv4.tcp_syncookies = 1

Net.ipv4.tcp_tw_reuse = 1

Net.ipv4.tcp_tw_recycle = 0

Net.ipv4.tcp_fin_timeout = 30

Net.ipv4.tcp_keepalive_time = 1200

Net.ipv4.ip_local_port_range = 10000 65000

Net.ipv4.tcp_max_syn_backlog = 8192

Net.ipv4.tcp_max_tw_buckets = 5000

Net.ipv4.tcp_fastopen = 3

Net.ipv4.tcp_mem = 25600 51200 102400

Net.ipv4.tcp_rmem = 4096 87380 67108864

Net.ipv4.tcp_wmem = 4096 65536 67108864

Net.ipv4.tcp_mtu_probing = 1

Тепер вийдіть із редагування файлу та запустіть команду, зазначену нижче.

Sysctl -p

Нарешті, перезапустіть сервер ShadowsocksR SSR за допомогою цієї команди:/etc/init.d/shadowsocks-r restart

Ось і все, тепер ви успішно оптимізували свій сервер Shadowsocks. Тепер ви повинні отримати набагато кращу швидкість, ніж раніше.

Завантаження клієнтської програми Shadowsocks

Тепер, коли ви успішно придбали, встановили та оптимізували сервер Shadowsocks, тепер вам потрібно буде завантажити та налаштувати клієнтську програму Shadowsocks.

Для тих із вас, хто не знає, що таке клієнтська програма shadowsocks? По суті, це багатоплатформна програма, яка використовується для підключення до віддаленого сервера Shadowsocks.

Посилання для завантаження клієнтського програмного забезпечення Shadowsocks

Оскільки ми використовували версію ShadowsocksR у цьому блозі, я наводжу посилання на клієнти SSR для різних пристроїв, включаючи посилання на мобільні shadowsocks.

Основна конфігурація клієнта Shadowsocks

Налаштування клієнта Shadowsocks може бути складним. Щоб успішно отримати доступ до сервера Shadowsocks за допомогою клієнтської програми, вам потрібно буде надати IP-адресу сервера, порт, пароль, шифрування та іншу інформацію.

Усі деталі мають бути абсолютно точними, інакше ви не зможете встановити з’єднання між сервером і клієнтським додатком.

Shadowsocks підтримує режими проксі

Shadowsocks переважно підтримує два режими проксі. Нижче я коротко обговорю їх обох. Якщо ви зацікавлені в тому, щоб дізнатися більше про те, що пропонує кожен проксі-режим shadowsocks, перегляньте офіційний веб-сайт shadowsocks.

Глобальний режим

Як видно з назви, цей режим проксі дозволяє отримати доступ до всіх веб-сайтів через Shadowsocks. Якщо ви зазвичай відвідуєте регіональні заблоковані веб-сайти, режим глобального проксі може надати вам необмежений доступ.

Режим PAC

Цей режим визначає, який трафік проходить через Shadowsocks, а що ні. Він відповідає правилам, зазначеним у файлі PAC. Режим проксі-сервера PAC не рекомендується для комп’ютерів Windows, оскільки ОС уже використовує правила проксі.

Підведенню!

Отже, хлопці, це був мій повний посібник із Shadowsocks. Я детально висвітлив встановлення, конфігурацію та оптимізацію як сервера Shadowsocks, так і клієнта сервера Shadowsocks.

Сподіваюся, ви знайшли цей блог інформативним. Сподіваюся, тепер ви можете обійти всі георетракції в Китаї.

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі