Linux весь трафик через socks5 proxy

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

Стоит 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 «человеческий» способ настроить прокси в одном месте и забыть об этом?
По крайней мере до тех пор пока не придется сменить адрес прокси.

Источник

Как заставить все приложения Linux использовать прокси SOCKS

В Linux мне нужен способ для маршрутизации всего сетевого трафика интерфейса enp2s0 через SOCKS4 192.168.1.2:1080 (или любого прокси-сервера SOCKS)- что-то вроде Proxifier в Windows. Прокси работает нормально, если вручную установить в Chrome или Firefox. ОС: Linux Mint 19.1 Вещи, которые я пытался:

  • Я установил прокси вручную в настройках сети, но я не установил его; Chrome все еще подключается напрямую. Вот скриншот:
  • Proxychains работает отлично, но я должен вручную запускать каждое приложение с терминала.

Я не знаю, как использовать Redsocks или Iptables (пока).

Я надеюсь, что есть графический интерфейс, такой как Proxifier для Linux, но решение на основе терминала (CLI) вполне подойдет.

2 ответа 2

для нетерпеливых просто сделай следующее; при условии, что прокси-сервер example.com:7777 и это socks5 (измените его на свой позже)

создайте пустой файл в любом месте и назовите его redsocks.conf (или как угодно), я предполагаю, что он находится здесь /etc/redsocks.conf (измените его на свой).

измените example.com 7777 с вашим прокси (обратите внимание, что вы можете использовать любой local_port кроме 12345 , это локальный порт, для которого мы установим правило iptable для перенаправления трафика, поэтому, если вы используете другой, обязательно используйте его в последующие шаги ниже)

Читайте также:  Линукс журнал i can

— теперь запустите redsocks с назначением файла конфигурации следующим образом

sudo redsocks -c /etc/redsocks.conf 

измените место назначения вашего redsocks.conf (если вы получили «bind: Address уже используется», попробуйте killall redsocks ), вы также можете проверить, привязан ли redsocks к локальному порту 12345 с помощью netstat -tulpn

— теперь, когда redsocks запущен и готов, давайте изменим правила iptables для использования redsocks. это должно быть настроено в соответствии с вашими потребностями, но если вы хотите перенаправить все пакеты HTTP и HTTPS через прокси. Определите следующие правила.

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 --dport 443 -j REDSOCKS sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDSOCKS sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDSOCKS sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDSOCKS 

теперь ваш http и https трафик должен быть перенаправлен через example.com:7777

если вы хотите использовать сброс Iptables:

iptables -F iptables -t nat -F iptables -t mangle -F iptables -X 

Дополнительный совет: если у вас есть vpn на вашем iphone или android, вы можете бесплатно использовать его на своем компьютере, независимо от того, какая ОС есть. просто подключите приложение vpn для телефона и установите прокси-сервер socks (в android вы можете использовать приложение «серверы»), затем используйте прокси на вашем компьютере, как указано выше, теперь весь трафик с вашего компьютера маршрутизируется через ваш телефон vpn. аккуратный.

Источник

How to force all Linux apps to use SOCKS proxy

Using Linux, I need a way to route all network traffic of interface enp2s0 through SOCKS4 192.168.1.2:1080 (or any SOCKS proxy for that matter) – something like Proxifier in Windows. The proxy works fine when manually set in Chrome or Firefox. OS: Linux Mint 19.1 Things I tried:

  • I set the proxy manually in network settings, but it’s just like I didn’t set it; Chrome still connects directly. Here’s a screenshot:
  • Proxychains is working great, but I have to manually launch each app individually from the terminal.

I don’t know how to use redsocks or iptables (yet).

I hope there’s a GUI like Proxifier for Linux, but a terminal (CLI)-based solution is okay.

Читайте также:  Astra linux драйвер графики intel

Have you also looked at Redsocks2 (github.com/semigodking/redsocks)? It seems to be actively maintained and the documentation is easier to follow than Redsocks. Have you looked into the answers of askubuntu.com/a/513956/385961 and superuser.com/a/1122572/168962, regarding gsettings under Gnome and general shell environment variables to influence http-based proxy redirection?

4 Answers 4

for the impatient just do the following; assuming that the proxy is example.com:7777 and it’s socks5 (change it with your own later)

, make an empty file anywhere and name it redsocks.conf (or whatever), I’ll assume it’s here /etc/redsocks.conf (change it with your own).

change example.com 7777 with your proxy, (note that you can use any local_port other than 12345 ,it’s the local port that we will set an iptable rule to redirect the traffic to, so if you use another, make sure to use it in later steps below)

— now run redsocks with the config file destination as follows

sudo redsocks -c /etc/redsocks.conf 

change with the destination of your redsocks.conf (if you get «bind: Address already in use» try killall redsocks ) you can also check if redsocks is bound to local port 12345 with netstat -tulpn

— now that redsocks is running and ready, let’s change the iptables rules to use redsocks. this should be customized to your needs, but if you like to redirect all HTTP and HTTPS packets through the proxy. Define the following rules.

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 --dport 443 -j REDSOCKS sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDSOCKS sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDSOCKS sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDSOCKS 

now your http and https traffic should be redirected through example.com:7777

if you want your iptables reset use:

iptables -F iptables -t nat -F iptables -t mangle -F iptables -X 

Источник

Forward all traffic to a socks5 proxy

Hi friends!✌️ In this article, I want to share a solution to the problem of forwarding http traffic through socks5 to rotate ip-addresses, this can be useful when parsing, testing or bypassing DNS / IP-based blocking.

What is SOCKS5?

SOCKS is an Internet protocol that exchanges network packets between a client and server through a proxy server. SOCKS5 optionally provides authentication so only authorized users may access a server. Practically, a SOCKS server proxies TCP connections to an arbitrary IP address, and provides a means for UDP packets to be forwarded. SOCKS performs at Layer 5 of the OSI model (the session layer, an intermediate layer between the presentation layer and the transport layer). A SOCKS server accepts incoming client connection on TCP port 1080, as defined in RFC 1928.

Читайте также:  Linux connect error connection refused

Required dependencies

  1. Linux/Unix (For Windows, some differences will be characteristic (see the corresponding sections in the installation and configuration items))
  2. TOR Client — Tor is free and open-source software for enabling anonymous communication. It directs Internet traffic through a free, worldwide, volunteer overlay network, consisting of more than seven thousand relays, for concealing a user’s location and usage from anyone conducting network surveillance or traffic analysis. Using Tor makes it more difficult to trace the Internet activity to the user. This includes «visits to Web sites, online posts, instant messages, and other communication forms». Tor’s intended use is to protect the personal privacy of its users, as well as their freedom and ability to conduct confidential communication by keeping their Internet activities unmonitored.
  3. Privoxy — is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk.Can be used both for single device protection (by installing it on device you want to protect) and newtork protection (by configuring network devices to use privoxy server as proxy).

Privoxy is Free Software and licensed under the GNU GPLv2.

Proxy chain will be:

Proxy-chain-Privoxy-Tor.jpg

Ready? then go ahead

First step it’s install tor

sudo apt update sudo apt install tor 

After do not forget to restart the service

Next you should create new password

Save the resulting hash in

In the same place, we will uncomment the following lines:

SOCKSPort 9050

HashedControlPassword ‘your hashed passsword obtained earlier here

CookieAuthentication 1

Restart the service to apply the changes

Hint

To regulate the speed of changing nodes (by default, this is 10 minutes)

int is an integer greater than or equal to 10 responsible for the node change interval in seconds

Ok, it’s time to install your reverse proxy

The config file can be found at the following path:

Privoxy needs to know that its follower in chain is a socks5 proxy which listens on 9050 port. Again, supposing that TOR is running on same host, Privoxy config file will be configured including following line (including last dot):

forward-socks5t / 127.0.0.1:9050 . 
sudo /etc/init.d/privoxy restart 

To check the readiness, you can run a request for httpbin.org
e.g.

import requests def check_ip(): ip = requests.get('https://httpbin.org/ip') return ip.text if __name__ == '__main__': result = check_ip() print(result) 

Источник

Оцените статью
Adblock
detector