Задать вопрос
@ChiPer

Прозрачный squid + microtik. Как настроить перенаправление траффика?

Есть есть.
Mikrotik выступает в качестве роутера. IP 192.168.1.1
Внутрь смотрит 192.168.1.0/24

Есть настроенный squid, работающий в режиме transparent.
IP: 192.168.1.2
Порт: 3128

Как сделать так, чтобы для всех клиентов локальной сети, http траффик на 80 порт заворачивался на машину с кальмаром, на порт 3128.

На данный момент имеется правило:

ip firewall nat add chain=dstnat action=dst-nat protocol=tcp src-address-list=clients dst-port=80 to-addresses=192.168.1.2 to-ports=3128

client-list указан 192.168.1.10 - 192.168.1.55 (т.е. те, на кого это правило должно распространяться)

Пакеты ходят, до сервака со сквидом доходят. TCPDUMP их видит, но сквид не отрабатывает, в логах пусто и сайты не открываются. Причем, если у клиента, в настройках браузера, прокси указать вручную и снять параметр transparent в конфиге кальмара, то все прекрасно работает.

Сразу оговорюсь, что сервак со сквидом у меня стоит не в разрыве сети и не имеет кучи интерфейсов, а подключен к общему свитчу и имеет 1 сетевую карту.

Вот конфиг кальмара:

http_port 3128 transparent

acl localnet src 192.168.1.0/24
acl officenet src 192.168.0.0/24



acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT


http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow localhost
http_access allow localnet
http_access allow officenet

http_access deny all
icp_access deny all
htcp_access deny all

cache_dir ufs /var/spool/squid3 4096 32 256
coredump_dir /var/spool/squid3

url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320


Решил сделать, как в этой статье:
adminnote2.blogspot.ru/2014/05/mikrotik-squida.html

Трафик на сквид пошел, но сайты не открывает: TCP_MISS_ABORTED/
  • Вопрос задан
  • 13869 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
@andrey71
админю и учу C#, ASP.NET Core
Доброго времени суток. Встала передо мной аналогичная задача и погуглив у меня всё получилось.
Работает без тормозов.
По сути, я банально консолидирую множественные решения в своём ответе.

Дано: mikrotik + squid с одной сетевой картой.

В микротик добавил правила:
/ip firewall mangle

chain=prerouting action=mark-routing new-routing-mark=SQUID passthrough=yes protocol=tcp 
      src-address=!192.168.адрес.проки dst-port=80 log=no log-prefix=""


и

/ip route
add comment=FOR_SQUID_TEST distance=1 gateway=192.168.адрес.проки routing-mark=SQUID


Далее на убунте был установлен сквид.
его конфиг практически пустой конфиг, т.к. нет нужды ничего ограничивать:

http_port 3128 intercept
acl mylocalnet src all
http_access allow mylocalnet


так же в файле /etc/sysctl.conf разрешил пересылку пакетов:
net.ipv4.ip_forward = 1

и добавил правило в фаервол

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 j DNAT --to 192.168.адрес.прокси:3128
Ответ написан
Комментировать
@metsyr
Инженер связи
вообще в таком виде должно заработать в первом приближении (скопировал вашу же строку в конфиг - пакеты до сервера летят), пакеты точно до сервера не доходят? что то типа
tcpdump -i eth0 dst port 3128 -vv делали?
Ответ написан
Bessome
@Bessome
Администратор Linux, Windows. 1С программист
Я хочу посоветовать взлететь squid без acl, пропуск трафика и все. Если в этой конфе не работает роем переадресацию. Если работает, ковыряем конфиг squid
Ответ написан
@JustSoul
Присоединяюсь к вопросу.
При dst-nat сквид не отрабатывает, но такой вариант в любом случае не будет давать правильную статистику.
При маркировании и роуте все работает но адски медленно происходит соединение. Т.е. после запроса идет задержка секунд в 5-10 и страничка моментом загружается, но чуть новый запрос - и снова ждём...
Ответ написан
@Andreyussur
Здравствуйте. Мучаюсь с такой-же проблемой второй день. Вы справились с настройками сквида (или микротика)?
Везде написано что после маркировки трафика и заворачивания его на ip сквида всё должно взлететь. Но чтё-то нифига подобного...
Если на машине вручную указать прокси-сервер, то всё отлично работает
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы