LINUX.ORG.RU
ФорумAdmin

Редирект на squid

 ,


0

2

Доброго времени суток. Есть такая задача. Постараюсь описать максимально понятно: Есть основной шлюз на Cisco ip 10.0.0.12, решили поставить на виртуалке squid и пускать пользовательский трафик через него. На виртуалке 2 сетевки, одна смотрит в подсеть 10.1.32.0/24 (VLAN) вторая смотрит в сторону сети 10.0.0.0 на шлюз. Задача состоит в том, чтобы трафик всех пользователей которые имеют подсети 10.1.6.0, 10.1.7.0, 10.1.8.0 и так далее имели доступ к интернету через прозрачный прокси squid который стоит на витруалке и имеет IP 10.1.32.60 (виртуалки тоже находятся в VLAN), маршрутизация между VLAN работает. На данный момент у каждого VLAN свой шлюз (10.1.6.1, 10.1.32.1 и так далее). Нужно, чтобы squid работал прозрачно для всех пользователей и весь трафик заворачивался через него, то есть, что-то вроде шлюза за шлюзом. Вот правила IPtables (кстати стоит squid на ubuntu server 16.04)

Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp  — anywhere anywhere tcp dpt:ssh ACCEPT icmp — anywhere anywhere ACCEPT tcp  — 10.0.0.0/8 anywhere multiport ports 3128 ACCEPT tcp  — 10.0.0.0/8 anywhere multiport ports 3129

Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all  — anywhere anywhere state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT) target prot opt source destination

С таблицы NAT: Chain PREROUTING (policy ACCEPT) target prot opt source destination REDIRECT tcp  — 10.0.0.0/8 anywhere multiport dports http,http-alt redir ports 3128 REDIRECT tcp  — 10.0.0.0/8 anywhere multiport dports https redir ports 3129

Chain INPUT (policy ACCEPT) target prot opt source destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination

Chain POSTROUTING (policy ACCEPT) target prot opt source destination

Резюмирую:

пользовательская сеть разбита на VLANы 10.1.5.0, 10.1.6.0, ... 10.1.n.0 маска 255.255.255.0. Виртуалка со squid находится в VLANe 10.1.32.0/24. Основной шлюз имеет IP 10.0.0.12 и не находится в 1 VLANe. Какими правилами Iptables можно завернуть всех на squid. Буду благодарен любым советам. Спасибо.

А на cisco то пакеты заорачиваются на этот linux? И лучше показывайте вывод iptables-save и через LORCODE.

mky ★★★★★
()
Ответ на: комментарий от mky

Извините, а как в LORCODE выделить именно текст с вывода iptables, чтобы удобно читалось? И да, на cisco еще не завернули.

arixich
() автор топика
Ответ на: комментарий от arixich

Поставить текст между тегами [pre] ТЕКСТ [/pre] и нажав кнопочку «Предпросмотр» проверить, что переводы строк где были.

Правило ″REDIRECT″ в iptables вы прописали, это как бы всё, дальше уже настройки squid (чтобы он был прозрачным) и настройки cisco, чтобы она маршрутизировала виртуалку в Интернет, а все остальное заворачивала на 10.1.32.60.

mky ★★★★★
()

Не совсем понял схему, которую вы пытаетесь воплотить. А именно мне непонятна необходимость 2х интерфейсов на прокси-сервере. Обычно для подобной задачи вполне достаточно одного интерфейса, через который трафик будет идти от циски в сторону прокси-сервера и обратно от прокси-сервера в сторону циски, но уже в дефол-гетвей. Циску необходимо сконфигурировать таким образом, чтобы определенный тип трафика из подключенных к ней сетей роутился не на дефолт, а на прокси-сервер. Для этого существует policy-based routing. Примерно так:

conf t
!
ip access-list extended HTTP_ONLY
permit tcp 10.10.10.0 0.0.7.255 any eq 80
permit tcp 10.10.10.0 0.0.7.255 any eq 443
!
route-map HTTP_NEXTHOP permit 10
match ip address HTTP_ONLY
set ip next-hop x.x.x.x
!
interface gi0/1
ip policy route-map HTTP_NEXTHOP

На самом же прокси-сервере настраивам обычный редирект:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3129
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80  -j REDIRECT --to-ports 3128

vwvol
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.