Назад | Перейти на главную страницу

Создание прокси на большом количестве портов, которые перенаправляют на внешний прокси

Мне нужно какое-то прокси-программное обеспечение (похожее на Squid), которое будет работать в Linux и позволит мне создавать прокси, прослушивающие несколько портов. Прокси-серверы должны пересылать веб-запросы на другой внешний прокси (который требует аутентификации).

Проблема с squid заключается в том, что у него максимальное ограничение на количество портов 128, и я хочу использовать более 500 портов на сервере.

Подключение к прокси будет выглядеть так:

Client --> proxy1 (port 1000) --> external proxy 1 --> website

Client --> proxy2 (port 1001) --> external proxy 2 --> website

Любая помощь будет принята с благодарностью

То, что вам нужно, в чем-то похоже на мой ответ по более старому вопросу. Я реализовал программное обеспечение, которое требовало как приема соединений на всех портах, так и инициирования соединений с множества разных IP-адресов. Это два разных требования, но оказывается, что они могут быть выполнены очень похожими способами.

Чтобы получать соединения для многих номеров портов на одном сокете, вам необходимо использовать IP_TRANSPARENT вариант на розетке и TPROXY в iptables.

В соответствии с https://wiki.squid-cache.org/Features/Tproxy4 это поддерживается в Squid 3.1 или новее.

В вашем случае конфигурация iptables должна быть немного другой. Вам понадобится примерно такая запись в mangle стол:

-A PREROUTING -d 192.0.2.42 -p tcp -m tcp --dport 80:65535 -j TPROXY --on-port 3129

Вам нужно будет настроить IP-адрес и номера портов в соответствии с вашими требованиями.