Подыму тему.
Подумалось тут недавно: всякие зебры и кваГГи оно конечно хорошо, (при весе в треть прошивки-то) но к чему всё сводится - отсниффить пару десятков пакетов со шлюза, отпарсить, и сделать route add . Это же реализабельно средствами шелла !
тупо делаем:
Code:
tcpdump src $GATEWAY and port 520 -i vlan1 -c 17 -s 520 -t -q -nx | grep 0x | cut -c11-49 | tr -d " " | tr -d "\n" > /tmp/bcst.txt
Получаем вот такую кашу:
Code:
000200000a000000ff0000000000000000000001000200004d3201d8fffffff8
0000000000000009000200004d326400ffffff00000000000000000900020000
4d496f00ffffffc00000000000000009000200004d496f40ffffffc000000000
00000009000200004df36000fffffc000000000000000009000200004df36400
fffffc000000000000000009000200004df36800fffff8000000000000000009
В этой каше отчётливо идут парами друг за другом сети [4d496f40] и маски [ffffffc0] остаётся их выловить и сделать в цикле
route add -net 0x4d496f40 netmask 0xffffffc0 gw $GATEWAY metric 10
за синхропосылку можно принять fffff (5 букв f) , перед ними 8 букв подсеть.
Просьба к тем, кто в шелловском парсинге/скриптинге понимает - помочь дорелизить идею
P.S. K сожалению шестнадцатеричные адреса не понимаются асусовским линуксом, нужно ещё преобразовать адреса в десятичные...