Перейти к содержимому
Калькуляторы

Mikrotik странная работа маркировки

Коллеги, уже неделю бьюсь над проблемой.

Есть RB1200 Ros 5.7/5.8

Задача: Заворачивать весь трафик в сеть Интернет из локальных сетей на определенный хост. Этот хост будет выступать своего рода captive portal для авторизации пользователей и подсчета трафика. Прокси НЕ натит, а только роутит между интерфейсами.

Тестовая схема:

 

/ip firewall mangle add chain=prerouting src-address-list=local dst-address-list=!local action=mark-routing new-routing-mark=route_to_proxy in-interface=!ether9
/ip route add dst-address=0.0.0.0/0 gateway=10.1.1.2 routing-mark=route_to_proxy
/ip firewall address-list add address=10.0.0.0/8 list=local
/ip firewall address-list add address=172.16.0.0/12 list=local   
/ip firewall address-list add address=192.168.0.0/16 list=local
 

 

В соответствии с этим правилом все пакеты пришедшие на интерфейсы отличные от ether9 с src = списку локальных сетей и dst != этому списку отправляются на IP адрес прокси сервера.

По идее должно работать. Но при трассировке до публичного IP с RouterB и с клиента TestB наблюдается очень странная картина.

Трассировка с RouterB:

[admin@M3] > tool traceroute 8.8.8.8
# ADDRESS                                 RT1   RT2   RT3   STATUS              
1 192.168.168.1                           1ms   1ms   1ms                       
2 10.1.1.2                              1ms   1ms   1ms                       
[b]3 192.168.168.1                           1ms   1ms   1ms[/b]      
 

С роутера А трассировка до 8.8.8.8 отрабатывает правильно.

Ещё одна странность:

Выключаю порт ether9

Снова делаю трассировка с роутераВ до 8.8.8.8

[admin@M3] > tool traceroute 8.8.8.8
# ADDRESS                                 RT1   RT2   RT3   STATUS            
1 192.168.168.1                           1ms   1ms   1ms                     
2 10.1.1.2                             0ms   1ms   1ms                     
3 10.1.1.2                              1ms   1ms   1ms   host unreachable  
4 10.1.1.2                              1ms   1ms   1ms   host unreachable  
5 10.1.1.2                              1ms   1ms   1ms   host unreachable  
6 10.1.1.2                              1ms   1ms   1ms   host unreachable  
7 10.1.1.2                              1ms   1ms   1ms   host unreachable  
<SKIPPED>
 

И так до бесконечности.

 

Подскажите куда копать?

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну так тыже заворачиваешь на прокси весь трафик, а не только 80 порт, ICMP у тебя заворачивается на прокси а тот походу не натит ничего а только проксирует.

Тебе маркировать нужно только ХТТП трафик, а весь остальной направлять на интерфейс с натом в котором есть инет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну так тыже заворачиваешь на прокси весь трафик, а не только 80 порт, ICMP у тебя заворачивается на прокси а тот походу не натит ничего а только проксирует.

Тебе маркировать нужно только ХТТП трафик, а весь остальной направлять на интерфейс с натом в котором есть инет

Спасибо за ответ.

Действительно я заворачиваю на прокси весь трафик и действительно прокси не натит. Мне это и нужно.

Прокси это условное обозначение. На самом деле там будет что-то типа Captive Portal по функционалу. Тоесть авторизация пользователей и подсчет их трафика.

Следовательно мне нужно весь исходящий-входящий Интернет трафик завернуть через этот "прокси".

Изменено пользователем myst

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну так может причина иненно в Captive Portal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну так может причина иненно в Captive Portal

100% нет.

Как только эта схема не заработала, я заменил виндовый портал на машинку с freebsd и включенным роутингом.

На ЛАН интрефейсе я вижу что пакеты с тестБ на 8.8.8.8 приходят, на ВАН интерфейсе я вижу что они уходят.

Проблема именно в правиле мангл. Точнее в логике его работы.

 

 

Пробовал видоизменить правило

/ip firewall mangle add chain=prerouting src-address-list=local dst-address-list=!local action=mark-routing new-routing-mark=route_to_proxy in-interface=ether6

где ether6 аплинк до роутераВ - ничего не поменялось.

Изменено пользователем myst

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уточнил проблему.

Удалось поставить в разрыв между провайдером и роутеромА сниффер.

 

Оказывается что пакеты из локальных сетей уходят "неотначенные"

 

Правила такие:

 

chain=prerouting action=mark-routing new-routing-mark=To_NAT src-address-list=local dst-address-list=!local passthrough=yes in-interface=ether9

 

chain=srcnat action=masquerade routing-mark=To_NAT src-address-list=local dst-address-list=!local out-interface=ether10

 

Вроде все просто и правильно. Ан нет.

Что может быть не так?

 

PS пожалуйста обратите внимание на маленький ньюанс.

В такой конфигурации пакеты инициированные самим прокси сервером натятся без проблем.

Не натятся ТОЛЬКО транзитные пакеты.

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меня смущает то, что в манах по RouterOS про routing-mark написано "This kind of marks is used for policy routing purposes only" несмотря на возможность смотреть на эту метку в таблицах firewall. Вообще лично не пробовал натировать пакеты по routing-mark, но может попробуете это условие убрать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меня смущает то, что в манах по RouterOS про routing-mark написано "This kind of marks is used for policy routing purposes only" несмотря на возможность смотреть на эту метку в таблицах firewall. Вообще лично не пробовал натировать пакеты по routing-mark, но может попробуете это условие убрать?

Выключил правило

chain=prerouting action=mark-routing new-routing-mark=To_NAT src-address-list=local dst-address-list=!local passthrough=yes in-interface=ether9

Из правила НАТ убрал routing-mark=To_NAT

Ровным счетом ничего не поменялось.

[admin@M3] > tool traceroute 8.8.8.8

# ADDRESS RT1 RT2 RT3 STATUS

1 192.168.168.1 1ms 1ms 1ms

2 10.1.1.2 1ms 1ms 1ms

3 192.168.168.1 1ms 1ms 1ms

 

С прокси пакеты уходят.

Те, что роутятся через прокси - нет.

 

Честно говоря я пробовал все даже экзотические варианты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

выйди на связь через аську, стукни в личку. Ато ты еще полгода будешь проблему решать ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблему победить не удалось.

 

Теперь я на 100% уверен то микротик не маскарадит то, что было отмаркировано в прероутинге.

Здесь есть официальные ресселеры? Хотелось бы создать тикет не только от своего имени, а от более официального лица.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.