Jump to content
  • 0

Прописать большое кол-во маршрутов


Patch17

Question

У меня есть около 15к маршрутов, которые я бы хотел повесить на определенный интерфейс. 
Через веб-интерфейс, такое количество маршрутов просто не загружается. Смог максимум загрузить около 4к. 
Если добавить через startup-config, роутер не поднимается и не отвечает после перезагрузки до полного сброса настроек(синтаксис соблюдаю).
Возможно ли решить мою задачу с помощью роутера Keenetic? Возможно какие-то дополнительные пакеты из opkg смогли бы мне помочь сделать это.

UPD:
Все же прописать 15 тысяч маршрутов(На 45кк ip) в консоли через opkg возможно. Сделать это можно без труда, все вроде как работает, интернет не тупит, скорость не режет, пинг нормальный. Ресурсов у роутера еще вагон, и все бы хорошо - @reboot  sh script.sh через cron и все бы работало. Но веб интерфейс ужасно тупит, даже на домашнюю страницу прогрузить не в состоянии с таким кол-вом маршрутов. Во что он упирается, я так и не понял. Видимо скрипты запрашивают постоянно данные о состоянии роутера, и каждый раз при запросе маршрутов веб роутера падает в таймауты вместе со скриптами. 

Edited by Patch17
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
3 часа назад, Patch17 сказал:

У меня есть около 15к маршрутов, которые я бы хотел повесить на определенный интерфейс. 
Через веб-интерфейс, такое количество маршрутов просто не загружается. Смог максимум загрузить около 4к. 
Если добавить через startup-config, роутер не поднимается и не отвечает после перезагрузки до полного сброса настроек(синтаксис соблюдаю).
Возможно ли решить мою задачу с помощью роутера Keenetic? Возможно какие-то дополнительные пакеты из opkg смогли бы мне помочь сделать это.

bird4static поставьте и попробуйте через него маршруты прописать на интерфейс.

Link to comment
Share on other sites

  • 0
18 hours ago, PASPARTU said:

bird4static поставьте и попробуйте через него маршруты прописать на интерфейс.


Не хотелось бы использовать без особой надобности сторонние скрипты. 
Список cidr адресов я генерирую и преобразую в нужный мне формат собственными скриптами. И вопрос в том как их маршрутизировать без добавления каждой подсети через ip route, т.к интерфейс роутера перестает мне отвечать частично. 
Скорее всего нужно использовать, как в bird4static судя по скриптам, ip rule с таблицами. И маршрутизировать уже их. Ищу как сделать это корректно. 

UPD: 

Нашел на Github, пример достаточно лаконичного решения, взял его за основу. Вроде как решено. 
https://github.com/rustrict/keenetic-traffic-via-vpn

Решение которые я использовал у себя.

echo "Adds a routing rule that redirects traffic entering through interface br0 to routing table 1000 with priority 1995."
ip rule add iif br0 table 1000 priority 1995 2>/dev/null

echo "Create routes in the table, for each subnet from the file /opt/root/region.txt"
while read cidr; do
    ip route add table 1000 $cidr dev nwg0 2>/dev/null
done < /opt/root/region.txt

echo "The creation of routes is completed."


Можно добавить в крон через sleep после запуска , например так:  

@reboot sleep 60 && sh /opt/unblock/route_start.sh
Edited by Patch17
Добавил решение
  • Thanks 1
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...