Непонятный сброс других таблиц маршрутизацыи и udev
сама проблемма указана в теме, и для её понимания в чём её суть, сначало надо описатьвсю ситуацыю.
есть у меня несколько провайдеров, а так же некоторые сетевые устройства со своими маршрутами и шлюзами. и для того чтобы соответствующие запросы по сети отправлялись на соответствующие устройства выделил таблицы. а для них соответственно соответствующие правила.
0: from all lookup tLocal
1000: from all lookup tBlackList
32761: from 10.111.186.128/25 lookup tRos
32762: from 46.46.24.0/21 lookup tAlyans
32763: from 10.53.114.0/24 lookup tPodryad
32764: from 192.168.8.0/24 lookup tModem
32765: from 192.168.42.0/24 lookup tMobile
32766: from all lookup tMain
32767: from all lookup tDefault
пояснение: tRos, tAlyans, tPodryad это таблицы с маршрутами на конкретных провайдеров. а tModem на мой сотовый модем. с ними всё впорядке. а в таблице tBlackList собраны адреса такого вида
prohibit 3.144.50.132
prohibit 3.144.50.133
все адреса иммено такие без всяких указаний на конкретные сетевые интерфейсы. их предостаточно, и все они однотипны так как заполняются одним скриптом. так же в таблице tMobile определены маршруты и шлюз на мой смарт с последним андройдом. в ней следующая запись:
default via 192.168.42.129 dev Mobile proto static
всё это работает почти хорошо, и при необходимости я просто переключаю основную таблицу на нужный основной шлюз
ib route replace default dev Alyans ну или Ros или подряд или Modem или Mobile.
тоесть быстренько переключаюсь от одного провайдера на другой, при том что чёрный список работает при любом провайдере.
но иногда мне на мобильник конечно жэ звонят и я его конечно жэ беру в руки. и бывает провод отходит ну или в в уесби питание прыгнет, то мобильник конечно же переподключается. и тогда соответственно все маршруты связаные с этим интерфейсом из системы ищезают. оно и понятно. и конечно же правильно. поэто му когда из основной таблице tMainn исчезает основной шлюз dev Mobile я не удивляюсь. и то что таблица tMobile тоже обнуляется, это нормально.
но вот почему при этом полностью обнуляется таблица tBlackList? вот это непонятно и неприятно. мне конечно не трудно заполнить её скриптом ещё раз, но звонят часто и она обнуляется всегда при отключении каждый раз. и именно с интерфейсом мобильного. может кто знает почему?
пробовал отключать и модем и других провайдеров, но случается это именно с самим сотовым. сервисы NetworkManager и networking у меня отключены. работает только systemd-networkd. но этот сервис только назначает статический айпишник. а переименовывание интерфейса происходит при помощи udev в файле
/etc/udev/rules.d/70_Mobile.rules.
ACTION==«add», KERNEL==«usb0», SUBSYSTEM==«net», DRIVERS==««, ATTR{broadcast}==«ff:ff:ff:ff:ff:ff», ATTR{dev_id}==«0x0», ATTR{type}==«1», ENV{DISPLAY}=»:0», ENV{XAUTHORITY}=«/home/x/.Xauthority», NAME=«Mobile», RUN+=«/usr/bin/echo ava > /tmp/aga.txt»
при этом переименовывание происходит а скрипт не выполняется, странно? таким образом это правило срабатывает когда сотовый интерфейс я включаю в уесби как интернет провайдера и таблица чёрного списка ещё работает. а обнуляется она именно при отключении сотового. udev test /sys/class/net отчитывается что это правило загружено.
кто что может посоветовать?
всем удачи.