Искал ответы на свои вопросы, наткнулся на эту тему: http://forum.mikrotik.com//viewtopic.php?t=7004&highlight=routing+filer. У них была та же проблема, что и я сейчас пытаюсь решить. Разумеется, ответа так и не было. Сейчас у меня настроен PPPoE-сервер в сети /16. У него есть только один Ethernet-канал, подключенный к этой /16. Я хочу, чтобы он получал все маршруты от других роутеров, передающих информацию по сети /16. Что я заметил, когда PPPoE-клиент подключается, его маршрут добавляется на сервер, и всё работает нормально. Однако, как только OSPF понимает, что появился новый “интерфейс/IP”, он начинает рассылать маршрут, как добраться до сети. Это то, что я хочу остановить. Поскольку это не “сеть”, так как используется PPPoE. Если ospf не добавляет свой неактивный маршрут, то всё распространяется корректно. Надеюсь, это понятно. И если есть какой-то лучший способ, который я не вижу, потому что я в лесу, пожалуйста, дайте знать. Спасибо за любую помощь. -Keith-
Привет, да, мы уже разобрались и нашли способ это сделать. Хитрость, которая была не совсем ясна, заключается в том, что намеренно не добавляешь PPPoE подсети в список "networks" на Mikrotik под OSPF. Вместо этого перераспределяешь подключенные (либо как тип 1, либо как тип 2), и тогда PPPoE подсети появляются как тип 5 (внешние) LSA, и фильтр ospf-out работает на них. Фильтр может затем удалять /32 для отдельных туннелей, оставляя за собой более крупную подсеть. В итоге ты избавляешься от IP-адресов туннелей без необходимости настраивать отдельную stub area; единственное изменение – PPPoE подсеть появляется как внешняя (LSA типа 5) вместо внутри-областной типа 1, но я не вижу никаких проблем с этим – если только у тебя есть, mrz? (мы уже используем это в продакшене, и всё работает нормально)
Ну что, починил ты это? Я тоже ищу решение. Использую V4.5 ROS и у меня та же проблема, а флаги: X - отключено 0 chain=ospf-out prefix=0.0.0.0/0 prefix-length=32 protocol=ospf invert-match=no action=discard set-disabled=no – не работает. Это настроено на моем роутере, который принимает PPTP для моих клиентов, у которых есть подключение к ADSL через мой MTik. Он добавляет это в OSPF таблицу маршрутизации, и я не могу от него избавиться.
Я до сих пор не понимаю, что не так с моими настройками? Я установил префикс 32, потому что получаю эти маршруты в списке маршрутов: 7 ADC 10.46.4.0/24 10.46.4.1 Bridge.Sadistiko1 0 8 ADC 10.46.4.181/32 10.46.4.1 <pptp-02.dragec> 0 9 ADC 10.46.4.182/32 10.46.4.1 <pptp-03.dundich> 0 10 ADC 10.46.4.187/32 10.46.4.1 <pptp-08.leteci> 0 11 ADC 10.46.4.188/32 10.46.4.1 <pptp-09.marac> 0 12 ADo 10.46.5.0/27 10.46.3.22 110 13 ADo 10.46.5.32/27 10.46.1.21 110 Так вот, я хочу избавиться от этих маршрутов: 8, 9, 10, 11. Это список с моих OSPF интерфейсов: [leteci@Sadistiko] /routing ospf interface> print Флаги: X - отключен, I - неактивен, D - динамический, P - пассивный # INTERFACE COST PRI NETWORK-TYPE AUT... AUTHENTICATIO... 0 KLIENT.Sadistiko.Silo... 55 1 broadcast simple 5netospf 1 LINK.Sadistiko-Sajmi\... 37 1 broadcast simple 5netospf 2 X 5net.AP proba 37 1 broadcast simple 5netospf 3 Bridge.Sadistiko1 10 1 broadcast simple 5netospf 4 D <pptp-08.leteci> 10 1 point-to-point none 5 D <pptp-03.dundich> 10 1 point-to-point none 6 D <pptp-02.dragec> 10 1 point-to-point none 7 D <pptp-09.marac> 10 1 point-to-point none И я уже писал это: Флаги: X - отключен 0 chain=ospf-out prefix=0.0.0.0/0 prefix-length=32 protocol=ospf invert-match=no action=discard set-disabled=no И всё равно эти маршруты отправляются на другие маршрутизаторы в сети. Мне нужно перезагрузить устройство, чтобы изменения вступили в силу, может быть?
Зачем тебе вообще OSPF на PPTP??? Если ты хочешь, чтобы роутер не отправлял маршруты соседу, поменяй конфиг, как я показал в своем предыдущем сообщении.
Для pppoe. Сделайте все интерфейсы pppoe пассивными в конфигурации интерфейса ospf. Добавьте сеть pppoe /16 в другую область, чем backbone, и используйте диапазон областей для агрегации всех маршрутов /32 в одну сеть /16. Это правильный способ настройки ospf в подобных случаях.
@martini, ты меня не поняла. Мне не нужно, чтобы OSPF распространял PPTP по другим частям сети. Этот, мой, ROS является частью нашей сети и входит в состав OSPF-маршрутизаторов, которые активно маршрутизируют нашу сеть. Я не вижу разницы между тем, что ты написала, и тем, что я сделала на маршрутизаторе. Извини. @mrz, я сделала так, как ты сказал. Мои PPTP-клиенты теперь получают IP-адреса 172.16.254.x, и теперь OSPF больше не распространяет эти IP-адреса. Моя область в сети охватывает только подсети 10.0.0.0/8, так что 172.16.x.x не в игре. Я не могу настроить эти PPTP-интерфейсы как пассивные в свойствах OSPF-интерфейса, потому что эти PPTP-интерфейсы создаются динамически, когда подключаются клиенты. Пока что работает. Спасибо.
Ну можно сделать их пассивными, явно добавить ethernet-интерфейсы и добавить ещё одну запись для интерфейса all со свойством passive=yes. В такой конфигурации все динамические интерфейсы будут пассивными.
Извини, что поднимаю старую тему, но это сейчас в топе поисковых запросов по этому вопросу, так что поехали. Хотя решение от mrz и верно для OSPF-дизайна, где все маршрутизаторы – маршрутизаторы магистрали, в больших сетях это не всегда так. Проблема здесь в фильтрации PPPoE-интерфейсов из магистрали, но использование команды area range на ABR затем приводит к потере маршрутизации для не-PPPoE-устройств в той же подсети. Думаю, у меня есть более простое решение для фильтрации PPPoE, даже внутри области. Либо настроить blackhole-маршрут и перераспределить его в OSPF для подсети, не добавляя команду area для PPPoE-подсети, либо настроить loopback для подсети и указать OSPF-инстансу перераспределять соединенные интерфейсы, но установить ospf-out фильтр на подсети с префиксом /32. Я выбрал второй вариант, так как это позволяет инженерам подключаться на месте без использования PPPoE.