1

У меня есть SSH туннель, как это:

ssh -D 10.1.2.1:8080 -f -C -q -N name@ssh_server_ip

У меня есть компьютер в локальной сети (фактически VPN, но в данном случае это не важно) с IP-адресом 10.1.2.2.

Я хочу перенаправить весь трафик с 10.1.2.2 (фактически с 10.1.2.2 - 10.1.2.80) на 10.1.2.1. Я не хочу устанавливать прокси в веб-браузере.

В конце концов, 10.1.2.2 должен подключиться через 10.1.2.1 к ssh_server_ip без каких-либо настроек в 10.1.2.2.

Это необходимо, потому что некоторые из "компьютеров" будут мобильными устройствами, и я не могу заставить их использовать псевдопрокси SOCKS5.

Я использую Debian.

1 ответ1

0

Вы можете использовать iptables и redsocks для перенаправления всего вашего трафика на прокси-сервер socks5, который вы уже установили. Это хорошо описано на http://darkk.net.ru/redsocks/.

Вот как ваш redsocks.conf может выглядеть, если на вашем клиенте запущены redsocks (10.1.2.2):

redsocks {
    /* `local_ip' defaults to 127.0.0.1 for security reasons,
     * use 0.0.0.0 if you want to listen on every interface.
     * `local_*' are used as port to redirect to.
     */
    local_ip = 127.0.0.1;
    local_port = 12345;

    // `ip' and `port' are IP and tcp-port of proxy-server
    ip = 10.1.2.1;
    port = 8080;

    // known types: socks4, socks5, http-connect, http-relay
    type = socks5;

    // login = "foobar";
    // password = "baz";
}

В этом случае redsocks работает на порте 12345, и вы просто должны указать iptables перенаправить соединения tcp на redsocks:

# Create new chain
iptables -t nat -N REDSOCKS

# Ignore LANs and some other reserved addresses.
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

# Any tcp connection made by `luser' should be redirected, put your username here.
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner luser -j REDSOCKS

Для получения дополнительной информации (например, о том, как снова очистить iptables) посетите веб-сайт Redsocks.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .