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

/31 в Mikrotik такое ощущение, что баг.

Навешиваю на интерфейс IP с маской /31

Все работает, с двух сторон пингуется.

Создаю в таблице маршрутизации маршрут с gateway=адрес соседа

Пишет что шлюз unreacable. При том, что пинги на Gateway проходят!

Может кто-то у себя проверить ?

Share this post


Link to post
Share on other sites

grifin.ru, со /31 бывают фокусы. Официально оно не поддерживается. Используйте /32

На линках точка-точка поддерживается и /30 и /32

Share this post


Link to post
Share on other sites

nkusnetsov

В общем чудесным образом заработало, когда вместо адреса соседа по /31 указал в качестве gateway'а интерфейс (ether2)

Share this post


Link to post
Share on other sites

grifin.ru, кхм.. Если линк ethernet-подобный с broadcast средой, то использовать в качестве gateway имя интерфейса - не самая лучшая практика.

Share this post


Link to post
Share on other sites

grifin.ru, кхм.. Если линк ethernet-подобный с broadcast средой, то использовать в качестве gateway имя интерфейса - не самая лучшая практика.

В /31 нет бродкатса. Это, по сути, PtP интерфейс поэтому это даже с какой-то стороны логично. НО !!!!!

Этот линк используется для поднятия BGP сессии а после нее поднятия добавляется BGP маршрут (дефолт), добавляется он не на интерфейс а на второй IP... и НЕ РАБОТАЕТ.

Чего-то SaaB молчит )))

Share this post


Link to post
Share on other sites

Создавайте адреса без масок вообще. Это менее глючная технология.

А как микротик тогда узнает что нужно именно на этот интерфейс слать пакеты для IP пира ?

Share this post


Link to post
Share on other sites

Так маршрут появится. В IP указываете свой адрес, а в Network адрес соседа. OSPF может не заработать, пока не поставите тип ptmp, т.к. в этом режиме он запросы не мультикастом отправляет, а по IP напрямую.

Share this post


Link to post
Share on other sites

Saab95

