Jump to content
Калькуляторы

Mikrotik не использовать NAT

Подскажите с проблемой. Есть микротик

в него включены две сети. присутсвует правило дефолтное включающее маскарадинг нат, соотвественно из нижней сети траффик натится в верхнюю. Отключаю правило трафик не идет вообще Маршруты прописаны

Нужно чтобы из нижней сети трафик уходил на маршрут по умолчанию без ната

Share this post


Link to post
Share on other sites

Знают. На месте этого микротика стоял софтовый роутер. все работало.

тут уже весь мозг вынес. Отключаю правило ната траффик ложится, тоже самое если добавить в исключение этого правила нужную мне подсеть. Хотя теоретически с таким исключением должно просто проходить дальше. Собственно так и планировалось что его достаточно было просто отключить.. оказалось не так.

Вот кусок конфига с значащими настройками

/interface ethernet
set [ find default-name=ether1 ] speed=1Gbps

add interface=ether2 l2mtu=1594 name=mgm vlan-id=1234
add interface=ether2 l2mtu=1594 name=red vlan-id=101

/queue type
add kind=pcq name=pcq_4096_up pcq-burst-rate=25M pcq-burst-threshold=10M \
   pcq-burst-time=6s pcq-classifier=src-address pcq-rate=4096k \
   pcq-total-limit=64k
add kind=pcq name=pcq_4096_down pcq-burst-rate=5M pcq-burst-threshold=4M \
   pcq-burst-time=6s pcq-classifier=dst-address pcq-rate=4096k \
   pcq-total-limit=64k

/queue tree
add name=Total_upload parent=global priority=1 queue=default
add name=Total_download parent=global priority=1 queue=default
add name=tree_4096_up packet-mark=mark_4096_up parent=Total_upload priority=1 \
   queue=pcq_4096_up
add name=tree_4096_down packet-mark=mark_4096_down parent=Total_download \
   priority=1 queue=pcq_4096_down

/ip address
add address=172.16.0.5/24 interface=mgm network=172.16.0.0
add address=185.54.40.5/27 interface=ether1 network=185.54.40.0
add address=185.54.42.1/23 interface=red network=185.54.42.0

/ip firewall address-list

add address=172.16.0.0/24 list=local_net
add address=185.54.42.0/23 list=local_net

add address=185.54.42.74 comment=185.54.42.74_service list=service_4096
add address=185.54.42.74 comment=185.54.42.74_accept list=accept_list

/ip firewall filter

add action=drop chain=forward comment=fw_negbal_drop src-address-list=\
   negbal_list
add chain=forward comment=fw_accept_src src-address-list=accept_list
add chain=forward comment=fw_accept_dst dst-address-list=accept_list
add action=drop chain=forward comment=fw_default_drop
/ip firewall mangle
add action=mark-packet chain=forward comment=mark_4096_up new-packet-mark=\
   mark_4096_up passthrough=no src-address-list=service_4096
add action=mark-packet chain=forward comment=mark_4096_down dst-address-list=\
   service_4096 new-packet-mark=mark_4096_down passthrough=no

/ip firewall nat
add action=masquerade chain=srcnat dst-address-list=!local_net \
   src-address-list=local_net
add action=dst-nat chain=dstnat comment=blocked_redirect dst-port=80 protocol=\
   tcp src-address-list=!accept_list to-addresses=185.54.40.7 to-ports=80
add chain=dstnat comment=dnat_negbal_dns_accept port=53 protocol=udp \
   src-address-list=negbal_list
add action=dst-nat chain=dstnat comment=dnat_negbal_redirect dst-address-list=\
   !trusted_list protocol=tcp src-address-list=negbal_list src-port=80 \
   to-addresses=185.54.40.7 to-ports=80
/ip firewall service-port


add distance=1 gateway=185.54.40.1

 

верхний роутер 185.54.40.1 него маршрут по умолчанию 0.0.0.0/0

вниз смотрит интерфейс с адресом 185.54.42.1 на подсеть 23

 

соотвевенно сейчас все с этой подсети попадает под правило add action=masquerade chain=srcnat dst-address-list=!local_net \

src-address-list=local_net

 

если я убираю подсеть из списка local_net то трафик кончается

Share this post


Link to post
Share on other sites

"add action=drop chain=forward comment=fw_negbal_drop src-address-list=\

negbal_list

add chain=forward comment=fw_accept_src src-address-list=accept_list

add chain=forward comment=fw_accept_dst dst-address-list=accept_list

add action=drop chain=forward comment=fw_default_drop"

 

Чёт я не вижу разрешающих правил

Share this post


Link to post
Share on other sites

разрешающих что?

по идее вот эти две

add chain=forward comment=fw_accept_src src-address-list=accept_list

add chain=forward comment=fw_accept_dst dst-address-list=accept_list

разрешают ходить траффику для ip из accept_list

Share this post


Link to post
Share on other sites

разрешающих что?

по идее вот эти две

add chain=forward comment=fw_accept_src src-address-list=accept_list

add chain=forward comment=fw_accept_dst dst-address-list=accept_list

разрешают ходить траффику для ip из accept_list

Может я ошибаюсь но чёт action не видно

Share this post


