В локальной сети имеется сервер, через который происходит доступ в Интернет. Используется NAT. В целях экономии трафика необходимо пропускать обращение к http-серверам через прокси-сервер squid. Выполняться это должно как для обращающихся по локальной сети, так и для локальных пользователей, причём без каких-либо настроек на стороне пользователя.
Конфигураций возможно три:
Исходные данные
LAN_IFACE=интерфейс локальной сети
INET_IFACE=интерфейс в Интернет
LAN_IP=адрес машины в локальной сети
INET_IP=наш реальный адрес
PROXY_IP=IP-адрес прокси-сервера
squid – пользователь, под которым работает прокси-сервер squid
Для доступа к Интернету из локальной сети (трансляция адресов):
1. Для перенаправления запросов из локальной сети на прокси всё просто:
2. Для перенаправления обращений от локальных программ:
3. Для перенаправления запросов из локальный сети на выделенный прокси:
Внимание! Если кто-то протестировал строчки из п.3 и они верны, пожалуйста, сообщите мне или оставьте комментарий внизу страницы
Обратите внимание, что протокол (tcp) обязательно должен быть указан.
Для предотвращения зацикливания используется фильтрация по пользователю (squid), но так же можно фильтровать по TOS, который умеет выставлять squid для своих пакетов.