Протокол B.A.T.M.A.N.
B.A.T.M.A.N. (Better Approach To Mobile Ad-hoc Networking) — это децентрализованный протокол маршрутизации для Mesh-сетей. Mesh-сети состоят из множества узлов, которые динамически соединяются друг с другом и передают данные по сети, образуя самонастраивающуюся и самоорганизующуюся структуру. В отличие от традиционных протоколов, таких как OLSR или RIP, которые используют централизованные таблицы маршрутизации, B.A.T.M.A.N. использует распределенный подход. Основные характеристики B.A.T.M.A.N.: Децентрализация: Каждый узел ведет свою собственную маршрутизацию, не полагаясь на централизованные маршрутизаторы. Это делает сеть устойчивой к сбоям отдельных узлов. Шкала масштабируемости: Протокол эффективен для сетей с большим количеством узлов, поскольку каждый узел знает только ближайших соседей и не хранит информацию обо всей сети. Динамическое обновление маршрутов: Маршруты обновляются на основе активных узлов и доступных соединений. B.A.T.M.A.N. выбирает лучшие маршруты для передачи данных, избегая узлов с высокой загрузкой или низким качеством связи.
Проверить какие интерфейсы добавлены:
batctl if
Добавление интерфейсов:
batctl if add bond0 batctl if add eth0 batctl if add br0
Проверить маршрутизацию batman:
originator table - таблица авторов - сосед: batctl o neighbor table - соседний стол - ближайший сосед: batctl n translation tables global - глобальная таблица трансляции: batctl tg translation tables - таблицы перевода - таблица перехода - локальная таблицы трансляции batctl tl шлюз - назначение шлюза - проверка является этот хост шлюзом batman-adv batctl gw
Претензии по петлям:
batctl cl
Проверить какой версии протокол batman используется:
batctl ra
Изменить версию протокола batman:
batctl ra BATMAN_V
!!! Не обязательно но может быть полезно
Для работы dhcp и других протоколов можно включить mff multicast_forceflood setting batctl mff 1
Разобрать интерфейс bat0:
batctl meshif bat0 interface destroy
Пример файла bat-host:
При создании файла /etc/bat-hosts в выводе многих команд batctl MAC-адреса будут заменены символическими именами. Эти имена не обязательно должны совпадать с именем хоста или соответствовать DNS. Используемый MAC-адрес в файле bat-hosts — MAC интерфейса который добавили командой "batctl if add name_interface" забираем с каждого хоста и заполняем этот файл. MAC желаемое_имя cat > /etc/bat-hosts << "EOF" 0c:d0:51:0e:00:01 offiec-e1 0c:d0:51:0e:00:02 office-e2 0c:a4:32:06:00:01 office2-e1 0c:a4:32:06:00:02 offiece2-e2 0c:44:b9:13:00:01 office3-e1 0c:44:b9:13:00:02 office3-e2 0c:e2:fb:ea:00:02 garage-e1 0c:e2:fb:ea:00:01 garage-e2 EOF
Приоритеты:
Чтобы настроить приоритет для интерфейса или маршрута, можно использовать команду batctl throughput_override, которая напрямую управляет параметром throughput_override. Проверка текущего значения throughput_override для интерфейса: batct o batctl wlan0 throughput_override Изменение значения throughput_override: batctl <интерфейс> throughput_override <значение> batctl wlan0 throughput_override 100000 batctl wlan0 to 100000 Чтобы сбросить значение throughput_override и вернуть автоматический расчет пропускной способности, нужно установить его значение в 0: batctl wlan0 to 0
Фрагментация трафика
batctl fragmentation 1 batctl fragmentation 0 batctl f 0 batctl f 1