Аплинк дал /30 для стыка. Проблему обошли. Но не решили (

 

Если абонент дал /30 для стыка, то со своей стороны ставьте маску /24 или меньше, что бы адрес провайдера туда попадал, и пропишите шлюз, так же все заработает без проблем.

Share this post


Link to post
Share on other sites

Saab95

Аплинк дал /30 для стыка. Проблему обошли. Но не решили (

 

Если абонент дал /30 для стыка, то со своей стороны ставьте маску /24 или меньше, что бы адрес провайдера туда попадал, и пропишите шлюз, так же все заработает без проблем.

Если с той стороны поставили /30 то и с моей стороны, очевидно, нужно посавить /30, что и было сделано и все работает.

Вопрос в том почему такие баги со /31 ?

Share this post


Link to post
Share on other sites

Если с той стороны поставили /30 то и с моей стороны, очевидно, нужно посавить /30, что и было сделано и все работает.

 

Подсети используются только для разделения большого куска адресного пространства на более мелкие. И имеет как сущность смысл только со стороны маршрутизаторов и по части широковещательных запросов. Со стороны абонента можно указывать любую подсеть, лишь бы шлюз попадал в ее зону адресации. Естественно, в этом случае абонент не сможет попасть на другие сети через маршрутизацию, если со стороны маршрутизатора прокси арп не включено, но это в данном обсуждении никак не повлияет.

Share this post


Link to post
Share on other sites

Если с той стороны поставили /30 то и с моей стороны, очевидно, нужно посавить /30, что и было сделано и все работает.

 

Подсети используются только для разделения большого куска адресного пространства на более мелкие. И имеет как сущность смысл только со стороны маршрутизаторов и по части широковещательных запросов. Со стороны абонента можно указывать любую подсеть, лишь бы шлюз попадал в ее зону адресации. Естественно, в этом случае абонент не сможет попасть на другие сети через маршрутизацию, если со стороны маршрутизатора прокси арп не включено, но это в данном обсуждении никак не повлияет.

Какую-то ерунду вы, батенька, пишите...

Если указать большую сеть, то маршрутизатор будет все эти адреса адресовать как локальные, т.е. если указать /24, то на все эти /24 пакеты будут слаться напрямую в интерфейс. Это при том, что большая часть из них через интерфейс недоступна, а доступна только через шлюз.

Таким образом легко можно потереять, например, доступ к DNS провайдера и пр.

Вы меня разочаровываете прямо предлагаю такое решение...

Share this post


Link to post
Share on other sites

Какую-то ерунду вы, батенька, пишите...

Если указать большую сеть, то маршрутизатор будет все эти адреса адресовать как локальные, т.е. если указать /24, то на все эти /24 пакеты будут слаться напрямую в интерфейс. Это при том, что большая часть из них через интерфейс недоступна, а доступна только через шлюз.

Таким образом легко можно потереять, например, доступ к DNS провайдера и пр.

Вы меня разочаровываете прямо предлагаю такое решение...

 

Вы читайте что написано.

Если на маршрутизаторе указать адрес 10.0.0.1/30, то абоненту нужно указать адрес для работы 10.0.0.2/30. Однако абонент может указать адрес 10.0.0.2/24 и так же у него все будет работать. Только запросы на всю эту сеть /24 пойдут локально и на маршрутизатор не попадут. Для этой цели на маршрутизаторе нужно включать прокси-арп.

 

Однако ваш изначальный вопрос был про то, что маска /31 не работает на микротике. И если вам дали такие адреса, то есть 2 решения, про которые я уже указывал:

 

1. Это указать адреса без маски - в поле IP указать выданный вам адрес, в поле Network указать адрес (шлюз) провайдера. Это и есть маска /31 по микротиковски.

2. Указать маску /30 или /29, подогнав адресацию под деление выданной сети, если он в деление пол /30 не попадает, тогда поставить /29. Если у провайдера рядом находятся какие-то еще IP адреса, попадающие в эту большую маску - нужно прописать их в маршрутах поштучно в сторону шлюза, и на них доступ не пропадет.

Share this post


Link to post
Share on other sites

Маска /31 на Mikrotik работает при одном условии.

Как написал в 1 примере Saab95 локальный IP адрес должен быть конечным IP адресом. Network - это начальный IP адрес удаленной стороны. При противоположных настройках маска /31 не работает...

 

 

566590429_mikrotikmask31.gif.b87897b75029da7011846df425717786.gif

 

Ссылка на другой пример настройки (возможно пригодится)

 

 

Маршрутизация на Микротик в сети /31 не настраивается  просто.  Статический маршрут с указанием IP адреса для сети /31 у меня не заработал. Пришлось в качестве gw указать сам физический интерфейс и обмануть, добавив статическую ARP запись.

 

Пример моих настроек

ip address=X.X.97.129/31 interface=vlanY network=X.X.97.128

 

ip route
add distance=1 dst-address=X.X.97.131/32 gateway=vlanY


ip arp
add address=X.X.97.128 interface=vlanY mac-address=00:17:E0:XX:XX:00
add address=X.X.97.131 interface=vlanY mac-address=00:17:E0:XX:XX:00

 

 

Возможно, есть более правильные способы настройки статической маршрутизации...

 

Edited by neperpbl3

Share this post


Link to post
Share on other sites

Что такого может /31, чего не может /32? Просто пытаюсь понять, зачем люди сами себе лишние трудности создают...

Share this post


Link to post
Share on other sites

39 минут назад, maxkst сказал:

Что такого может /31, чего не может /32? Просто пытаюсь понять, зачем люди сами себе лишние трудности создают...

Экономия адресного пространства для P2P-стыков. Или на одного вы потратите 4 адреса /32, или на двоих /31 из этого же диапазона в 4 адреса. Если вам только юникаст и оборудование позволяет использовать /31, то решение вполне оправдано.

Share this post


Link to post
Share on other sites

39 минут назад, maxkst сказал:

Вы путаете со /30

Да, прошу прощения :)) невнимально прочитал и ответил соответствующе)

Share this post


Link to post
Share on other sites

на микроте /31 делается вот так:

/ip address add address=10.50.50.10/32 network=10.50.50.11 interface=vlan_555

 

на другом конце, на котором оборудование умеет /31:

10.50.50.11/31

 

 

Ну и ещё можно лайвхаки там всякие юзать благодаря этой реализации, например для для ip unnumbered:

 

/interface vlan

add name=vlan_100 interface=sfpp1 arp=proxy-arp comment="unnumbered_user1"

add name=vlan_101 interface=sfpp1 arp=proxy-arp comment="unnumbered_user2"

add name=vlan_102 interface=sfpp1 arp=proxy-arp comment="unnumbered_user3"

 

 

/ip address

add address=10.50.50.1/32 network=10.50.50.100 interface=vlan_100  comment="unnumbered_user1"

add address=10.50.50.1/32 network=10.50.50.101 interface=vlan_101  comment="unnumbered_user2"

add address=10.50.50.1/32 network=10.50.50.102 interface=vlan_102  comment="unnumbered_user3"

 

Ну а на стороне каждого из клиентов это будет 

ip: 10.50.50.X

mask: 255.255.255.0

gw: 10.50.50.1

 

и да, это будет работать даже если клиент укажет себе неверно адрес шлюза

 

 

А если прикрутить сюдой DHCP со скриптом создания такой записи на интерфейсе - то вообще почти Erricsson получается для небольших узлов или вцелом компаний - очень даже очень)))

Share this post


Link to post
Share on other sites

В 13.07.2022 в 14:50, neperpbl3 сказал:

Возможно, есть более правильные способы настройки статической маршрутизации...

Если IP адреса не участвуют в каких-то других действиях, можно тупо маску /24 вешать и ставить нужный адрес шлюза и адрес себе, работать будет.

 

Если адреса свои и нужна экономия, выше примеры поштучного использования адресов были указаны.

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.