Как правильно в Mikrotik пускать пользователей через конкретного провайдера, если провайдеров несколько?

Начну с начала.
В школе есть DC и 2 провайдера, на одном из них (пров№ 1 - эртелеком) включена контент-фильтрация и через него ходит в тырнет вся школа. Раньше у определенного круга лиц (ВЫПЬ), была своя подсеть (WORKGROUP), физически отделенная от всех остальных и у них там стоял свой маршрутизатор (D-LINK), раздающий интернет и DHCP, сделано это было кем-то, кого я не видел))). Но эти пользователи не имели доступа к ресурсам контроллера домена и файлового сервера, естественно, и испытывали по этому поводу неудобства. Вот дошли наконец руки до того чтобы объединить все это дело воедино - завести двух провайдеров в один маршрутизатор и раздавать оттуда интернет на ВЫПЬ и простых смертных.

т.к. кабель от провайдера №2 физически далеко от основного маршрутизатора (RB2011), я поставил на месте D-LINK RB750 и пробросил с него канал через vlan сквозь основную сеть до RB2011. Теперь RB2011 инициирует подключение к обоим провайдерам. Подключил ВЫПЬ в одну сеть вместе со смертными. настроил манглы и пускаю в того или иного провайдера по адрес-листам. когда спрашиваю свой IP у яндекса из под машины ВЫПи - показывает показывает IP 2го провайдера, для обычной машины - показывает IP 1го провайдера. казалось бы - все хорошо, но есть проблема.
из под обычной машины при попытке машины зайти на одноклассники, например, браузер переадресовывает на страницу parent-control.filter.ertelecom.ru (в адресной строке меняется адрес) - все правильно
а вот при попытке открыть те же одноклассники из под машины ВЫПи, он иногда открывает страницу назначения, но чаще показывает всю ту же информацию со страницы parent-control.filter.ertelecom.ru, но без переадресации, т.е. в адресной строке по прежнему одноклассники, а на экране "родительский контроль"

я уже бьюсь в истерике. ВЫПь на меня жмет - давай одноклассники! возвращай все как было (т.е. отдельную сеть и старый маршрутизатор)! почти рыдаю. потратил на это дело уже over 70 часов. делал манглы с джампами и без джампов (понятное дело, что это те же яйца, только сбоку но мало ли) - не работает

причем, если сделать у провайдера №1 дисконект, то у обычных компов ничего не открывается (как и должно быть), а у ВЫПи - та же песня - родительский контроль, даже если вынуть кабель из медиаконвертера.

создать обычный маршрут к прову2, убрать манглы (будто у нас только один пров №2) - все начинает работать

на контроллере домена DHCP
у клиентов в качестве шлюза ставится 192.168.1.2 (RB2011),
в качестве DNS - контроллер домена,
на контроллере домена в DNS стоит пересылка на 192.168.1.2 (RB2011)

выглядит это примерно так... нарисовал как смог )))
-
  +-------+                            +-------+
  | ISP 2 |                            | ISP 1 |
  +-------+                            +-------+
     |                                     |
     |ETH1                                 |ETH6
+--+-----------+----------+            +-------------------------+
|  |  BRIDGE1  |          |            |                         |
|  +-----------+          |            |                         |
|          |              |            |                         |
| RB750    |              |            | RB2011                  |
|          |              |            |                         |
|  +-----------+          |            |  +-----------+          |
|  |     VLAN1 |          |            |  |     VLAN1 |          |
+--+----------------------+            +--+----------------------+
     | ETH2 (LAN) 192.168.1.3/24            | ETH2 (LAN) 192.168.1.2/24
     |                                      |
     |             +------------------+     |
     |             |                  |     |
      -------------|   LAN Switch     |-----
                   |                  |
                   +------------------+
                     |         |     |
                 +-----+  +-----+  +-----+
                 | PC1 |  | PC2 |  | DC  |
                 +-----+  +-----+  +-----+


/ip firewall mangle
add action=log chain=output disabled=yes protocol=icmp
add action=log chain=input disabled=yes protocol=icmp
add action=mark-connection chain=input comment="in wan2,out wan2" in-interface=\
    wan2 new-connection-mark=wan2_conn
add action=mark-routing chain=output comment="in wan2,out wan2" connection-mark=\
    wan2_conn new-routing-mark=wan2_traffic passthrough=no
add action=mark-connection chain=forward comment="pfw wan2, out wan2" \
    connection-state=new in-interface=wan2 new-connection-mark=wan2_pfw \
    passthrough=no
add action=mark-routing chain=prerouting comment="pfw wan2, out wan2" \
    connection-mark=wan2_pfw in-interface=ether2 new-routing-mark=wan2_traffic \
    passthrough=no
add action=mark-connection chain=prerouting comment="wan2 con mark" \
    connection-state=new dst-address-type=!local in-interface=ether2 \
    new-connection-mark=wan2_conn src-address-list=to_wan2
add action=mark-connection chain=prerouting comment="wan2 con mark" \
    connection-state=new dst-address-type=!local in-interface=bridge1 \
    new-connection-mark=wan2_conn src-address-list=to_wan2
