syncLMS-Multi-MikroTik-PPPoE getLMS-Multi-MikroTik-LastOnline AlertPSUFail Failover2NetPro

jak zautomatyzować konfiguracje anten klienckich Mikrotik oraz Ubiquiti

   11-10-2017 23:00:00       Odwiedziny: 3659

Co potrzebujesz?
  • Raspberry Pi, Banana Pi lub inny komputer z kartą sieciową oraz zainstalowanym systemem operacyjnym i programem screen, na którym uruchomisz dwa skrypty, o których mowa poniżej
  • skrypt UpgradeNetworkDevices - dzięki któremu zaktualizujesz urządzenie do odpowiedniej wersji
  • skrypt ChangeSettingsNetworkDevices - dzięki któremu wgrasz konfiguracje na urządzenie
  • configi (dla Mikrotika wersja *.rsc, czyli w terminalu uruchamiamy /export file=nazwa) dla każdego modelu urządzenia oraz w docelowej wersji oprogramowania
  • paczki z oprogramowaniem dla Mikrotik`a (*.npk) oraz Ubiquiti (*.bin) do których mają być zaktualizowane urządzenia klienckie

Co dalej?
Komputer gotowy? System zainstalowany? Skrypty zainstalowane?
W takim wypadku przechodzimy do konfiguracji.
Usuwamy zawartość pliku baseDevices.ini skryptu UpgradeNetworkDevices, a w zamian dodajemy (oczywiście zmieniamy na wersje oprogramowania, które chcemy uzyskać):
;UpgradeNetworkDevices
;baseDevices.ini zgodność z v1.1.3

[ubiquiti]
host                            = "192.168.1.20"
ssh-port                        = "22"
ssh-login                       = "ubnt"
ssh-password                    = "ubnt"

ub-new-os[XM]                   = "5.6.15,6.0.7"
ub-new-os[XW]                   = "5.6.15,6.1.1"
ub-new-os[TI]                   = "5.6.15,6.0.7"
ub-new-os[XC]                   = "7.2.5,8.4.1"
ub-new-os[WA]                   = "7.2.5,8.4.1"
ub-new-os[2XC]                  = "7.2.5,8.2.0"
ub-new-os[XS2]                  = "4.0.4"
ub-new-os[XS5]                  = "4.0.4"


[mikrotik]
host                            = "192.168.88.1"
ssh-port                        = "22"
ssh-login                       = "admin"
ssh-password                    = ""

mt-new-os[mipsbe]               = "3.30,4.17,5.26,6.40.4"
mt-new-os[smips]                = "6.40.4"
mt-new-os[tile]                 = "6.40.4"
mt-new-os[powerpc]              = "3.30,4.17,5.26,6.40.4"
mt-new-os[arm]                  = "6.40.4"
mt-new-os[x86]                  = "3.30,4.17,5.26,6.40.4"
mt-new-os[mipsle]               = "3.30,4.17,5.26"
mt-new-os[mmips]                = "6.40.4"
mt-upgrade-firmware[mipsbe]     = "onlyup"
mt-upgrade-firmware[smips]      = "onlyup"
mt-upgrade-firmware[tile]       = "onlyup"
mt-upgrade-firmware[powerpc]    = "onlyup"
mt-upgrade-firmware[arm]        = "onlyup"
mt-upgrade-firmware[x86]        = "onlyup"
mt-upgrade-firmware[mipsle]     = "onlyup"
mt-upgrade-firmware[mmips]      = "onlyup"
Co do paczkek z oprogramowaniem dla Mikrotik`a (*.npk) oraz Ubiquiti (*.bin), należy je wrzucić
do katalogu /opt/upgradeNetworkDevices/software .
Nazwy plików z oprogramowaniem powinny mieć nazwę:
  • dla Ubiquiti: airmax-%architecture%.v%version%.bin np. airmax-XM.v6.0.7.bin
  • dla Mikrotika: routeros-%architecture%-%version%.npk np. routeros-mipsbe-6.40.4.npk

Teraz przechodzimy do skonfigurowania skryptu ChangeSettingsNetworkDevices.
Usuwamy zawartość pliku baseDevices.ini, a w zamian dodajemy:
;ChangeSettingsNetworkDevices
;baseDevices.ini zgodność z v1.7.0

