Форум программистов, компьютерный форум, киберфорум
Ubuntu, Mint Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/65: Рейтинг темы: голосов - 65, средняя оценка - 4.97
 Аватар для likesoft
7 / 7 / 5
Регистрация: 21.12.2012
Сообщений: 194

Настройка системы для выхода в интернет через socks5 прокси

23.05.2017, 23:13. Показов 13378. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Стоит Ubuntu 16.04.2, имеется Socks5 прокси (запароленный)
Нужно настроить систему на работу через этот прокси.
Повторюсь, именно всю систему, так как мне нужно чтобы все приложения работали через этот прокси, а не отдельные.

Прежде чем написать сюда перелопатил терабайт информации в гугле и все безрезультатно

Какие действия предпринимались:
1. Запись строки socks_proxy="socks://user : pass@proxy : port/" в файл /etc/environment - чтобы изменения вступили в силу нужно перезагрузить компьютер, но после перезагрузки изза этой "чудо строчки" не запускаются сетевые сервисы (на ноуте полностью отсутствуют какие либо признаки наличия сетевых адаптеров)

2. Настройка через GUI - Настройки -> Сеть -> Прокси сервер - Режим: Настроить самостоятельно -> Узел Socks - после этих действий при попытке открыть какой либо сайт в браузерах выдает ошибку: Страница по адресу https://адрес сайта/ может быть временно недоступна или перемещена на новый адрес

3. Читал информацию про dante-client, но как я понял что для того чтобы запустить какую нибудь программу, при этом чтобы она работала через прокси, нужно в терминале писать команду socksify <имя программы>. Но такой вариант запуска программ для меня как для новичка в Linux это маразм

4. Читал информацию про proxychain, но насколько я понял, с помощью нее можно только консольные приложения запускать через прокси.


Исходя из всего вышесказанного назревает вопрос, есть ли в Linux, в частности в Ubuntu "человеческий" способ настроить прокси в одном месте и забыть об этом?
По крайней мере до тех пор пока не придется сменить адрес прокси.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2017, 23:13
Ответы с готовыми решениями:

