Jump to content
  • 0

KN-1811 как добавить 13K статических маршрутов?


s0l

Question

Задача: хочу весь RU-трафик пустить через провайдера, а все остальное по другим каналам )

Выгружены адреса RU-сегментов в виде пары сеть/маска. Из них sed'om получил 13263 строк маршрутизации.

Сначала пытался загрузить через .bat файл в интерфесе - ну около 1000 он съел, остальные просто куда-то делись )

Теперь пытаюсь через ssh залить типа:

ssh -t -t -ladmin 192.168.21.1 < kn18.ru.txt

строки вида:

ip route 2.16.20.0 255.255.254.0 X.X.X.X ISP auto

Но это в итоге убивает web-интерфейс, страничку со статическим роутингом) Да и сам роутер начинает чудить)

Вопрос: а как мне настроить роутинг, и желательно что бы он не появлялся в закладке со статическим роутингом (ну или эту страничку оптимизировать можно?)

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Не проще вам прописать маршруты куда вы хотите ходить через другие каналы?

 

В 02.12.2023 в 15:29, s0l сказал:

Задача: хочу весь RU-трафик пустить через провайдера, а все остальное по другим каналам )

Выгружены адреса RU-сегментов в виде пары сеть/маска. Из них sed'om получил 13263 строк маршрутизации.

Сначала пытался загрузить через .bat файл в интерфесе - ну около 1000 он съел, остальные просто куда-то делись )

Теперь пытаюсь через ssh залить типа:

ssh -t -t -ladmin 192.168.21.1 < kn18.ru.txt

строки вида:

ip route 2.16.20.0 255.255.254.0 X.X.X.X ISP auto

Но это в итоге убивает web-интерфейс, страничку со статическим роутингом) Да и сам роутер начинает чудить)

Вопрос: а как мне настроить роутинг, и желательно что бы он не появлялся в закладке со статическим роутингом (ну или эту страничку оптимизировать можно?)

 

Link to comment
Share on other sites

  • 0
On 12/4/2023 at 8:39 AM, Monstr86 said:

Не проще вам прописать маршруты куда вы хотите ходить через другие каналы?

А другие каналы - это как? Единственное что приходит в голову через opkg получить консоль и попробовать там накатить таблицу роутинга, Но насколько оно встроится в политики самого Keenetic я не могу предсказать ( Ну или покупать второй хостинг в России и там уже это решать - но это гемор и деньги) Хотелось бы на самом кинетике все это решить (

Link to comment
Share on other sites

  • 0

Entware + маркировка пакетов по базе geoip или ipset с вашими сетями, а далее отдельная таблица маршрутизации и ip rule что бы маркированные пакеты в нее совало.

Вот та таком ipset - Number of entries: 151258 никаких тормозов нет

Edited by gaaronk
  • Thanks 1
Link to comment
Share on other sites

  • 0

Что то типа такого

в файле

/opt/etc/iproute2/rt_tables

200     russia

 

в /opt/etc/ipset/ipset.conf

create russia hash:net family inet hashsize 1024 maxelem 1048576

 

в /opt/etc/iptables.raw

*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:SET-MARK - [0:0]
:VPN-MARK - [0:0]
-A PREROUTING -i br0 -m state --state NEW -j VPN-MARK
-A PREROUTING -i br0 -m connmark --mark 0x777 -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A SET-MARK -j CONNMARK --set-xmark 0x777/0xffffffff
-A VPN-MARK -d 192.168.0.0/16 -j RETURN
-A VPN-MARK -d 10.0.0.0/8 -j RETURN
-A VPN-MARK -m set --match-set russia dst -g SET-MARK
COMMIT

делаете скрипт, и делаете его исполняемым

/opt/etc/init.d/S01system

 

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

[ "$1" != "start" ] && exit 0

# iproute2

ip rule | grep -q russia

if [ $? -ne 0 ]; then
    ip rule add pref 200 from 192.168.0.0/16 fwmark 0x777 lookup russia
fi

# ipset

if [ -f /opt/etc/ipset/ipset.conf ]; then
        /opt/sbin/ipset -X
        /opt/sbin/ipset restore < /opt/etc/ipset/ipset.conf
fi

insmod /lib/modules/$(uname -r)/iptable_raw.ko

/opt/sbin/iptables -L -n -t raw | grep -q "VPN-MARK"

if [ $? -ne 0 ]; then
    /opt/sbin/iptables-restore -T raw < /opt/etc/iptables.raw
fi

ip route  default via 192.168.21.1 table russia

exit 0

 

Ну и пакеты поставить все необходимые.

 

Итого для каждой новой сессии для первого пакета мы смотрим в ipset, и на весь connection вешаем метку (и не гоним через ipset каждый пакет!)

Согласно метки ищем маршрут в таблице russia

А в этой таблице дефолт указан на ваш 192.168.21.1

 

А как уж наполнять ipset - динамически или один раз статически - сами решайте. В примере он пустой

Edited by gaaronk
  • Thanks 1
Link to comment
Share on other sites

  • 0
В 05.12.2023 в 14:49, gaaronk сказал:

Entware + маркировка пакетов по базе geoip или ipset с вашими сетями, а далее отдельная таблица маршрутизации и ip rule что бы маркированные пакеты в нее совало.

А можно и мне помочь с аналогичной задачей и тоже KN-1811? Только наоборот - все российские подсети засунуть в WARP (VPN Wireguard), на всё остальное - провайдер или другие каналы (подняты несколько Open VPN). Подготовил bat-файл с 13406 строками всех российских подсетей и роутер принял ровно первые 1024 строки маршрутизации...

Большинство российских IP-адресов у меня тупо заблокированы вообще. Поэтому идея была засунуть весь трафик в РФ в WARP.

Entware поставил во внутреннюю память роутера ранее, но что вы пишите не понимаю и как это модифицировать для моей задачи (не линуксоид совсем, но опытный пользователь почти всех версий Windows, когда-то очень давно DOS). И не вполне понимаю ожидаемую логику работы, вот если бы работали статические маршруты, как должны. Не верю, что 13,5 тысяч статики проблема для топового роутера...

 

Edited by Vorlon
Link to comment
Share on other sites

  • 0

Ну вот вам надо создать ipset для российских сетей

в файлик /opt/etc/ipset/ipset.conf сначала строка

сreate russia hash:net family inet hashsize 1024 maxelem 1048576

потом 13 тыс ваших

add russia <адрес>

и потом в примере вместо 192.168.21.1 используйте дефолт вашего VPN

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