Bootstrap

VPN сервер по протоколу shadowsocks

VPN сервер по протоколу shadowsocks

В этой статье мы подробнее рассмотрим настройку vpn сервера и клиента по протоколу

после создания VPS к вам на почту придут данные для входа на сервер по протоколу SSH. Для входа нужно будет знать пароль суперпользователя root, а также ip адрес сервера.

Итак, для примера, я имею следующие данные:

IP адрес VPS: 111.111.111.111
логин: root
пароль: 12345678

Мы будет работать с клиентского хоста, который тоже в OS GNU/Linux, допустим пусть это будет дистрибутив. И у нас уже должен быть настроен доступ к серверу по SSH. (Подробнее про настройку подключения по SSH).

Заходим на сервер.

ssh root@111.111.111.111


Внимание если у вас успешно настроен вход по ssh, то далее идут команды запускаемые уже на сервере. Так, как мы сразу логинемся под супер-пользователем root, приставка sudo в командах нам не потребуется.

Обновляем сервер:




apt update && apt upgrade -y

Устанавливаем пакет Shadowsocks реализация на Си есть в официальных репозиториях Debian. Вы можете установить её с помощью команды:




apt install shadowsocks-libev


На этом с установкой, всё, НО если вдруг, по каким либо причинам вы решите устанавливать из исходников, то пожалуйста:

Шаг 1. Установка необходимых пакетов в систему:




apt install pkg-config gettext build-essential autoconf libtool libpcre3-dev asciidoc xmlto libev-dev libudns-dev automake libmbedtls-dev libsodium-dev git libc-ares-dev devscripts equivs

Шаг 2. Клонирование репозитория




git clone https://github.com/shadowsocks/shadowsocks-libev.git

Далее нужно перейти в этот каталог с исходниками:




cd shadowsocks-libev/

Для обновления исходников всех зависимостей выполните команду:




git submodule update --init --recursive

Шаг 3. Сборка пакета из исходников

Для этого, в каталоге с исходниками уже написан скрипт, нам его нужно будет только запустить следующим образом(добавив этому файлу права на выполнение)




chmod a+x ./autogen.sh



./autogen.sh

и уже для сборки .deb пакета достаточно выполнить:




dpkg-buildpackage -b -us -uc

Шаг 4. Установка
После завершения выполнения команды пакеты будут находится выше текущей папки на уровень. Для их установки надо выполнить:




sudo dpkg -i ../shadowsocks-libev*.deb

(статья про установку приложений из deb пакета)


Теперь самое главное в этой процедуре, это настройка нашего shadowsocks

Конфигурационный файл shadowsocks находится здесь:

/etc/shadowsocks-libev/config.json

и его содержимое выглядит вот так:




cat /etc/shadowsocks-libev/config.json

Terminal:

root@111.111.111.111:~# cat /etc/shadowsocks-libev/config.json
{
    "server":["::1", "111.111.111.111"],
    "mode":"tcp_and_udp",
    "server_port":8388,
    "local_port":1080,
    "password":"12345678_na-pRimer_!)",
    "timeout":86400,
    "method":"chacha20-ietf-poly1305"
}

server - IP адрес, на котором программа будет ожидать соединений, должно соответствовать внешнему IP адресу вашего сервера.
mode - указывает какой протокол соединение использовать - tcp, udp или оба.
server_port - порт сервера, который вы будете использовать для подключения, по умолчанию - 8388.
local_port - порт клиента, к которому будет подключаться браузер по протоколу SOCS5.
password - пароль, который будет использоваться клиентами для подключения.
method - метод шифрования, по умолчанию используется chacha20-ietf-poly1305.

в поле server устанавливаем IP адрес вашего сервера,




wget -qO- eth0.me

(как узнать IP адрес)

Также в поле password, надо прописать пароль, который будет использоваться на клиенте для подключения к этому серверу. Всё остальное можно оставить по умолчанию. После внесения изменений конфигурационный файл может выглядеть вот так:

все остальные поля оставляем как здесь.

Единственно, что ещё стоит проверить это доступность порта, который мы указываем в поле server_port, в нашем случае это:

8388

(как проверить доступность порта и/или открыть его)

После внесения необходимых изменений в конфигурационный файл, для применения настроек, не забываем перезагрузить эту службу.




