Mikrokik 750Gr3 + простое резервирование.

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
PetrT
Сообщения: 11
Зарегистрирован: 12 дек 2017, 13:11

Доброго времени суток, форумчане.

Помогите юному падавану разобраться откуда проблема?
Учусь и тестирую новую маленькую железку от вендора mikrotik 750Gr3. Оборудование такого уровня настраиваю впервые (до этого доводилось работать только с железками домашнего уровня типа zyxel и т.д.). После прочтения и изучения что куда ходит, как работает сеть настроил сей девайс для провайдера QWERTY. Настроил локальную сеть, фаервол и nat - полет нормальный.
Решил настроить простую отказоустойчивость с помощью дистанции маршрута по умолчанию
Что имеем. Офис. маленькая железяка 750Gr3 (6.40.5 stable). Основной провайдер QWERTY + белый IP, настройки приходят по DHCP, шлюз и DNS вбиты ручками, не через DHCP client.
Резервный провайдер BEELINE + белый IP адрес (L2tP НЕ ИСПОЛЬЗУЕТСЯ, настройки приходят через DHCP client). Шлюз и DNS прописаны ручками, не через DHCP.
3 внешних клиента, которые через белый ip провайдера QWERTY dstnat офисного mikrotik подключаются либо на сервер RDP или к OpenVPN серверу (по разному, не спрашивайте, почему , так исторически сварилось =) )
Один из этих внешних клиентом так же подключен через BEELINE (соседний дом).

Что имеем из кабелей
750Gr3
порт 1 - ISP1_BEELINE (преднастроенный, резервный)
порт 2 -ISP_QWERTY (рабочий основной)
порт 4 и 5 - LAN

Проблема.
При подключении в 750Gr3 в порт 1 ISP1_BEELINE У всех внешних клиентов все работает нормально, кроме клиента который так же подключен к BEELINE. После включения кабеля провайдера в маршрутизатор внешний клиент не может подключиться на внешний ип адрес QWERTY ни к RDP за NAT, ни к OpenVPN серверу за NAT. Даже если настроить L2tp сервер на Mikrotik подключить к нему клиента из сети Beeline не получается. Все это работает от других клиентов, но не клиента с провайдером Beeline.

Куда копать, не пойму.

Правила firewall filter специально удалил из конфига ниже, так как при проверке они отключались.

Файл конфига во вложении.

Код: Выделить всё


add arp=proxy-arp name=LAN_bridge
/interface ethernet
set [ find default-name=ether1 ] name=Eth1_ISP1_Beeline
set [ find default-name=ether2 ] name=Eth2_ISP2_QWERTY
set [ find default-name=ether3 ] name=Eth3_ISP3_Reserv
set [ find default-name=ether4 ] name=Eth4_LAN
set [ find default-name=ether5 ] name=Eth5_LAN

/interface list
add name=ISPs_List
add name=LAN_list
/ip pool
add name=LAN_pool ranges=192.168.1.1-192.168.1.253
add name=Guest_pool ranges=10.0.0.1-10.0.0.253
add name=L2TP_pool ranges=172.16.248.2-172.16.251.254
/ip dhcp-server
add address-pool=LAN_pool disabled=no interface=LAN_bridge lease-time=1d \
    name=DHCP_LAN
/interface bridge port
add bridge=LAN_bridge interface=Eth4_LAN
add bridge=LAN_bridge interface=Eth5_LAN

/ip address
add address=192.168.1.254/24 interface=LAN_bridge network=192.168.1.0
/ip dhcp-client
add add-default-route=no comment=DHCP_CLIENT_BEELINE disabled=no interface=\
    Eth1_ISP1_Beeline use-peer-dns=no
add add-default-route=no comment=DHCP_client_QWERTY dhcp-options=hostname \
    disabled=no interface=Eth2_ISP2_QWERTY use-peer-dns=no
/ip dhcp-server lease
/ip dhcp-server network
add address=192.168.1.0/24 dns-server=192.168.1.254 gateway=192.168.1.254 \
    netmask=24
/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4
/ip firewall nat
add action=masquerade chain=srcnat comment="Masquarad ISP1_Beeline" \
    out-interface=Eth1_ISP1_Beeline
add action=masquerade chain=srcnat comment="Masquarad ISP2_QWERTY" \
    out-interface=Eth2_ISP2_QWERTY
add action=dst-nat chain=dstnat comment=Server_HP_dstnat dst-port=yyyy \
    in-interface=Eth2_ISP2_QWERTY protocol=tcp to-addresses=192.168.1.100 \
    to-ports=yyyy
add action=dst-nat chain=dstnat comment=OpenVPN_Server_udp:xxxxx dst-port=\
    xxxxx in-interface=Eth2_ISP2_QWERTY protocol=udp to-addresses=\
    192.168.1.xxx to-ports=xxxxx
/ip route
add check-gateway=ping comment="Route default QWERTY" distance=1 gateway=\
    79.164.80.1
add check-gateway=ping comment="Route default Beeline" distance=2 gateway=\
    95.31.255.126
/system clock
set time-zone-name=Europe/Moscow
/system identity
set name=GW1
/system ntp client
set enabled=yes primary-ntp=213.141.136.201 secondary-ntp=79.111.152.13
/system routerboard mode-button
set enabled=no on-event=""

Просьба сильно не пинать =).

С Уважением, Петр.


plni
Сообщения: 1
Зарегистрирован: 11 авг 2015, 18:53

для теста отключите интерфейс билайна и попробуйте подключиться с внешнего клиента билайна на qwerty. если будет работать, то проблема в том, что пакеты от билайна хотят уйти обратно через интерфейс билайн (т.к. дома рядом, то возможно они в одной внешней сети).
тогда вам остается маркировать пакеты - с какого провайдера пришло в того и уходи.


PetrT
Сообщения: 11
Зарегистрирован: 12 дек 2017, 13:11

Вы правы. При отключенном интерфейса ISP1_BEELINE у клиента билайн все работает.
Выяснилось, что у клиента есть внешний ип адрес.
Несмотря на маршрут через интерфейс IPS2_QWERTY

Код: Выделить всё

add check-gateway=ping comment="Route default QWERTY" distance=1 gateway=\
    79.164.80.1
    
при трассировке с микротик до белого адреса клиента трафик ломится через IPS1_BEELINE.
Как так? Это нормально?


plni
Сообщения: 1
Зарегистрирован: 11 авг 2015, 18:53

да, если внешние IP адреса в одной сети.


PetrT
Сообщения: 11
Зарегистрирован: 12 дек 2017, 13:11

При подключении кабеля билайн прилетает динамический маршрут с метрикой 0 до сети с маской /25 в которую входит белый ип адреса клиента =(((. Так как маска более узкая микротик все пакеты до клиента направляет в интерфейс ISP1_Beeline =(

Буду читать ману на тему маркировки соединений.

Как временный костыль сделал маршрут через ISP2_QWERTY до белого адреса клиента с маской /32.

Спасибо большое за помощь.


PetrT
Сообщения: 11
Зарегистрирован: 12 дек 2017, 13:11

Что-то не постигну я магию маркировки.
в ОЧЕНЬ хорошем топике для новичков viewtopic.php?f=15&t=3280&start=10 говорится в том числе и о маркировке соединений и маршрутизации пакетов по марке маршрутизации. Несколько раз перечитал текст про маркировку но мозайка в голове так и не сложилась. Напишу какие команды написал, как я их понимаю и что не получается.

Код: Выделить всё

chain=prerouting action=mark-connection new-connection-mark=ISP1_connection passthrough=yes connection-state=new in-interface=Eth1_ISP1_Beeline log=no log-prefix=""
При попадании пакета на внешний интерфейс Eth1_ISP1_Beeline и если пакет принадлежит новому соединению мы все соединение маркируем как SP1_connection. Обработка передается дальше по mangl-у.

Код: Выделить всё

chain=prerouting action=mark-routing new-routing-mark=To_IPS1 passthrough=no connection-mark=ISP1_connection in-interface=LAN_bridge log=no log-prefix=""
При попадании пакета на интерфейс локальной сети проверяем принадлежит ли он соединению с меткой ISP1_connection, если да, то ставим метку маршрута To_IPS1. Обработка по манглу заканчивается.

Есть маршрут с маркой маршрута.

Код: Выделить всё

check-gateway=ping distance=1 gateway=Eth1_ISP1_Beeline routing-mark=To_IPS1
dst-nat не работает.
в таблице connection при попытке подключиться по проброшенному порту я вижу новое соединение с типом new, в статус estabilished оно не переходит.

в таблице mangle счетчики кол-ву пакетов и байт по маркировке соединению потихоньку растут, счетчики марки маршрута тоже не стоят на месте.

Ткните пальцем что не так?


Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

https://podarok66.livejournal.com/16482.html
Вот, почитайте. Сделайте рекурсивную маршрутизацию, она описана в конце. Всё должно получится.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
PetrT
Сообщения: 11
Зарегистрирован: 12 дек 2017, 13:11

Спасибо. мозайка потихоньку в голове собирается.
Все никак не могу понять для чего нужны у маршрутов значения scope и target-scope. Можете дать какую-нибудь ссылку где нормально понятным языком объясняют зачем и почему?


PetrT
Сообщения: 11
Зарегистрирован: 12 дек 2017, 13:11

Ничего не заработало, а все от непонимания того что делаю.
Вопрос 1.
Рекурсивная маршрутизация. На сколько мне удалось понять, она нужна только для того, чтобы проверять работоспособность маршрута не по доступности по icmp шлюза провайдера, а по доступности интернетовского хоста (хостов). В нашем случае это пара ip адресов DNS гугла. И кроме более правильного подхода к проверке работоспособности маршрута, больше никакой пользы не несет. И в настройке маршрутизации маркированного трафика никак не участвует. Верно?


PetrT
Сообщения: 11
Зарегистрирован: 12 дек 2017, 13:11

Оказалось, что ничего не работало из-за ошибки в названии марки маршрута (((.
везде было указано To_ISP1, а в маршрутах To_IPS1...Цельный день потерял (((


Ответить