Jump to content
  • 0

Трафик по backup каналу


Ilya Golshtein
 Share

Question

keenetic KN-1010, версия 3.4.12

статический адрес по основному подключению, MTS модем (IMEI decoder говорит, что это Huawei IE3372H-153) как резервный канал.

ping check включен по основному провайдеру, выключен по модему.

Проблема: постоянный расход трафика по модемному соединению. Судя по билингу оператора, что-то вроде 4к в час. Проблемой это является потому, что тарифицируются сутки с ненулевым расходом трафика.

До этого с Asus RT-N16 с Tomato USB и тем же модемом оператор не фиксировал наличие трафика.

Куда смотреть, как лечить?

Link to comment
Share on other sites

20 answers to this question

Recommended Posts

  • 1
5 минут назад, Ilya Golshtein сказал:

keenetic KN-1010, версия 3.4.12

статический адрес по основному подключению, MTS модем (IMEI decoder говорит, что это Huawei IE3372H-153) как резервный канал.

ping check включен по основному провайдеру, выключен по модему.

Проблема: постоянный расход трафика по модемному соединению. Судя по билингу оператора, что-то вроде 4к в час. Проблемой это является потому, что тарифицируются сутки с ненулевым расходом трафика.

До этого с Asus RT-N16 с Tomato USB и тем же модемом оператор не фиксировал наличие трафика.

Куда смотреть, как лечить?

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

Link to comment
Share on other sites

  • 1
6 минут назад, Ilya Golshtein сказал:

Научился ловить пакетики.

Это DNS.
Причем если запрос успешный, то пакетика нет (есть шанс, что "успешный" - это закешированный, но я старался выбирать экзотические сайты).

В настройках никакого подвоха не вижу. По основному соединению явно прописано два DNS и прописано правильно, по модемному соединению тоже два DNS, которые пришли автоматически.
Почему роутер вдруг решает обратиться к DNS резервного канала (и использует для этого резервный канал), для меня пока загадка.

Роутер всегда использует все доступные dns, резерв не исключение.

Зы резерв вообще понятие относительное, с помощью policy routing например можно сделать основным каналом для части клиентов канал являющийся резервов для остальных.

Link to comment
Share on other sites

  • 0
14 minutes ago, r13 said:

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

Это немного очевидный совет ;)

Думал, что нужно ставить нормальный линукс через opkg, поэтому решил сначала спросить.

Но вроде как все проще https://help.keenetic.com/hc/ru/articles/360000401420

Сделаю.

Спасибо.

Link to comment
Share on other sites

  • 0
6 минут назад, Ilya Golshtein сказал:

Это немного очевидный совет ;)

Думал, что нужно ставить нормальный линукс через opkg, поэтому решил сначала спросить.

Но вроде как все проще https://help.keenetic.com/hc/ru/articles/360000401420

Сделаю.

Спасибо.

Не, не надо ставить, все встроено, согласно статье в хелпе.

Link to comment
Share on other sites

  • 0

Научился ловить пакетики.

Это DNS.
Причем если запрос успешный, то пакетика нет (есть шанс, что "успешный" - это закешированный, но я старался выбирать экзотические сайты).

В настройках никакого подвоха не вижу. По основному соединению явно прописано два DNS и прописано правильно, по модемному соединению тоже два DNS, которые пришли автоматически.
Почему роутер вдруг решает обратиться к DNS резервного канала (и использует для этого резервный канал), для меня пока загадка.

Link to comment
Share on other sites

  • 0
9 minutes ago, r13 said:

Роутер всегда использует все доступные dns, резерв не исключение.

Зы резерв вообще понятие относительное, с помощью policy routing например можно сделать основным каналом для части клиентов канал являющийся резервов для остальных.

Мне бы хотелось сделать понятие "резерв" менее относительным (ну или более абсолютным ;) ).

Как?

Link to comment
Share on other sites

  • 0
12 часа назад, Ilya Golshtein сказал:

Мне бы хотелось сделать понятие "резерв" менее относительным (ну или более абсолютным ;) ).

Как?

Можно попробовать dns прилетающий с модема выключить

interface <modem> ip dhcp client no name-servers
system configuration save

 

Link to comment
Share on other sites

  • 0

Добрый день,

вопрос по-прежнему актуален.

Перешел на гугловый DNS, в трафике по резервному каналу остались ARP и BOOTP.  Оператор трафик тарифицирует.

Для меня ситуация стала неприятным сюрпризом. Типичный вариант использования, дорогой и распространенный роутер с заявленной поддержкой LTS модема  и резервного канала. До этого все отлично работало с десятилетним роутером от Asus.

Откуда взяться проблемам?

Но они взялись.

Прошу помощи у комьюнити и поддержки.

  • Upvote 1
Link to comment
Share on other sites

  • 0
14 минуты назад, Ilya Golshtein сказал:

Перешел на гугловый DNS, в трафике по резервному каналу остались ARP и BOOTP.

ARP и BOOTP не должны дальше USB-модема уходить, если только сам USB-модем не шлёт их в сторону провайдера.

Link to comment
Share on other sites

  • 0
4 minutes ago, sergeyk said:

ARP и BOOTP не должны дальше USB-модема уходить.

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

Гипотетически у меня могли остаться устройства со статически прописанным DNS, которые изредка куда-то ходят.

Link to comment
Share on other sites

  • 0
2 минуты назад, Ilya Golshtein сказал:

Гипотетически у меня могли остаться устройства со статически прописанным DNS, которые изредка куда-то ходят.

Вы должны были видеть это в трафике, передаваемом через USB-модем, если делали захват.

Link to comment
Share on other sites

  • 0
18 minutes ago, sergeyk said:

Вы должны были видеть это в трафике, передаваемом через USB-модем, если делали захват.

Сейчас нет 4k в час, есть примерно они же в сутки. Думал, что это и есть ARP и BOOTP, но, действительно, тогда должно получаться больше.

Я оставлю снифер включенным подольше.

Link to comment
Share on other sites

  • 0

Задачка вполне возможно не решаема на кинетике, так как тут используется горячий резерв, а 4к вполне может оказаться ежечасным округлением трафика оператором, можно посмотреть в детализации интервалы тарификации оператора

Link to comment
Share on other sites

  • 0
4 minutes ago, r13 said:

Задачка вполне возможно не решаема на кинетике, так как тут используется горячий резерв,

Для меня идеально, если модем коннектится к сотовому оператору только при падении основного канала.

Нельзя ли достичь такое поведение?

 

Link to comment
Share on other sites

  • 0
Только что, Ilya Golshtein сказал:

Для меня идеально, если модем коннектится к сотовому оператору только при падении основного канала.

Нельзя ли достичь такое поведение?

 

нет, штатно кинетик так не функционирует

Link to comment
Share on other sites

  • 0
26 minutes ago, r13 said:

нет, штатно кинетик так не функционирует

Можно и не совсем штатно.

Задача не должна быть запредельно сложной.

Буду признателен за описание чего-то похожего в качестве starting point, а дальше уж попробую сам.

Link to comment
Share on other sites

  • 0
19 часов назад, Ilya Golshtein сказал:

Можно и не совсем штатно.

Задача не должна быть запредельно сложной.

Буду признателен за описание чего-то похожего в качестве starting point, а дальше уж попробую сам.

Да из идей только ставить entware и писать скрипты используя хуки кинетика wan.d и ifstatechanged.d

https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmwand

Мониторя таким образом состояние wan и отключать/включать интерфейс модема,

а в случае использования hilink модема еще и нужно гасить линк на самом модеме, так как ваш трафик вполне возможно пораждается в том числе самим модемом если на нем поднято соединение.

Link to comment
Share on other sites

  • 0
21 час назад, Ilya Golshtein сказал:

Для меня идеально, если модем коннектится к сотовому оператору только при падении основного канала.

Нельзя ли достичь такое поведение?

 

Как написано выше ставите Entware + ndmq + свой скрипт если уж совсем просто, чуть по сложнее то с "opkg install xmlstarlet"

1. в Web делаете настройку как и положено для двух каналов

2. скрипт проверяет основной канал и при его проблеме включает канал модема

- вариант а -> ПО само должно поднять канал (тут некоторое время)

- вариант б -> делаете деф маршрут на данный канал.

 

Примечание.

Изучаем список всех интерфейсов в роутере " ndmq -p 'show interface' -x " или в WEB - 192.168.1.1/a  команда "show interface"

Для вас важны параметры

Скрытый текст