Настройка выхода в интернет из офиса через домашний
Доброго времени суток. Ребят есть большая загвоздка уже устал биться (( Опишу проблему: У нас есть провайдер в городе...

Как сделать домашний прокси для выхода в интернет
Здраствуйте, хочу подключить свой роутер к прокси серверу (домашнему), тоесть: ПК1----| ПК2------ Интернет ПК3----| Мне знакомые...

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

10
Эксперт по компьютерным сетям
 Аватар для bormotolog
2408 / 608 / 50
Регистрация: 17.03.2013
Сообщений: 2,212
24.05.2017, 02:11
Всё украдено придумано до нас: redsocks + правило iptables
В поиске яндекса нужный результат будет в первой 10-ке
Только не спутать конфиги для роутера и для хоста
Миниатюры
Настройка системы для выхода в интернет через socks5 прокси  
0
 Аватар для likesoft
7 / 7 / 5
Регистрация: 21.12.2012
Сообщений: 194
24.05.2017, 17:48  [ТС]
bormotolog, установил redsocks, в конфиге прописал данные для подключения к socks5 прокси
Дальше следовал указаниям по ссылке http://darkk.net.ru/redsocks/

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
sudo iptables -t nat -N REDSOCKS
sudo iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
 
sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
 
sudo iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner dimas -j REDSOCKS
Теперь интернет вообще не работает

Подскажите пожалуйста как настроить!?
0
Эксперт по компьютерным сетям
 Аватар для bormotolog
2408 / 608 / 50
Регистрация: 17.03.2013
Сообщений: 2,212
25.05.2017, 00:05
Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Сначала стоит проверить, что ваша прокся вообще работает. Удалите все правила что ввели и пока используйте одно
Code
1
iptables -t nat -A OUTPUT -d 178.63.151.224 -p tcp -m multiport --dports 80,443 -j REDIRECT --to-ports 12345
потом идите на 2ip.ru и смотрите какой IP видит.

После отладки не забудьте поместить скрипты в /etc/network/if-up.d и /etc/network/if-post-down.d, чтобы оно применялось и удалялось корректно

Не по теме:

И лучше бы использовать ipset вместо многих правил iptables. Оно наглядней будет.

1
 Аватар для likesoft
7 / 7 / 5
Регистрация: 21.12.2012
Сообщений: 194
25.05.2017, 02:31  [ТС]
Спасибо большое за помощь

Получилось сделать следующим образом:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
iptables -t nat -N REDSOCKS
 
# Ignore LANs and some other reserved addresses.
# See Wikipedia and RFC5735 for full list of reserved networks.
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/24 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
 
# Anything else should be redirected to port 8123
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 8123
# Any tcp connection made by `luser' should be redirected.
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner dimas -j REDSOCKS
0
25.05.2017, 10:25

Не по теме:

С этими правилами у вас весь TCP трафик пойдёт через прокси. В том числе почта и SSH. Оно так и задумывалось?

0
 Аватар для likesoft
7 / 7 / 5
Регистрация: 21.12.2012
Сообщений: 194
25.05.2017, 20:15  [ТС]
bormotolog, да, я знаю что весь.
По другому не умею.
Я и так еле еле настроил, 3 дня потратил в поисках информации.

Хоть как то пусть работает.

Честно говоря linux меня конкретно разочаровал, споткнулся на такой мелочи
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
26.05.2017, 11:51
Цитата Сообщение от likesoft Посмотреть сообщение
Честно говоря linux меня конкретно разочаровал, споткнулся на такой мелочи
Почему мелочь?
Достаточно редко испльзуемый режим редиректа тора.
Стандартная схема: если программа умеет работать через sock5 - настраивать ее. Не умеет - использовать один из редиректов.
Заворачивать фареволом - это уже "на любителя".
Причем можно одновременно настроить использование всех трех схем.
В Windows и MacOS набитых зондами и "огороженных" осях такое невозможно в принципе.
0
 Аватар для likesoft
7 / 7 / 5
Регистрация: 21.12.2012
Сообщений: 194
26.05.2017, 23:39  [ТС]
Цитата Сообщение от gng Посмотреть сообщение
Почему мелочь?
Не знаю, возможно потому что в винде для этого достаточно просто установить программу, настроить в ней прокси и всё.
Цитата Сообщение от gng Посмотреть сообщение
Стандартная схема: если программа умеет работать через socks5 - настраивать ее. Не умеет - использовать один из редиректов.
У меня много программ(скриптов python) которые должны работать через прокси, получается придется их все переписывать под работу с прокси.
Для меня это не выход по нескольким причинам:
1. Это очень долго будет.
2. Если нужно будет сменить прокси, то это опять же будет очень долго.
Цитата Сообщение от gng Посмотреть сообщение
Заворачивать фареволом - это уже "на любителя".
В данном случае для меня это единственный выход, потому что в ubuntu как оказалось это единственный способ перенаправить трафик через socks5 прокси(не говорю за остальные дистры, так не имею понятия как там обстоят дела).
Как я в первом посту написал, настройка socks5 прокси через настройки ubuntu и через /etc/enviroment не представляется возможным.

Добавлено через 9 минут
Всем большое спасибо за помощь, проблема решена.

Оставлю настройки которые мне помогли, возможно кому то еще пригодится

redsocks.conf
Кликните здесь для просмотра всего текста

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
base {
    log_debug = off;
    log_info = off;
    log = "file:/var/log/redsocks.log";
    daemon = on;
    redirector = iptables;
}
 
redsocks {
    local_ip = 0.0.0.0;
    local_port = 8123;
 
    ip = ip_addres;
    port = 8080;
    # Если есть авторизация
    //login = "";
    //password = "";
    type = socks5;
}


Скрипт для записи/отката iptables
Кликните здесь для просмотра всего текста

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
IPTABLES="iptables"
REDSOCKS="redsocks"
REDSOCKSCFG="/etc/redsocks.conf"
 
if [ "$1" = "start" ]; then
        echo '(Re)starting redsocks...'
        pkill -U $USER redsocks 2>/dev/null
        sleep 1
        $REDSOCKS -c $REDSOCKSCFG
 
        iptables -t nat -N REDSOCKS
        iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
        iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
        iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
        iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
        iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
        iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
        iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
        iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
 
        iptables -t nat -A REDSOCKS -p tcp --dport 80 -j REDIRECT --to-ports 8123
        iptables -t nat -A REDSOCKS -p tcp --dport 8080 -j REDIRECT --to-ports 8123
        iptables -t nat -A REDSOCKS -p tcp --dport 443 -j REDIRECT --to-ports 8123
 
        iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
 
        iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDSOCKS
        iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDSOCKS
        iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDSOCKS
 
        echo IPtables reconfigured.
        exit 0;
elif [ "$1" = "stop" ]; then
        $IPTABLES -t nat -F
        $IPTABLES -t nat -X
        killall redsocks
        exit 0;
        echo All be back
else
        exit 1;
fi


Памятка для тех кто не силён в bash(типо меня )

Скрипт запускать так:
Для записи в iptables
Bash
1
sudo sh ./script_name.sh start
Для отката iptables
Bash
1
sudo sh ./script_name.sh stop
0
Эксперт по компьютерным сетям
 Аватар для bormotolog
2408 / 608 / 50
Регистрация: 17.03.2013
Сообщений: 2,212
02.06.2017, 22:53
likesoft, у нас ведь не винда, потому способов обычно более одного. Ставить дополнительный софт не спортивно. Решение таких задачек стимулирует серое вещество, не даёт ему закиснуть.
По мне проще завернуть что требуется с помощью iptables+ipset, чем кропать исключения или разбираться с дополнительным софтом.

А вообще такие задачи больше для шлюза, чем для клиента. Если прошивка соответствует, получается полностью прозрачно
Хотя и на клиенте нет абсолютно никаких препятствий сделать это любым удобным способом - хоть маршрутом в виртуалку на которой работает vpn-клиент или Tor
0
 Аватар для likesoft
7 / 7 / 5
Регистрация: 21.12.2012
Сообщений: 194
11.06.2017, 00:18  [ТС]
Цитата Сообщение от bormotolog Посмотреть сообщение
у нас ведь не винда, потому способов обычно более одного. Ставить дополнительный софт не спортивно. Решение таких задачек стимулирует серое вещество, не даёт ему закиснуть.
Способов более одного, но всё равно они все завязаны на iptables, как не крути.
У меня и так хватает "задачек" для стимуляции серого вещества.
Но я не против еще задачек, наоборот даже за.
Это одна из причин моего перехода на Linux OS.
Просто эта задачка совсем не кстати обьявилась

Цитата Сообщение от bormotolog Посмотреть сообщение
А вообще такие задачи больше для шлюза, чем для клиента.
Проблема в том что шлюз частенько меняется, поэтому в данном случае лучшим выходом для меня является настройка клиента.
Что я собственно и пытался сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2017, 00:18
Помогаю со студенческими работами здесь

Post запрос HttpWebRequest через прокси socks5
Есть код простого пост запроса string POST(string url, string data) { HttpWebRequest request =...

Програмка для выхода в интернет через телефон
подскажите програмку для выхода в интернет через телефон сони ериксон w200i

Оборудование для выхода в интернет через ADSL-модем
Мне на работе надо подключиться к инету при помощи ADSL-модема. Причем подсоединить надо 3 компьютера. Сеть основана на технологии Wi-Fi....

Подключение принтера к ноуту через WI-FI для выхода в интернет.
Здравствуйте. У меня есть такая проблема. Есть МФУ НР В210С с WI-FI, ноут тоже имеет модуль для WI-FI. Ноут подключен к инету через модем...

Создание оболочки для выхода в Интернет через GSM модем
Интересует процесс взаимодействия с оператором сотовой связи для выхода в Интернет: дозвон к нему и регистрация компьютера в сети. При этом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru