Стоит 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 "человеческий" способ настроить прокси в одном месте и забыть об этом? По крайней мере до тех пор пока не придется сменить адрес прокси.
К сожалению этот вариант подходит только для GNOME SHELL оболочки, у меня Unity. Gnome Shell терпеть не могу (
а днс-запросы у тебя делаются локально (с твоего компа улетают по UDP на 53 порт какого-нибудь 8.8.8.8) или dns reslove при твоей схеме делает сокспрокс? ну и ты молодец, что извернулся и нашел способ )) но под линух проще будет на будущее выяснить штатный способ
Такового на данный момент не существует. Это можно понять, если "внимательно" прочитать мой первый пост. Штатные средства не дали нужного результата (( Поэтому и пришлось заморачиваться с iptables
если внимательно почитаешь, то поймешь, что со штатными средствами не заработало, тк твой socks-прокc не умеет remote dns resolve
Хорошо, пусть будет так: проблема в том что штатные средства не умеют работать с прокси которые не умеют remote dns resolve.
Неплохо бы описать как решили проблему Интересная задача. А пинг у вас проходит через сокс или напрямую?
Пожалуйста, мне не жалко )) Конф redsocks: Spoiler: redsocks.conf Code: 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 rules Code: 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