Link to post
Share on other sites

может конфиг так выгрузился, типа значение по умолчанию, потому пусто. Если смотреть через winbox то action accept

Share this post


Link to post
Share on other sites

может конфиг так выгрузился, типа значение по умолчанию, потому пусто. Если смотреть через winbox то action accept

а в первом правиле что дропается?

Share this post


Link to post
Share on other sites

первым правилом дропается траффик от абонентов которые в списке неоплативших .

На вкладке НАТ он потом вторым правилом

add action=dst-nat chain=dstnat comment=blocked_redirect dst-port=80 protocol=\
   tcp src-address-list=!accept_list to-addresses=185.54.40.7 to-ports=80

если порт 80 редиректится на страничку заглушку. Это все работает корректно

Share this post


Link to post
Share on other sites

Пришла в голову мысль... А если хоть одно правило в нате есть случайно не отрубается ли маршрутизация? у меня ведь отключение маскарадинга ложит трафик потому что там есть еще правила ната для редиректа.

Share this post


Link to post
Share on other sites

На вскидку:

Адрес шлюза не попадает в accept_list, а по вашим правилам все пакеты у которых src или dst не попадает в accept_list не будут форвардиться.

Далее, все пакеты у которых src попадает в local_net а dst не попадает в local_net должны натиться.

 

Шлюз у вас 185.54.40.1

А

add address=172.16.0.0/24 list=local_net

add address=185.54.42.0/23 list=local_net

 

Какой трафик то у вас не идёт как надо? И вообще что вам нужно то?

Share this post


Link to post
Share on other sites

это верхний шлюз он попадает под маршрут по умолчанию. Интерфейс микротика 185.54.42.1 попадает в подсеть которая есть в local_net.

0 A S 0.0.0.0/0 185.54.40.1 1

1 ADC 172.16.0.0/24 172.16.0.5 mgm 0

2 ADC 185.54.40.0/27 185.54.40.5 ether1 0

3 ADC 185.54.42.0/23 185.54.42.1 red 0

 

Нужно чтобы все что идет с подсети 185.54.42.0 с гейтвеем 185.54.42.1 маршрутизировалось по маршруту по умолчанию на 185.54.40.1

Share this post


Link to post
Share on other sites

Вам надо сбросить все настройки, на всех других роутерах, и центральном, включить OSPF. Все будет работать.

Далее вам надо сделать так, что бы внутренний трафик сети не попадал под нат, иначе доступа не будет, или OSPF начнет глючить, хотя дело тут совсем не в микротике, а в не верных настройках.

Share this post


Link to post
Share on other sites

так он есть

add chain=forward comment=fw_accept_src src-address-list=accept_list

add chain=forward comment=fw_accept_dst dst-address-list=accept_list

 

Вам надо сбросить все настройки, на всех других роутерах, и центральном, включить OSPF. Все будет работать.

Далее вам надо сделать так, что бы внутренний трафик сети не попадал под нат, иначе доступа не будет, или OSPF начнет глючить, хотя дело тут совсем не в микротике, а в не верных настройках.

можно поподробней? на бордере bgp

его задача простая отдать трафик по маршрутам которые уже есть и работают. Нужен ли там еще ospf

Share this post


Link to post
Share on other sites

так он есть

add chain=forward comment=fw_accept_src src-address-list=accept_list

add chain=forward comment=fw_accept_dst dst-address-list=accept_list

 

Это не форвардинг. Форвардинг включается с помощью

/ip settings set ip-forward=yes

Share this post


Link to post
Share on other sites

так он есть

add chain=forward comment=fw_accept_src src-address-list=accept_list

add chain=forward comment=fw_accept_dst dst-address-list=accept_list

 

Это не форвардинг. Форвардинг включается с помощью

/ip settings set ip-forward=yes

не помогло

Share this post


Link to post
Share on other sites

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

Edited by ams666

Share this post


Link to post
Share on other sites

Мой вам совет:

Выключите все правила ната и файрволла.

Проверьте маршрутизацию.

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

 

Может быть, не взирая на стоны Сааба что так не правильно, использовать кроме листов ещё и src/dst интерфейсы в правилах чтоб получить действительно уникальные правила?

Share this post


Link to post
Share on other sites

можно поподробней? на бордере bgp

его задача простая отдать трафик по маршрутам которые уже есть и работают. Нужен ли там еще ospf

 

Убираете (отключаете) все правила ната, манглов и т.п. Смотрите заработало или нет.

99.9 всех проблем с маршрутизацией связано с попаданием транзитного трафика в НАТ или какие-то маркировки. У всех правил есть возможность работать с адресными листами в качестве источников адресов.

Share this post


Link to post
Share on other sites

проблема решена. Мой косяк с маршрутами на бордере. удалил все парвила ната. Не пошло. Проверил что пакеты уходят с микротика но не увидел что приходят. полез проверять выше. Пока bgp не остановил не увидел что маршрут идет на меньшую подсеть ( 22 а не 23).

Удивляюсь как это работало на linux роутере. Видимо он менее придирчив к маскам. а микротик не хотел роутить с такого маршрута и гнал через нат. В общем ситуация непонятная.

Share this post


Link to post
Share on other sites

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.