В данном примере канал резервный выключен

    <interface name="PPTP0"> ************************* ИМЯ
        <id>PPTP0</id>
        <index>0</index>
        <type>PPTP</type>
        <description>Inet2</description> **************** в WEB имя "Inet2"
        <interface-name>PPTP0</interface-name>
        <link>down</link> ********************************* или link "up" включен
        <connected>no</connected> ******************** или connect "yes"
        <state>up</state>
        <role> ********************************************** для выхода в Интернет
            inet
        </role>
        <mtu>1400</mtu>
        <tx-queue>1000</tx-queue>
        <global>yes</global> *****************************
        <defaultgw>no</defaultgw> ********************** не default т.е. резерв
        <priority>26104</priority> ************************ приоритет, по нему определяется основной канал или резервный, чем больше тем лучше
        <security-level>public</security-level>
        <auth-type>none</auth-type>
        <fail>no</fail>
        <via>GigabitEthernet0/Vlan4</via>
        <last-change>14.172002</last-change>
    </interface>

 

По конф файлу

interface PPTP0
    description Inet2
    role inet
...

   ip global 26104
...

   down

 

Включаем все в WEB, далее выполняем

/ # ndmq -p "interface PPTP0 down" -x
<response>
    <message code="72155142" ident="Network::Interface::Base" source="" warning="no">
        "PPTP0": interface is down.
    </message>
    <prompt>(config)</prompt>
</response>
/ # ndmq -p "system configuration save" -x
<response>
    <message code="1441892" ident="Core::ConfigurationSaver" source="" warning="no">
        saving configuration...
    </message>
    <prompt>(config)</prompt>
</response>
/ # 

Проверяем что все выключено 


/ # ndmq -p "interface PPTP0 up" -x
<response>
    <message code="72155142" ident="Network::Interface::Base" source="" warning="no">
        "PPTP0": interface is up.
    </message>
    <prompt>(config)</prompt>
</response>
/ # ndmq -p "system configuration save" -x
<response>
    <message code="1441892" ident="Core::ConfigurationSaver" source="" warning="no">
        saving configuration...
    </message>
    <prompt>(config)</prompt>
</response>
/ # 

Проверяем что все включено и канал работает как резерв 


/ # ifconfig
....
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:ххх.ххх.ххх.ххх  P-t-P:ххх.ххх.ххх.ххх  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:3497 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4714 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:677119 (661.2 KiB)  TX bytes:435532 (425.3 KiB)

ppp2      Link encap:Point-to-Point Protocol  
          inet addr:ххх.ххх.ххх.ххх  P-t-P:ххх.ххх.ххх.ххх  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:196 (196.0 B)  TX bytes:208 (208.0 B)
....
/ # 

PPP0 основной, PPP2 резервный

Проверим основной канал на годность 3 пакетами если их 0 то выполнить вкл.канала
...
Count_ping=\`ping -c3 -I ppp0 yandex.ru | awk '/packets received/ {print \$4}'\`
...
if [ "$Count_ping" = 0 ]; then

включение канала - ndmq

fi

 

По сложней два варианта - наличие работающего или не работающего основного канала

Скрытый текст

Теже два канала PPPoE (основной) и PPTP (резервный)

/ # ndmq -p 'show interface' -x | xml sel -t -m '//interface[state="up"][global="yes"]' -v '@name' -o ',' -v 'description' -o ',' -v 'address' -o ',' -v 'via' -n
PPPoE0,RT,,GigabitEthernet1
PPTP0,Inet2,ххх.ххх.ххх.ххх,GigabitEthernet0/Vlan4
/ # 

Активный Inet2(резервный) на основном нет link



/ # ndmq -p 'show interface' -x | xml sel -t -m '//interface[state="up"][global="yes"]' -v '@name' -o ',' -v 'description' -o ',' -v 'address' -o ',' -v 'via' -n
PPPoE0,RT,ххх.ххх.ххх.хх6,GigabitEthernet1
PPTP0,Inet2,ххх.ххх.ххх.хх2,GigabitEthernet0/Vlan4
/ # 

Или добавим переменную [link="up"] при включенном резервном, но так как "defaultgw" на основном канале то 
/ # ndmq -p 'show interface' -x | xml sel -t -m '//interface[link="up"][state="up"][global="yes"][defaultgw="yes"]' -v '@name' -o ',' -v 'description' -o ',' -v 'address' -o ',' -v 'via' -n
PPPoE0,RT,ххх.ххх.ххх.хх6,GigabitEthernet1
/ # 

Второй использовать Hooks скрипты каталог /opt/etc/ndm/

 

Edited by vasek00
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.

 Share

  • Recently Browsing   0 members

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