Моя цель - разрешить клиентам через Интернет подключаться к прокси-серверу squid, предоставить имя пользователя и пароль, а затем получить доступ к нескольким http-серверам во внутренней сети, частью которой является сервер, используя IP-адреса, например 192.168.11.152. В настоящее время доступ к этим серверам осуществляется через беспорядочную переадресацию порта NAT с внутреннего порта 80 на некотором IP-адресе на нестандартный внешний порт. Это требует, чтобы люди помнили, что устройство с IP 192.168.11.152 доступно через http://example.com:8936, и это не идеально. Кроме того, многие устройства не поддерживают имена пользователей и пароли, поэтому я полагаюсь на безопасность через неясность. Я не хочу использовать VPN, потому что единственный трафик, который я хочу разрешить в сеть извне, - это трафик HTTP и HTTPS. Я не могу изменять HTTP-серверы ни на одном из моих устройств, поскольку все они являются встроенными системами (выключатели питания, камеры видеонаблюдения, сигнальные устройства и т. Д.). Я искал руководства по настройке прокси-серверов squid на debian, но все они посвящены настройке анонимных прокси, не поддерживают имена пользователей и пароли и разрешают прокси-соединения с внешними ресурсами. После подключения к прокси-серверу единственный трафик, который он должен пересылать, - это трафик на адреса 192.168.11.xxx. Итак, мои вопросы:
Я понимаю, что полный ответ на этот вопрос займет больше времени, чем кто-либо, кроме меня, может потратить на это. Я приму ответ, в котором кратко обсуждаются 3 вышеупомянутых пункта и даются подробные ссылки.
Есть отличная альтернатива, если у ваших пользователей есть доступ к сети по SSH.
Используя, например,
ssh -D9090
они открывают порт прокси-сервера SOCKS на соответствующем локальном компьютере. Затем они могут перейти к любому месту назначения в локальной сети сервера SSH через этот прокси-сервер SOCKS.
Это можно сделать особенно удобно, используя Firefox с расширением, например Foxy Прокси, в котором вы можете определить белый список (например, http://192.168.11.*/
плюс https), чтобы соответствующие IP-адреса (и только те) посещались через прокси.