Jump to content

Recommended Posts

Posted

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

Есть 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>
 

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

 

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

Спасибо!

Posted

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

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

Posted (edited)

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

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

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

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

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

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

Edited by myst
Posted (edited)

ну так может причина иненно в 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 аплинк до роутераВ - ничего не поменялось.

Edited by myst
Posted

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

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

 

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

 

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

 

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 пожалуйста обратите внимание на маленький ньюанс.

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

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

 

Спасибо.

Posted

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

Posted

Меня смущает то, что в манах по 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

 

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

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

 

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

Posted

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

 

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

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

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.