[ubiquiti]
host                         = "192.168.1.20"
ssh-port                     = "22"
ssh-login                    = "ubnt"
ssh-password                 = "ubnt"

ub-restore-cfg               = "/opt/changeSettingsNetworkDevices/configi/ubiquiti_%model%_%version%.cfg"


[mikrotik]
host                         = "192.168.88.1"
ssh-port                     = "22"
ssh-login                    = "admin"
ssh-password                 = ""

mt-restore-rsc               = "/opt/changeSettingsNetworkDevices/configi/mikrotik_%model%_%version%.rsc"
Wszystkie configi wrzucamy do katalogu /opt/changeSettingsNetworkDevices/configi (jesli brak, to należy go utworzymy).
Configi powinny mieć nazwę:
  • dla Ubiquiti: ubiquiti_%model%_%version%.cfg np. ubiquiti_NanoStation_M5_6.0.7.cfg
  • dla Mikrotika: mikrotik_%model%_%version%.rsc np. mikrotik_SXT_5nD_r2_6.40.4.rsc
Gdzie %model% to wynik polecenia poniżej (spacje zamieniamy na _ ):
  • Mikrotik :put [/system routerboard get model]
  • Ubiquiti: cat /etc/board.info | grep "board.name" | sed "s/board.name=//" | sed "s/ /\_/g"

Tworzymy także skrypt, który będzie działał w tle i sprawdzał czy są dostępne urządzenie na domyślnych adresach, jeśli odezwie się takie urządzenie to skrypt zaloguje się na niego, zaktualizuje oraz wgra konfiguracje.
Tworzymy plik /opt/auto-configuration.sh z zawartością:
#!/bin/bash
while true;
do
  PING=$(ping 192.168.1.20 -c 1 | grep -E -o '[0-9]+ received' | cut -f1 -d' ')
  if [ 1 == $PING ]; then
      perl /opt/upgradeNetworkDevices/upgrade.pl -r=ubiquiti
      sleep 5s
      perl /opt/changeSettingsNetworkDevices/changeSettings.pl -r=ubiquiti
      sleep 5s
  else
      echo -e "\thost nieosiagalny (192.168.1.20)";
      sleep 5s
  fi

  PING=$(ping 192.168.88.1 -c 1 | grep -E -o '[0-9]+ received' | cut -f1 -d' ')
  if [ 1 == $PING ]; then
      perl /opt/upgradeNetworkDevices/upgrade.pl -r=mikrotik
      sleep 5s
      perl /opt/changeSettingsNetworkDevices/changeSettings.pl -r=mikrotik
      sleep 5s
  else
      echo -e "\thost nieosiagalny (192.168.88.1)";
      sleep 5s
  fi
done
Także nadajemy mu uprawnienia:
chmod +x /opt/auto-configuration.sh

Teraz dodamy parę poleceń do pliku /etc/rc.local tak, aby skrypty uruchamiały się automatycznie ze startem systemu.
Edytujemy plik /etc/rc.local oraz dodajemy przed exit 0 :
ifconfig eth0:1 192.168.1.10/24 up
ifconfig eth0:2 192.168.88.10/24 up
/usr/bin/screen -A -m -d -S auto /opt/auto-configuration.sh
Restarujemy system i gotowe.

Jak to działa?
Podłączasz wcześniej zresetowaną do ustawień domyślnych antene, czekasz i masz wstępnie skonfigurowaną antenę kliencką.
Jeśli chciałbyś podłączyć więcej anten jednocześnie - da się. W takim wypadku adresy IP, które uzyskają anteny po wgraniu konfiguracji nie mogą być takie sam jak domyślne. Podłączasz komputer oraz urządzenia (wcześniej zresetowane do ustawień domyślnych) pod switcha i czekach.

Jak zobaczyć czy antena została już skonfigurowana?
Możesz uruchomić nadajnik, do którego anteny będą łączyły się po wgraniu konfiguracji. Poziom sygnału na diodach będzie oznaczał, że antena jest już gotowa.