add action=mark-routing chain=prerouting comment="wan2 rout mark" connection-mark=\
    wan2_conn in-interface=ether2 new-routing-mark=wan2_traffic passthrough=no
add action=mark-routing chain=prerouting comment="wan2 rout mark" connection-mark=\
    wan2_conn in-interface=bridge1 new-routing-mark=wan2_traffic passthrough=no
add action=mark-connection chain=input comment="in wan1,out wan1" in-interface=\
    wan1 new-connection-mark=wan1_conn
add action=mark-routing chain=output comment="in wan1,out wan1" connection-mark=\
    wan1_conn new-routing-mark=wan1_traffic passthrough=no
add action=mark-connection chain=forward comment="pfw wan1, out wan1" \
    connection-state=new in-interface=wan1 new-connection-mark=wan1_pfw \
    passthrough=no
add action=mark-routing chain=prerouting comment="pfw wan1, out wan1" \
    connection-mark=wan1_pfw in-interface=ether2 new-routing-mark=wan1_traffic \
    passthrough=no
add action=mark-connection chain=prerouting comment="wan1 con mark" \
    connection-state=new dst-address-type=!local in-interface=ether2 \
    new-connection-mark=wan1_conn src-address-list=to_wan1
add action=mark-routing chain=prerouting comment="wan1 rout mark" connection-mark=\
    wan1_conn in-interface=ether2 new-routing-mark=wan1_traffic passthrough=no


/ip route
add comment=wan1 distance=1 gateway=wan1 routing-mark=wan1_traffic
add comment=wan2 distance=1 gateway=wan2 routing-mark=wan2_traffic
add comment=wan1 distance=1 gateway=wan1
add comment="wan2,wan3 DNS" distance=1 dst-address=93.88.128.2/32 gateway=\
    wan2,wan3
add comment="wan2,wan3 DNS" distance=1 dst-address=93.88.129.2/32 gateway=\
    wan2,wan3
add comment="wan1 DNS" distance=1 dst-address=109.194.159.59/32 gateway=wan1
add comment="wan1 DNS" distance=1 dst-address=212.33.246.249/32 gateway=wan1


/ip route print
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 A S  ;;; wan1        
0.0.0.0/0                          wan1                      1
 1 A S  ;;; wan2        
0.0.0.0/0                          wan2                      1
 2 A S  ;;; wan1       
0.0.0.0/0                          wan1                      1
 3 ADC  10.81.255.126/32   XXX.XXX.XXX.XXX   wan1                      0
 4 A S  ;;; wan2,wan3 DNS
93.88.128.2/32                     wan2                      1
                                           wan3              
5 A S  ;;; wan2,wan3 DNS
93.88.129.2/32                     wan2                      1
                                           wan3              
6 ADC  93.88.133.200/32   XXX.XXX.XXX.XXX   wan2                      0
7 A S  ;;; wan1 DNS
109.194.159.59/32                  wan1                      1
10 ADC  192.168.1.0/24     192.168.1.2     ether2                    0
11 A S  ;;; wan1 DNS
212.33.246.249/32                  wan1                      1


/ip dns
set allow-remote-requests=yes servers=\
    212.33.246.249,109.194.159.59,93.88.128.2,93.88.129.2


пожалуйста помогите!!! :'(
  • Вопрос задан
  • 6069 просмотров
Решения вопроса 2
Melkij
@Melkij
PostgreSQL DBA
Есть мнение, что настройка в целом верна, а проблема исключительно в DNS.
Т.е. в конечном итоге весь DNS заворачивается на RB2011, а там - что микротику в голову придёт, у того вышестоящего DNS'а и будет спрашивать адрес, что для випов, что для юзеров.
При этом у первого провайдера осуществляется перехват и подмена DNS-ответов, заворачивающие трафик на подконтрольный узел. Этот ответ ассоциируется с доменным именем без привязки к провайдеру - и ура, весь трафик этого доменного имени заворачивается на этот адрес.

Попробуйте в порядке проверки гипотезы на вип-машине прописать dns статично, которые выдаёт второй провайдер. Или вовсе гугловые 8.8.8.8, 8.8.4.4
Ответ написан
Комментировать
@rt001 Автор вопроса
один раз сработало - одноклассники открылись, но про вконтакт продолжает писать что родительский контроль
если на обычной машине прописать гугловские ДНС, то переадресация срабатывает, адрес в адресной строке меняется, но дальше говорит что заданный узел недоступен

вся проблема в том, что у микротика днс запрашивает контроллер, а кто попросил у контроллера - неизвестно. поэтому буду на днях пробовать вариант с двумя dns серверами
итак, что получилось в результате:
1. поднял второй DC (DC2) и на нем DNS (все равно он нужен, хотя бы для резервирования), в этом DNS прописал пересылку на 2го провайдера
2. в основном DC прописал пересылку на первого провайдера
3. добавил в dhcp зону с фиксацией, она раздает адреса на випов и проставляет у них DC2 в качестве основного DNS
4. в основной зоне dhcp (для смертных) проставляется DC1 в качестве основного DNS

при такой схеме все работает, спасибо за подсказки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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