gaetorn_pl
13-07-2015, 15:31
Добрый день сообществу!
Прошу помощи в следующем вопросе:
Имеется сеть, в сети основным маршрутизатором стоит Mikrotik RB750. Стоит задача поставить отдельно прозрачный прокси на базе Squid. Прокся настроена, если прописать её в браузере всё отрабатывает и гуляет-пишется-блокируется. Но вот уже месяц бьюсь над задачей привязать её к Микротику.
Сразу пробовал сделать по многочисленным мануалам - втупую перенаправить трафик, приходящий на 80й порт на проксю, что результатов не дало - либо выбивало заглушку с тем, что неправильно введён адрес (по какой-то причине отсекало заголовок адреса, соответственно проксе было нечего обрабатывать), либо вообще не отсылает никаких пакетов, как будто сквида и вовсе нет. Затем решил использовать штатные средства микротика - включил в нём Web Proxy, поставил в Parent Proxy адрес сервера со сквидом, поставил правило Redirect на весь трафик на 80м порте на внутренний вебпрокси. Всё заработало, трафик начал ходить, запросы отправляются и всё бы хорошо, но есть одно "но". Все запросы на Сквид приходят от адреса микротика, соответственно все написанные мной ACL под разнообразные диапазоны адресов не отрабатывают своей функции, давая пользователям полный доступ.
Может быть у кого-то есть идеи, а? А то уже сил моих нет.
Конфиги прикладываю. Адрес SQUID - 192.168.103.252, сеть 192.168.0.0/16
SQUID.CONF:
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl allowed_protocol proto http https
acl allowed_port port 80 443
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 deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow all
http_port 3128
https_port 3129
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
cache_mgr
mail_from
error_directory /usr/share/squid3/errors/ru
Правила Mikrotik:
IP/FIREWALL/NAT
chain=srcnat action=masquerade out-interface=ether1-gateway
1 chain=dstnat action=accept protocol=tcp src-address=192.168.103.252
dst-address=!192.168.103.252
2 chain=dstnat action=redirect to-ports=3128 protocol=tcp dst-port=80
3 chain=srcnat action=masquerade protocol=tcp dst-address=!192.168.103.252
dst-port=80
IP/PROXY
enabled: yes
src-address: ::
port: 3128
parent-proxy: 192.168.103.252
parent-proxy-port: 3128
cache-administrator: webmaster
max-cache-size: none
max-cache-object-size: 2048KiB
cache-on-disk: no
max-client-connections: 600
max-server-connections: 600
max-fresh-time: 3d
serialize-connections: no
always-from-cache: no
cache-hit-dscp: 4
cache-drive: system
Прошу помощи в следующем вопросе:
Имеется сеть, в сети основным маршрутизатором стоит Mikrotik RB750. Стоит задача поставить отдельно прозрачный прокси на базе Squid. Прокся настроена, если прописать её в браузере всё отрабатывает и гуляет-пишется-блокируется. Но вот уже месяц бьюсь над задачей привязать её к Микротику.
Сразу пробовал сделать по многочисленным мануалам - втупую перенаправить трафик, приходящий на 80й порт на проксю, что результатов не дало - либо выбивало заглушку с тем, что неправильно введён адрес (по какой-то причине отсекало заголовок адреса, соответственно проксе было нечего обрабатывать), либо вообще не отсылает никаких пакетов, как будто сквида и вовсе нет. Затем решил использовать штатные средства микротика - включил в нём Web Proxy, поставил в Parent Proxy адрес сервера со сквидом, поставил правило Redirect на весь трафик на 80м порте на внутренний вебпрокси. Всё заработало, трафик начал ходить, запросы отправляются и всё бы хорошо, но есть одно "но". Все запросы на Сквид приходят от адреса микротика, соответственно все написанные мной ACL под разнообразные диапазоны адресов не отрабатывают своей функции, давая пользователям полный доступ.
Может быть у кого-то есть идеи, а? А то уже сил моих нет.
Конфиги прикладываю. Адрес SQUID - 192.168.103.252, сеть 192.168.0.0/16
SQUID.CONF:
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl allowed_protocol proto http https
acl allowed_port port 80 443
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 deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow all
http_port 3128
https_port 3129
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
cache_mgr
mail_from
error_directory /usr/share/squid3/errors/ru
Правила Mikrotik:
IP/FIREWALL/NAT
chain=srcnat action=masquerade out-interface=ether1-gateway
1 chain=dstnat action=accept protocol=tcp src-address=192.168.103.252
dst-address=!192.168.103.252
2 chain=dstnat action=redirect to-ports=3128 protocol=tcp dst-port=80
3 chain=srcnat action=masquerade protocol=tcp dst-address=!192.168.103.252
dst-port=80
IP/PROXY
enabled: yes
src-address: ::
port: 3128
parent-proxy: 192.168.103.252
parent-proxy-port: 3128
cache-administrator: webmaster
max-cache-size: none
max-cache-object-size: 2048KiB
cache-on-disk: no
max-client-connections: 600
max-server-connections: 600
max-fresh-time: 3d
serialize-connections: no
always-from-cache: no
cache-hit-dscp: 4
cache-drive: system