systemctl restart shadowsocks-libev

На этом базовая настройка закончена, можно переходить к подключению. Если вы хотите запустить сервер для отладки, чтобы видеть всё, что происходит, можете остановить systemd службу и запустить его напрямую без systemd:




systemctl stop shadowsocks-libev



/usr/bin/ss-server -c /etc/shadowsocks-libev/config.json

Terminal:

root@111.111.111.111:~# systemctl stop shadowsocks-libev
root@111.111.111.111:~# /usr/bin/ss-server -c /etc/shadowsocks-libev/config.json
 2022-12-30 03:04:32 INFO: UDP relay enabled
 2022-12-30 03:04:32 INFO: initializing ciphers... chacha20-ietf-poly1305
 2022-12-30 03:04:32 INFO: tcp server listening at [::1]:8388
 2022-12-30 03:04:32 INFO: tcp server listening at 111.111.111.111:8388
 2022-12-30 03:04:32 INFO: udp server listening at [::1]:8388
 2022-12-30 03:04:32 INFO: udp server listening at 111.111.111.111:8388
 2022-12-30 03:04:32 INFO: running from root user


Настройка клиента, и настройка браузера для подключения через shadowsocks

Устанавливаем также как и на сервере:


sudo apt install shadowsocks-libev

Или из исходников, как пожелаете, шаги те-же самые, что мы уже сделали на сервере.

Аналогично, после установки нужно отредактировать конфигурационный файл, так чтобы он был таким же как и на Вашем сервере. В моём примерном случае это будет:


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

Terminal:

user@mx:~
$ cat /etc/shadowsocks-libev/config.json
{
    "server":["::1", "111.111.111.111"],
    "mode":"tcp_and_udp",
    "server_port":8388,
    "local_port":1080,
    "password":"12345678_na-pRimer_!)",
    "timeout":86400,
    "method":"chacha20-ietf-poly1305"
}

в поле server ip вашего сервера, в поле password ,пароль который вы указали в этом же конфиге на своём сервере.

После этого можно запустить клиента, командой:


sudo ss-local -v -c /etc/shadowsocks-libev/config.json

Опция -v здесь означает максимально подробный вывод, а -c - указывает путь к конфигурационному файлу.

Terminal:

user@mx:~
$ sudo ss-local -v -c /etc/shadowsocks-libev/config.json
[sudo] password for user:
 2022-12-30 11:07:39 INFO: initializing ciphers... chacha20-ietf-poly1305
 2022-12-30 11:07:39 INFO: listening at 127.0.0.1:1080
 2022-12-30 11:07:39 INFO: udprelay enabled
 2022-12-30 11:07:39 INFO: running from root user

Клиент запущен, но ваш трафик ещё не перенаправляется через тоннель. Для этого надо настроить подключение к прокси в вашем браузере. Клиент ожидает соединений от браузера на порту 1080 (по умолчанию).

Для настройки прокси в браузере Firefox или Waterfox откройте Настройки.

открыть настройки браузера

В разделе Основные (General) скролим в самый низ и находим Параметры сети(Network Settings):

Тут нажмите Настроить(settings) и в открывшемся окне введите свой внутренний IP адрес 127.0.0.1 и порт из наших настроек 1080:

открыть настройки бразузера

Сохраните настройки и полностью перезапустите браузер. И после этого пробуйте открывать сайты.


После этого Firefox будет использовать Shadowsocks для открытия сайтов. Если вы откроете сайт eth0.me, то увидите, что ваш IP адрес соответствует адресу сервера, на котором установлен Shadowsocks.

Обратите внимание, что многие провайдеры блокируют сайты по DNS, так что в настройках своего роутера можно указать DNS Google - 8.8.8.8 или включить в браузере DNS over HTTPS.

открыть настройки бразузера

Снова сохраните настройки и полностью перезапустите браузер.

Копирование материалов разрешается только с указанием автора Roman Sakhno и индексируемой прямой ссылкой на сайт (http://itdid.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/sahroman.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/sahroman.

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как настроить свой компьютер

  2. Текстовая ссылка:

    Она выглядит вот так: Как настроить свой компьютер

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

крипто-донат, на развитие сайта itdid.ru:

В новом окне с терминалом itdid.ru, введите любую сумму: