Tcp с нестандартным socks5 прокси. Создание и настройка SOCKS5 прокси сервера в Ubuntu. Получение прокси с панели управления SOCKS Admin

Анонимность в сети — тема не новая. И вы наверняка устанавливали к себе на комп прогу типа A4Proxy, SocksChain
и им подобные. Лично я не люблю, когда для работы с проксями нужна какая-то отдельная прога. Во-первых
некрасиво, когда много окон на панели задач или значков в трее, во-вторых проги эти требуют кряков, а их
искать лень 🙂 Поэтому я и написал классы для поддержки SOCKS5-серверов, которые я теперь могу заюзать
в какой-нибудь своей проге. И вот теперь хочу всем рассказать, как это делать.

То, к каким серверам и по каким протоколам мы может обращаться через прокси, зависит от
типа этого прокси, т. е. протокола, по которому мы обращаемся к нему. Типов проксей существует нескольно:
HTTP-proxies, SOCKS4, SOCKS5, SSL CONNECT и т.д. HTTP-proxy наиболее распространены, их легче всего найти и инете, но работают они только с HTTP, к тому
же могут вставлять в заголовки запроса адрес клиента, то есть быть
не анонимными. Протокол SOCKS наиболее примечателен тем, что он инкапсулирует протоколы не прикладного, а
транспортного уровня, т.е. TCP/IP и UDP/IP. Поскольку только по этим протоколам возможна работа в Сети,
через SOCKS можно работать с любыми серверами, в том числе и такими же SOCKS и,
таким образом, организовывать цепочки SOCKS-серверов. По этой же причине ВСЕ SOCKS-сервера анонимны — невозможно
на уровне TCP/IP и UDP/IP передать дополнительную информацию, не нарушив работу вышестоящего
протокола.

Мы остановимся на протоколе SOCKS5. Его описание лежит в
. Для SOCKS5 стандартным является порт 1080, но, впрочем, на этот
стандарт никто особого внимания не обращает. Каждое SOCKS-соединение проходит стадию аутентификации, если она требуется, затем клиент
посылает команду. Команда может быть одна из трех:
CONNECT — исходящее TCP-соединение с указанным адресом. Использование этой команды мы рассмотрим
подробнее, так как она нужна наиболее часто. BIND — открыть порт (сервер выбирает порт и посылает клиенту адрес и порт) и принять TCP соединение.
Серверу может понадобится знать, кто будет соннектиться. На этот случай нужно передать эту инфу. UDP ASSOCIATE — открыть UDP-порт (сервер выбирает порт). Данные, предназначенные для конечного
хоста и данные от него идут тоже по UDP. Данные в SOCKS5 передаются в бинарном виде, а не в текстовом, как в HTTP, SMTP, POP3 и др.

Описание протокола

Сконнектившись с сервером, клиент шлет пакет, в котором указана версия протокола и поддерживаемые
методы аутентификации. Этот пакет имеет следующий формат:

BYTE Version;
BYTE nMethods;
BYTE methods

Версия должна быть 5. Каждый элемент methods определяет не только метод аутентификации, но и способ шифрования данных,
если оно используется. Из этих методов сервер выбирает один. Можно указывать любое количество методов, но, если сервер не требует аутентификации, то никакие методы,
кроме 0x00 (не использовать ни аутентификацию, ни шифрование) не потребуются. В ответ сервер шлет пакет следующего содержания:

BYTE Version
BYTE method,

где method — выбранный сервером метод или 0xFF (ни один из предложенных методов не поддерживается). Если метод 0x00, то можно сразу посылать команду.

Пакет команды имеет следующий формат:

BYTE Version; // 5
BYTE Cmd ; // 1 — CONNECT
BYTE Reserved; // 0

BYTE addr;
WORD port; // Байты в сетевом порядке, т. е. htons(Port);

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

Сервер посылает ответ:

BYTE Version; // 5
BYTE Rep ; // 0 — Ok
BYTE Reserved; // 0
BYTE AType; // 1 — IPv4; 3 — domain name; 4 — IPv6
BYTE addr;
WORD port;

Здесь адрес и порт — это адрес и порт, видимые хосту. Возвращается, как правило, IP-адрес, а не доменное
имя. Этот адрес может отличаться от того, по которому мы обращаемся к серверу, особенно, если сервер
используется по назначению, т. е. для выхода из локалки в инет. Если Rep не ноль, т. е. ошибка, то закрываем соединение, в
противном случае работаем с хостом. Мы не используем шифрование, поэтому просто передаем и принимаем данные, как при обычном соединении. Если одна из сторон закроет соединение с socks-сервером, то он сразу же закроет соединение с другой
стороной. Одно socks-соединение инкапсулирует одно TCP-соединение или попытку его установления,
так что если использовать socks для анонимного сканирования портов, то эта
процедура может занять пол дня.

Кодинг

Поскольку socks инкапсулирует TCP, целесообразно сделать класс socks-соединения производным от
класса сокета, но MFCшный CSocket не подходит, т.к. у него все методы
не виртуальные. Напишем свой класс сокета и назовем его, скажем, CTSocket

#include

class CTSocket
{
public:





virtual void Close();
virtual unsigned long GetHost(); // Узнать свой адрес. Это тоже может понадобиться.

private:
SOCKET sock;
};

Реализацию этого класса каждый сможет написать сам (кто не знает как, RTFM MSDN), так что не буду ее
рассматривать. Теперь напишем класс socks-соединения. Он будет поддерживать только самый необходимый набор
функций: поддерживается только команда CONNECT, не поддерживается аутентификация и SOCKS-сервер
задается только IP-адресом, а не доменным именем. Больше в одной статье не поместится.

Class CSocksSocket: public CTSocket
{
public:
virtual BOOL CreateSocket();
virtual BOOL Connect(unsigned long ip, unsigned short port);
virtual BOOL Connect(LPCSTR name, unsigned short port);
virtual int Send(const char* str, int len);
virtual int Recv(char* buf, int max);
virtual BOOL Close();
virtual unsigned long GetHost();

CTSocket* pSocket;
unsigned long socks_ip;
unsigned short socks_port;

private:
char buffer; // Такого размера точно хватит
unsigned long l_ip; // Адрес, возвращаемый функцией
GetHost()

};

// Реализация
BOOL CSocksSocket::CreateSocket()
{
if (!pSocket->CreateSocket()) return FALSE;
if (!pSocket->Connect(socks_ip, socks_port)) return FALSE;
buffer = 5; // Ver
buffer = 1; // 1 method
buffer = 0; // no auth
pSocket->Send(buffer, 3);
int n = pSocket->Recv(buffer, 2);
if (n != 2) return FALSE;
method 0 not supported
return TRUE;
}

BOOL CSocksSocket::Connect(unsigned long ip, unsigned short port)
{
buffer = 5; // Ver
buffer = 1; // CONNECT
buffer = 0; // Reserved
buffer = 1; // IPv4
*((unsigned long*)(buffer + 4)) = ip;
*((unsigned short*)(buffer + 8)) = port;
pSocket->Send(buffer, 10);
int n = pSocket->Recv(buffer, 10);
if (n != 10) return FALSE;
if (buffer != 0) return FALSE; //
Can’t connect

return TRUE;
}

BOOL CSocksSocket::Connect(LPCSTR name, unsigned short port)
{
buffer = 5;
buffer = 1;
buffer = 0;
buffer = 3; // Domain name
int m = strlen(name);
buffer = m; //
Length byte
memcpy(buffer+5, name, m); //
Копируем строку без завершающего нуля
*((unsigned short*)(buffer + 5 + m)) = port;
pSocket->Send(buffer, m + 7);
int n = pSocket->Recv(buffer, 10);
if (n != 10) return FALSE;
if (buffer != 0) return FALSE;
if (buffer != 1) return FALSE; //
Будем требовать, чтобы нам сказали IP, а не что-нибудь другое.
l_ip = *((unsigned long*)(buffer + 4));
return TRUE;
}

int CSocksSocket::Send(const char* str, int len)
{
return pSocket->Send(str, len);
}

int CSocksSocket::Recv(char* buf, int max)
{
return pScoket->Recv(buf, max);
}

void CSocksSocket::Close()
{
pSocket->Close();
}

unsigned long CSocksSocket::GetHost()
{
return l_ip;
}

// Ну, а теперь тестовая прога
void main()
{
WSADATA wsadata;
CTSocket tsock;
CSocksSocket ssock(&tsock);

WSAStartup(MAKEWORD(2,2), &wsadata);

ssock.socks_ip = inet_addr(«10.10.10.10»); // Впишите сюда нужный адрес
ssock.socks_port = 1080; //
Впишите сюда порт

if (!ssock.CreateSocket()) return; // Can’t connect to socks
// or auth required
if (!ssock.Connect(«www.mail.ru», htons(80))) return; //
www.mail.ru
// is inaccessible
LPSTR q = «HEAD / HTTP/1.1\xD\xAHost: www.mail.ru:80\xD\xAUser-Agent: xakep\xD\xA\xD\xA»;
ssock.Send(q, strlen(q));

char buf;
int n = ssock.Recv(buf, 1000);
buf[n] = 0;
printf("%s", buf);

На сегодняшний день существует несколько основных технологий, целью которых является сокрытие IP-адреса. В данной статье у вас будет возможность ознакомиться одним из них, а именно с VPN.

В первую очередь для выполнения этого процесса необходимо узнать не только личный IP-адрес, но и серверный адрес DNS. В принципе, в получении данной информации нет каких-либо трудностей, достаточно, к примеру, посетить сайт www.whoer.net.


Даже если вы захотите изменить данные своего IP-адреса, недостаточно использовать VPN или Socks, так как сегодня существует масса технологий, с помощью которых можно без проблем его выявить. Итак, давайте вернемся к нашей теме и более детально изучим способ VPN.

VPN (Virtual Private Network, виртуальная частная сеть)


В первую очередь стоит отметить то, что VPN-соединение внешнего типа практически не имеет отличий от обычного подключения к той или иной локальной сети. В данном случае приложения никаким образом не почувствуют никакой разницы, следовательно будут применять его в качестве «входа» на просторы интернета.

Главное, что при этом им не нужны будут какие-то настройки. В случае обращения одного из них к удаленному непосредственному сервису будет выполнено создание на компьютере специального так называемого GRE-пакета. Он же, в свою очередь, будет отправлен в зашифрованном виде VPN-серверу.


Действие VPN-сервера заключается в том, что он при получении пакета произведет его расшифровку, разборку и выполнит необходимое действие от своего лица. После получения ответа от ресурса удаленного типа, он поместит его непосредственно в GRE-пакет. После этого произведет зашифровку и отправку клиенту.

Необходимо помнить о том, что для повышения степени безопасности необходимо систематическое шифрование данных, которые передаются. Немаловажно то, что посредством использования MPPE (Microsoft Point-to-Point Encryption) может быть выполнена зашифровка PPTP-трафика.

Он представляет собой протокол Майкрософта. Немаловажно то, что первые версии были не просто непрактичными, но и систематически подвергались взломам, однако и на сегодняшний день особой эффективностью они не славятся. Все дело в том, что современные версии Майкрософта попросту не выполняют анализ каких-либо неустоек.

OpenVPN представляет собой свободную технологическую реализацию VPN, организация которой производится с учетом интернетовского общепринятого протокольного стека TCP/IP. Таким образом, можно полноценно быть уверенным в том, что соединение будет выполнено и с теми провайдерами, которые собственно не поддерживают необходимый PPTP.

В том числе деятельность OpenVPN производится в случае отсутствия у вас личного IP-адреса. Эта особенность является отличительной, к примеру, от PPTP, которому в обязательном порядке необходимы сразу две сетевые сессии.

Как настроить безопасный доступ к Internet ?

Организация безопасного доступа к сети интернет является актуальной проблемой не только для крупных компаний и корпораций, но и для рядовых пользователей. Всеми привычный доступ к сети через проводного интернет-провайдера или оператора мобильной связи не позволяет говорить о какой-либо защищенности Ваших данных от злоумышленников, которые в последние годы активно воруют конфиденциальные данные пользователей. Кроме того, провайдеры зачастую вводят региональные ограничения доступа пользователей к определенным веб-ресурсам и сервисам, блокируя доступ по IP -адресам.

Обойти блокировки и добиться достаточно высокого уровня защищенности и анонимности можно при помощи связки RDP + socks прокси. Такую связку для выхода в сеть достаточно просто организовать, и мы подробно опишем в данном руководстве как это сделать.

Что такое RDP (Remote Desktop Protocol) ?
Особенности и преимущества RDP

RDP – аббревиатура от английского словосочетания « Remote Desktop Protocol», то есть «протокол удаленного рабочего стола». Данный протокол был изначально создан компанией Microsoft для обеспечения возможности удаленного доступа пользователей к серверам и компьютерам, работающим под управлением операционной системы Windows. По сути, RDP позволяет пользователю удаленно управлять компьютером с ОС Windows, подключенным к локальной сети или к сети интернет, с другого компьютера, на котором установлена программа-клиент RDP.

Благодаря RDP пользователь может выходить в интернет не напрямую со своего компьютера, а через удаленный компьютер в сети, что позволяет полностью скрыть факт использования туннелирования, то есть для конечного веб-узла, с которым Вы работаете, Вы будете выглядеть так, словно Вы работаете напрямую со своего компьютера без использования туннелирования. Таким образом, Вы используете защищенный канал связи, который в совокупности с использованием прокси-сервера socks позволяет добиться максимальной безопасности и анонимности.

Получение бесплатного RDP
Инструкция - как получить бесплатный RDP

В сети интернет можно найти массу бесплатных или бюджетных сервисов, предоставляющих доступ к выделенным серверам с ОС Windows, на которых можно настроить связку RDP+ socks-прокси для организации анонимного и защищенного доступа к веб-ресурсам. Приведем несколько ссылок на подобные сервисы.

· VPS.ua

· Rusonyx

· Inferno Solutions

· 1Gb.ru

· Siteko.net

Если какой-либо из данных ресурсов не работает, либо Вы хотите более мощный сервер для решения высокопроизводительных задач, Вы можете найти бюджетные сервисы, которые за небольшую плату предоставят Вам постоянный доступ к серверу с интересующей Вас мощностью.

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

Настройка и подключение к RDP (Удаленный рабочий стол)

После регистрации пользователь получает доступ к личному кабинету управления удаленным Windows-сервером. Среди прочей информации поставщик услуги указывает IP-адрес сервера для подключения к нему с удаленного устройства (ПК, смартфон, планшет и пр.). Для подключения к серверу необходимо ввести этот IP-адрес в адресную строку RDP-клиента, встроенного в ОС Windows на локальном компьютере пользователя. Для этого:

1. Откройте терминальный клиент «Подключение к удаленному рабочему столу», встроенный в Windows. Для этого перейдите в ПУСК->Все программы -> Стандартные -> Подключение к удаленному рабочему столу , либо откройте меню ПУСК -> Выполнить и введите команду mstsc и нажмите «ОК»


2. В открывшемся окне введите IP -адрес арендуемого Windows -сервера, указанный поставщиком услуги. Нажмите кнопку «Показать параметры».


3. В поле «Пользователь» введите имя пользователя для администрирования арендуемого сервера, указанное поставщиком услуги, и перейдите во вкладку «Локальные ресурсы».


4. Во вкладке «Локальные ресурсы» нажмите на кнопку «Подробнее».


5. Выберите устройства и ресурсы локального компьютера, которые Вы будете использовать во время удаленного сеанса. Рекомендуем установить галочку напротив пункта «Диски», чтобы локальный жесткий диск был доступен при работе на удаленном сервере. Нажмите кнопку «ОК» и кнопку «Подключить».


6. В открывшемся окне введите пароль доступа к удаленному серверу и нажмите кнопку «ОК»


7. На Вашем рабочем столе откроется удаленный рабочий стол удаленного сервера. Теперь Вы можете управлять удаленным сервером точно также, как и локальным компьютером.

Получение прокси с панели управления SOCKS Admin

На следующем этапе необходимо получить доступ к сервису SOCKS прокси на сайте . Для этого выполните несколько простых шагов:

1. Перейдите на страницу и войдите в свой аккаунт


2. Введите логин и пароль своей учетной записи для доступа к сервису. В результате откроется Панель администратора учетной записи. На данной панели отображаются кнопка поиска прокси socks 4/5 по различным параметрам (Proxy Search ), кнопка вывода списка всех доступных в настоящий момент прокси (List Proxies ) и кнопка вывода информации о Вашем аккаунте (Account Settings ).


3. Нажмите кнопку поиска прокси (Proxy Search ) и выберите любую страну, прокси-серверы которой Вы желаете использовать, после чего нажмите кнопку Go .

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


5. Нажмите на имя любого подходящего Вам сервера, после чего откроется окно с дополнительной информацией. Для просмотра IP -адреса прокси и порта нажмите click here to view .

6. Через несколько секунд на экране отобразится информация об IP -адресе и порте прокси-сервера. Скопируйте или запишите эти данные – они понадобятся для последующей настройки браузеров на удаленном сервере. В приведенном примере IP -адрес: 83.85.214.142, Порт:58933.

Настройка socks 5 прокси на удаленном рабочем столе (RDP) в браузере FireFox

1. Подключитесь к удаленному серверу в соответствии с указаниями, приведенными в начале данного руководства.

2. Скачайте и установите браузер Firefox на удаленном сервере.

3. После завершения установки запустите браузер Firefox , откройте панель настроек и перейдите в меню «Настройки» (« Options »).

4. Откройте вкладку «Дополнительные» (« Advanced »), вкладку «Сеть» (« Network ») и нажмите кнопку «Настроить» (« Settings »)

5. В открывшемся окне выберите следующие параметры:

· Ручная настройка сервиса прокси (Manual proxy configuration )

· SOCKS v 5. Введите IP -адрес прокси SOCKS , который мы получили на https ://5 socks . net (в нашем примере 83.85.214.142)

· Введите номер порта полученного прокси (в нашем примере 58933)

· Активируйте SOCKS 5, а так же « Remote DNS » (все DNS запросы будут выполняться на стороне сокс-сервера)

· Нажмите «ОК».

6. Настройка Firefox завершена.

7. http://www.ipleak.com


По скриншоту мы видим, что сетевой адрес Вашего компьютера соответствует голландскому ip -адресу 83.85.214.142.

Настройка socks 5 прокси на удаленном рабочем столе (RDP) в браузере Internet Explorer

1. Запустите на удаленном рабочем столе браузер Internet Explorer , перейдите в меню «Tools» и выберите пункт «Internet Options».

2. Откройте вкладку «Connections» и нажмите на кнопку «LAN Settings…». В открывшемся окне активируйте пункт «Use a proxy server for your LAN» и нажмите кнопку «Advanced».


3. В открывшемся окне в поле « Socks » IP -адрес прокси SOCKS , который мы получили на https ://5 socks . net (в нашем примере 83.85.214.142), а в поле « Port » введите номер порта полученного прокси (в нашем примере 58933)

ВНИМАНИЕ! Указывайте IP -адрес и порт только в строке SOCKS . Остальные поля необходимо оставить пустыми

3. Нажмите «ОК» во всех открытых в процессе настройки окнах.

4. Настройка Internet Explorer завершена.

4. Убедитесь, что используется именно прокси сервер. Для этого откройте на удаленном рабочем столе Internet Explorer, пройдите по ссылке http://www.ipleak.com и проверьте Ваш текущий IP-адрес.

По скриншоту мы видим, что видимый сетевой адрес Вашего компьютера соответствует голландскому ip -адресу 83.85.214.142.

С vpnki вы можете иметь доступ к домашней сети через прокси сервер . Точнее говоря, мы используем два прокси сервера:

  • для HTTP соединений - http proxy
  • для любых соединений по протоколу TCP - SOCKS5 proxy

С помощью http прокси вы сможете иметь доступ из сети Интернет к веб-интерфейсу своего домашнего устройства (сервера, видеорегистратора, видеокамеры и т.д.), а с помощью SOCKS5 прокси вы сможете иметь доступ к домашним устройствам по таким протоколам как ssh и VNC (впрочем и по многим другим, которые используют протокол TCP).

Доступ через прокси сервер осуществляется при наличии:

  • подключенного к системе vpn туннеля от вашего устройства по любому из протоколов (PPTP, L2TP, L2TP/IPsec, OpenVPN)
  • наличия галочки (об использовании proxy) на вашей личной странице vpnki
  • настроенного клиентского программного обеспечения (браузер, ssh или VNC клиент)

Используемый логин/пароль, который вы будете вводить в момент подключения через прокси НЕ должен быть подключен через VPN Proxy-cоединения без авторизации приниматься не будут.

Перед использованием уточните может ли ваше клиентское программное обеспечение использовать proxy сервер с авторизацией.

Краткая инструкция по использованию HTTP и SOCKS5 proxy соединений

1. При установленной галочке на личной странице системы vpnki вам будут выделены два порта TCP:

  • один для http proxy
  • второй для SOCKS5 proxy

Запишите их и используйте при настройке своего клиентского ПО

2. Настройка браузера (в общем виде подходит для любого браузера)

2.1. Войдите в настройки браузера и выберите там пункт похожий на "Сетевые настройки"

2.2. Перейдите в настройки соединения с Интернет

2.3. Укажите в качестве http прокси - msk.сайт и порт, выданный вам на личной странице для http соединений (в данном примере 54505)

2.4. Наберите в строке браузера адрес веб-интерфейса в домашней сети

Если вы посмотрите на правила использования прокси в вашем браузере то обратите внимание на то, что согласно выполненным настройкам теперь соединения до всех узлов сети Интернет будут устанавливаться через указанный прокси. Однако наш прокси сервер не предоставляет возможности доступа к Интернет. К сожалению, производители браузеров дают ограниченнную возможность указания исключений из правила использования прокси ("Не использовать прокси для...") и, увы, это правило не позволяет описать ситуацию "Доступ к домашней сети через прокси, доступ ко всем серверам Интернет - без прокси"

Таким образом, с выполненными ранее настройками браузера вы получите доступ к домашней сети, но не сможете обратиться к любому сайту в Интернете.

В такой ситуации есть два выхода:

  • Использовать два браузера (один с настройками прокси для доступа к домашней сети, второй - без настроек прокси для доступа к всем ресурсам Интернет), но это не очень удобно
  • Использовать дополнительный плагин для браузера, в котором правила использования прокси пишутся более гибко. Таким плагином может являться плагин AutoProxy для Firefox

2.6. Плагин AutoProxy для Firefox. В нем вам необходимо: а) указать прокси сервер - msk.... б) Создать группу правил и сами правила, указав только те адреса, соединения с которыми должны осуществляться через прокси сервер. Все остальные соединения будут осуществляться без использования прокси. Пример правил представлен на рисунке ниже. В данном случае, в группе правил vpnki есть три правила (адреса домашней сети) для которых будет использоваться прокси соедиение. Указание адресов в правилах начинается с символа ||

3. Настройки VNC клиента

3.2. Настройте VNC Viewer: укажите в настройках Proxy - msk.сайт и порт, выданный вам для SOCKS5 соединений на личной странице vpnki

3.3. Создайте соединение к своему устройству и запустите его

ДОПОЛНИТЕЛЬНО ПО ТЕМЕ

  • Немного более подробно про IP адреса можно прочитать на нашем сайте
  • Про выход в Интернет через VPN и центральный офис можно
  • Про удалённый доступ к компьютеру можно почитать на нашем сайте
  • Про VPN и протоколы можно почитать

Для ускорения работы с некоторыми программами и парсерами, которые я использую, требуются прокси, сначала я арендовал их, но потом решил поднять свои SOKS5 прокси сервера на уже имеющихся серверах с сайтами.

На всех серверах стоит Ubuntu Server 14.04, может где-то и 12.04, но описание должно подойти и для всех остальных систем основанных на Debian.

Есть 2 известных мне способа организации работы SOKS5 сервера:

  1. SOCKS через SSH. Этот способ удобен своей простотой но неудобен при частом использовании, или использовании с разных машин;
  2. Установка SOCKS сервера. При использовании этого способа уйдет чуть больше времени на первоначальную настройку, но потом пользоваться прокси будет быстрее и удобнее.

SOCKS через SSH

Для того чтоб поднять SOCKS5 через SSH нужен только доступ к SSH сервера.

Вводим в терминале или SSH клиенте (PuTTY для Windows)

Ssh -D 1080 user@server

Если запросит пароль, то нужно ввести пароль от SSH сервера.

-D - указывает порт по которому будет доступен SOKS5 сервер

Все, после этого вы можете подключиться к SOKS5 серверу по адресу localhost:1080 или 127.0.0.1:1080

Такой способ удобен тем что не нужно ничего дополнительно устанавливать и настраивать. Но перед каждым подключением или после разрыва ssh соединения, например из-за проблем с интернетом придется заново вводить эту команду.

Установка SOCKS сервера

Установка старой версии Dante Server

sudo apt-get update sudo apt-get install dante-server

Sudo nano /etc/danted.conf

Приведя его к такому виду

Logoutput: syslog /var/log/danted.log internal: eth0 port = 1085 external: eth0 method: username user.privileged: root user.notprivileged: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error } pass { from: 0.0.0.0/0 to: 0.0.0.0/0 command: connect log: error method: username }