|
jak zautomatyzować konfiguracje anten klienckich Mikrotik oraz Ubiquiti
11-10-2017 23:00:00 Odwiedziny: 2925
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.
|
|
|