Стоит 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 "человеческий" способ настроить прокси в одном месте и забыть об этом?
По крайней мере до тех пор пока не придется сменить адрес прокси.
Настройка системы для выхода в интернет через socks5 прокси (Настройка системы для выхода в интернет через socks5 прокси)
Модератор: Bizdelnick
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Настройка системы для выхода в интернет через socks5 прокси
Боюсь, совсем универсального способа нет. Могу только дать пару советов. Во-первых, сдаётся мне, что в схеме URI надо указывать версию протокола (socks5://), и слеш в конце не нужен. Во-вторых, чем сразу настраивать глобальные переменные для всей системы, поэкспериментируйте с отдельными программами (env ALL_PROXY=socks5://user:pass@host:port curl https://unixforum.org/ >/dev/null — для curl должно сработать, с другими программами надо пробовать).
Upd. А вообще народ рекомендует использовать для этой цели redsocks.
Upd. А вообще народ рекомендует использовать для этой цели redsocks.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Настройка системы для выхода в интернет через socks5 прокси
Bizdelnick писал(а): ↑24.05.2017 00:46А вообще народ рекомендует использовать для этой цели redsocks.
Да, я сейчас пытаюсь настроить этот redsocks, только ничего не получается((
Вы не подскажете где можно почитать вразумительную информацию на русском об настройке redsocks для работы через socks5 прокси?
Если таковая имеется вообще))
I Love Linux
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Настройка системы для выхода в интернет через socks5 прокси
Я так понимаю, из интересных Вам настроек там всего пять параметров. Остальное — магия iptables. Пример с оф. сайта:
Код: Выделить всё
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/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
# Anything else should be redirected to port 12345
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Настройка системы для выхода в интернет через socks5 прокси
Bizdelnick
Спасибо большое за помощь
Еще добавил правило:
Без него почему то не работало.
Спасибо большое за помощь
Еще добавил правило:
Код: Выделить всё
# Any tcp connection made by `user_name' should be redirected.
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner user_name -j REDSOCKS
Без него почему то не работало.
I Love Linux
Re: Настройка системы для выхода в интернет через socks5 прокси
Спасибо большое всем за помощь! Проблема решена.
Оставлю настройки которые мне помогли, возможно кому то еще пригодится
redsocks.conf
Скрипт для записи/отката iptables
Памятка для тех кто не силён в bash(типо меня )
Скрипт запускать так:
Для записи в iptables
Для отката iptables
Оставлю настройки которые мне помогли, возможно кому то еще пригодится
redsocks.conf
Spoiler
Код: Выделить всё
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
Spoiler
Код: Выделить всё
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
Код: Выделить всё
sudo sh ./script_name.sh start
Для отката iptables
Код: Выделить всё
sudo sh ./script_name.sh stop
I Love Linux