У меня настроен SSH-туннель (на Linux), и я хочу направить весь свой сетевой трафик через него, за исключением того, что у меня также запущен Tor, и я не хочу, чтобы трафик Tor проходил через SSH-туннель. Я могу направить весь трафик через SSH-туннель с помощью redsocks
(я заставляю SSH запустить SOCKS-прокси, запускаю redsocks
и использую iptables
правило для перенаправления всего трафика на redsocks
, чтобы весь трафик проходил через туннель).
Однако я не знаю, как заставить Tor обходить туннель и устанавливать прямые соединения... iptables
раньше была --pid-owner
опция, которая идеально подходила для этого, но ее удалили, поскольку ее невозможно было реализовать должным образом.
Итак, как лучше всего это сделать сейчас? (Подход с использованием туннеля SSH фиксирован: я не могу переключиться на другой тип VPN.)
решение1
- Работает
tor
на той же системе, на которой вы работаетеredsocks
. - Сделайте исключение для
tor
порта Socks 9050 на вашей удаленной системе — поместитеiptables
разрешающее правило выше и т. д. - Сообщите браузеру, чтобы он подключался к {IP-адрес удаленной системы}:9050 для использования Tor вместо localhost.
- Если вы также используете
privoxy
локальное приложение, рассмотрите возможность его запуска и на удаленной системе.
Другое дело использовать другой SOCKS-прокси, который позволяет перенаправлять определенные порты на другой локальный прокси-сервер. Я думаю, что squid
позволяет это сделать.
решение2
Параметр iptables является --uid-owner
частью совпадения -m owner
, поэтому, возможно, у вас возникли такие трудности с его поиском.
Такое правило будет работать:
-A OUTPUT -m owner --uid-owner 998 -m conntrack --ctstate NEW -j ACCEPT
где 998 — это UID Tor. И где вы адаптируете его к вашему существующему брандмауэру.