Направлять весь трафик, кроме Tor, через SSH-соединение

Направлять весь трафик, кроме Tor, через SSH-соединение

У меня настроен 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. И где вы адаптируете его к вашему существующему брандмауэру.

Связанный контент