IPtables. Настройка прозрачного прокси

Большинство сетей использует прокси-серверы, типа Squid для кэширования часто посещаемых сайтов. Это позволяет разгрузить Интернет канал. Обычно, каждый клиент должен быть специальным образом настроен на использование прокси-сервера, для того, чтобы получить доступ в Интернет.

В больших сетях с большим количеством клиентов или в компаниях Интернет-провайдерах где есть много различных клиентов, индивидуальная настройка каждого из них может быть затруднительна. При этом настройка производится конкретного Веб-браузера и если пользователь начнет пользоваться другим браузером, то его необходимо будет также настроить на использование прокси-сервера.

К счастью, существует решение - прозрачное проксирование. Если все клиенты получают доступ в Интернет через шлюз с межсетевыми экраном IPtables. Он может быть сконфигурирован для перенаправления подключений на 80 порт(http) на прокси-сервер размещенный на некоторой другой системе. Это означает, что клиентам нет необходимости дополнительно что-то настраивать, так как все HTTP запросы, которые они осуществляют, будут прозрачно отправлены на прокси сервер без их ведома.

 

Для того, чтобы настроить прозрачное проксирование проделайте следующие шаги:

1. На главной странице модуль Linux Firewall, выберите таблицу Network Address translation(Трансляция сетевых адресов) из списка таблиц и нажмите кнопку Showing IPTable(Показать IPtable).

2. В секции Packets before routing(Пакеты перед маршрутизацией), нажмите кнопку Add rule(Добавить правило) и вам откроется форма создания правила. Добавляемое правило, будет перенаправлять весь трафик поступающего на 80 порт, на прокси-сервер.

3. Установите Action(Действие) в значение Destination NAT.

4. В поле IPs and ports for DNAT(IP адреса и порты для DNAT), выберите IP range(Диапазон IP адресов) и введите адрес прокси сервера в поле рядом. Если прокси-сервер находится на той же системе, что и firewall, то укажите IP адрес Ethernet интерфейса(не петли 127.0.0.1).

В поле Port range(Диапазон портов) введите порт который слушает прокси-сервер, типа 8080 или 3128.

5. Установите критерий Incoming interface(Входящий интерфейс) в Equals(Равно) и выберите внутренний LAN интерфейс, типа eth0.

6. Установите критерий Network protocol(Сетевой протокол) в Equals(Равно) и выберите TCP.

7. Если прокси-сервер размещен на другом хосте, который также находится внутри сети(за файрволлом), убедитесь, что с этого хоста, Firewall не заворачивает трафик по 80 порту обратно на прокси-сервер! Чтобы это сделать, установите критерий Source address or network(IP адрес источника или сеть) в Does not equal(Не равно) и введите IP адрес прокси-сервера в поле рядом.

Если прокси-сервер размещается в другой локальной сети или прокси там же где и Firewall, то это шаг выполнять не нужно.

8. Установите Destination TCP or UDP port(TCP или UDP порт назначения) в Equals(Равно) и введите 80 в поле Port(s).

9. Нажмите кнопку Create(Создать), чтобы сохранить правило и вернутся на главную страницу модуля.

10. Нажмите кнопку Add rule(Добавить правило) в секции Packets after routing(Пакеты после маршрутизации) и вам откроется форма создания правила снова. Это правило будет перенаправлять правила обратно от прокси к клиенту. Если ваш firewall находится там же где прокси-сервер, то вам нет необходимости выполнять этот шаг и следует сразу перейти к шагу 16.

11. Установите Action(Действие) в Source NAT.

12. В поле IPs and ports for SNAT(IP адреса и порты для SNAT) выберите IP range(Диапазон IP адресов) и введите LAN IP адрес firewall хоста.

13. Установите Destination address or network(IP адрес назначения или сеть) в Equals(Равно) и введите IP адрес прокси-сервера.

14. Установите критерий Network protocol(Сетевой протокол) в Equals(Равно) и выберите TCP.

15. Нажмите кнопку Create(Создать) для создания нового правила.

16. Вернитесь на главную страницу модуля и нажмите Apply Configuration(Применить конфигурацию). Все пакеты поступающие на 80 порт вашего файрволла теперь будут перенаправляться на прокси-сервер.

17. Допустим у вас запущен прокси-сервер Squid. Вы можете использовать Webmin, чтобы его настроить. В любом случае, вам нужно будет настроить Squid, чтобы он работал в прозрачном режиме.

18. На прокси сервере, откройте модуль Squid Proxy Server в Webmin и нажмите на Miscellaneous Options.

19. Установите поле HTTP Accel Host в Virtual и HTTP Accel Port в 80.

20. Установите оба поля HTTP Accel With Proxy и HTTP Accel Uses Host Header в значение Yes(Да).

21. Наконец, нажмите кнопку Save(Сохранить) и вы вернетесь на главную страницу модуля Squid и затем нажмите Apply Changes(Применить изменения) в верху страницы для применения новых параметров.

Теперь, любые HTTP запросы на 80 порт, будут перенаправлены вашим Firewall на прокси-сервер для обработки.




Ссылки:

К содержанию

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика