Форум программистов, компьютерный форум, киберфорум
Наши страницы
Mikrotik
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.80/10: Рейтинг темы: голосов - 10, средняя оценка - 4.80
kselltrum
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
1

Mikrotik + Squid

03.12.2019, 16:27. Просмотров 1894. Ответов 24

Доброго времени суток.
Столкнулся с такой задачей: Есть сеть расположенная за Микротиком (192.168.10.0/24). Часть клиентов с нее ходит в интернет через NAT. Есть прокси сервер (не прозрачный) - 192.168.10.50:3128 с отдельным интернет интерфейсом от провайдера. На прокси-сервере настроена фильтрация в том числе и https + статистика. Нужно чтоб часть клиентов с локальной подсети 192.168.10.0 ходило через прокси в интернет. Если прописать настройки прокси вручную на ПК клиентов то все работает. Попробовал перенаправить трафик 80 и 443 порта на сквид - доступа в интернет нет. Перенаправлял таким правилом:
Код
add action=dst-nat chain=dstnat  disabled=no dst-port=443,80 protocol=tcp src-address=192.168.10.0/24 src-address-list=proxy_inet
to-addresses=192.168.10.50 to-ports=3128
Основным шлюзом стоит Микротик (192.168.10.1)

Заранее благодарен.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2019, 16:27
Ответы с готовыми решениями:

24

insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
03.12.2019, 17:00 2
во первых, что-то одно надо оставить - или src-address=192.168.10.0/24 (вся сеть через прокси), или src-address-list=proxy_inet (определенные адреса). Оставляем второе.

но таким правилом на микротике, я думаю, не получится

+это правило должно быть выше правила src-nat, и в правиле src-nat src-address-list!=!proxy_inet


надо отследить пакет.

посмотрите, напишите, что в итоге выйдет
0
.None
Эксперт по компьютерным сетям
2842 / 1040 / 160
Регистрация: 23.06.2009
Сообщений: 3,661
03.12.2019, 17:23 3
прокси сервер отправит обратный пакет ПК напрямую, естественно ПК такого не ожидает и дропнет пакет, тогда нужно еще делать дополнительно src nat, но тогда на прокси все пользователи будут видны под одним и тем же адресом - адресом маршрутизатора

сходу не придумаю что можно сделать, посмотрите в сторону автоконфигурации прокси сервера на клиентах, или всем принудительно прописать прокси руками и на микротике запретить форвард с этих адресов на WAN по нужным протоколам
1
insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
03.12.2019, 17:25 4
.None, dst-nat же не заменит адрес источника пакета в направлении от хоста в инет
0
03.12.2019, 17:25
.None
Эксперт по компьютерным сетям
2842 / 1040 / 160
Регистрация: 23.06.2009
Сообщений: 3,661
03.12.2019, 17:29 5
другой вариант вынести прокси в другую сеть к примеру в 192.168.20.0/24 и сказать что сеть 192.168.10.0/24 искать через интерфейс подключенный к микротику, тогда src адреса останутся нетронутыми

Добавлено через 2 минуты
Цитата Сообщение от insect_87 Посмотреть сообщение
.None, dst-nat же не заменит адрес источника пакета в направлении от хоста в инет
в этом как раз и дело, когда прокси будет отвечать, он направит пакет напрямую ПК минуя микротик, т.к. находится в той же сети что и ПК, но ПК на этот адрес ничего не отправлял и ждать ответ от туда не будет.
0
insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
03.12.2019, 17:47 6
.None,
пакет от клиента до микротика S 192.168.10.100:50000 D 1.1.1.1:443
пакет от микротика до прокси S 192.168.10.100:50000 D 192.168.10.50:3128
Прокси разбирает пакет до http, находит там адрес назначения - адрес сервера в инете и от своего внешнего адреса посылает пакет:
S 2.2.2.2:40000 D 1.1.1.1:443
Пакет от сервера из инета к прокси: S 1.1.1.1:443 D 2.2.2.2:40000
Затем пакет от прокси клиенту: S 1.1.1.1:443 D 192.168.10.100:50000
0
.None
Эксперт по компьютерным сетям
2842 / 1040 / 160
Регистрация: 23.06.2009
Сообщений: 3,661
03.12.2019, 17:54 7
в последней строке не уверен
завтра попробую
0
insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
03.12.2019, 19:02 8
Да. Ответ от прокси клиенту будет другим, c src 192.168.10.50:3128 и клиент отбросит его.
Надо еще сетку между прокси и микротиком нарезать по 30 маске (у микротика адрес 20.2/30, у прокси 20.1/30), прокси вывести из 10 подсети совсем, на микротике dst-nat + на прокси прописать маршрут до сети 192.168.10.0/24 через микротик.

На микротике:
Код
add action=dst-nat chain=dstnat  disabled=no dst-port=443,80 protocol=tcp src-address-list=proxy_inet
to-addresses=192.168.20.1 to-ports=3128
На прокси
ip route 192.168.10.0 255.255.255.0 192.168.20.2


Вот так должно работать, если опять что-то не забыл
0
romsan
Эксперт по компьютерным сетям
2685 / 1433 / 306
Регистрация: 17.10.2015
Сообщений: 6,287
04.12.2019, 07:13 9
Цитата Сообщение от kselltrum Посмотреть сообщение
Нужно чтоб часть клиентов с локальной подсети 192.168.10.0 ходило через прокси в интернет
А какие ОС? Может бонально bat-файл на нужных ПК с помощью pcexec.exe (из набора PCTools) удаленно запускать?
0
insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
04.12.2019, 09:32 10
вот на такую схему предлагаю переделать
0
Миниатюры
Mikrotik + Squid  
.None
Эксперт по компьютерным сетям
2842 / 1040 / 160
Регистрация: 23.06.2009
Сообщений: 3,661
04.12.2019, 09:43 11
боюсь сервер где установлен прокси сервер выполняет не только роль прокси, возможно там еще файловый сервер и т.д. и там нужен адрес из основной локальной сети

как тогда быть?
0
insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
04.12.2019, 09:49 12
Лучший ответ Сообщение было отмечено kselltrum как решение

Решение

На микротике:
Код
/ip firewall nat
add action=dst-nat chain=dstnat  disabled=no dst-port=443,80 protocol=tcp \
src-address-list=proxy_inet to-addresses=192.168.20.1 to-ports=3128
add action=masquerade chain=srcnat out-interface=WAN src-address-list=router_inet

как тогда быть?
.None, но ведь маршрутизация между сетями будет
1
kselltrum
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
04.12.2019, 14:18  [ТС] 13
Доброго времени суток.
Попробовал вынести прокси в отдельную сеть и применить правило с последнего поста.
Теперь при попытке зайти на любой сайт, использующий https пишет SSL_protocol_error.
Предполагаю, что теперь ошибка в конфиге самого Squida сидит.
0
insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
04.12.2019, 14:56 14
kselltrum, http через прокси нормально ходит?
клиенты, которые через nat должны ходить, тоже нормально ходят через роутер?
0
kselltrum
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
04.12.2019, 15:27  [ТС] 15
Через нат все нормально.
Через прокси при http вылазит ошибка Invalid URL самого squida
0
insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
04.12.2019, 15:29 16
Через прокси при http вылазит ошибка Invalid URL самого squida
kselltrum, так при http или https?
squid на какой ОС развернут?
0
kselltrum
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
04.12.2019, 16:24  [ТС] 17
В качестве Squida используется Pfsence с покетом Squid.
При подключении по http ошибка Invalid URL, при https - SLL_protokol_error.
Если прокси вписать явно (отключив dst-nat) то все работает.
0
insect_87
Эксперт по компьютерным сетям
5352 / 4182 / 893
Регистрация: 25.12.2012
Сообщений: 17,760
04.12.2019, 16:32 18
у вас сейчас прокси не сидит одной линкой в 10ой сети случаем?
Если сидит - то так работать не будет

сеть выглядит как на картинке в 10ом посте?
покажите с мкротика
Код
ip firewall export compact
ip address export compact
0
kselltrum
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
04.12.2019, 16:42  [ТС] 19
Не сидит. смотрит напрямую в микротик. Первое что проверял.
0
kselltrum
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
04.12.2019, 23:15  [ТС] 20
Собрал тестовую конфигурацию.
Оставил только микротик, прокси и 2 хоста.
Код
ip address export compact
/ip address
add address=192.168.10.1/24 interface=LAN network=192.168.10.0
add address=192.168.22.1/30 interface=Proxy_native network=192.168.22.0
add address=194.183.X.X/24 interface=WAN1 network=194.183.X.X
Код
ip firewall export compact
/ip firewall filter
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=!192.168.22.2 dst-port=80 protocol=tcp src-address=192.168.10.11 to-addresses=192.168.22.2 to-ports=3128
add action=dst-nat chain=dstnat dst-address=!192.168.22.2 dst-port=443 protocol=tcp src-address=1192.168.10.11 to-addresses=192.168.22.2 to-ports=3128
add action=masquerade chain=srcnat out-interface=WAN1 src-address=192.168.10.12
Если прокси указать напрямую все работает. С прокси сервера хост 192.168.10.11 пингуется
Если включить dst-nat и отключить явно прописанный прокси на хосте то ошибка ERR_SSL_PROTOCOL_ERROR для https сайта и InvalidURL (ответ самого прокси) для HTTP.
0
04.12.2019, 23:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2019, 23:15

mikrotik
Здраствуйте! Я получаю интернет через сервер на котором стоит mikrotik, тоисть он распределяет...

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.