Микротик устройствата разполагат с огромен набор от функционалности, но има разни странни и не обясними ограничения, който могат да те накарат да се чудиш дълго „ЗАЩО?“. Подобно ограничение е, че в настройките на dhcp pool може да се слагат само IP адреси за NTP сървъри, които да се раздават на клиентите но не и хостове. Ако искаме да използваме сървър от ntp pool и да го раздаваме на клиентите зад микротика имаме сериозен проблем – или трябва да сложим IP адреси от ntp pool проекта, каквито се резолват в момента, но нямаме гаранция, че ще продължат да работят за в бъдеще или трябва да мислим друга схема. Аз реших да бъде или то…

Микротик OS-а предлага възможност за писане на скриптове. Не мога да кажа, че съм експерт там, но не се притеснявам да я използвам, когато ми трябва. На кратко ще създадем скрипт, който резолва 4 NTP сървъра и след това конфигура dhcp pool-а ни с тях. Скрипта е доста елементарен:

{
:local s0 [resolve bg.pool.ntp.org]
:local s1 [resolve bg.pool.ntp.org]
:local s2 [resolve bg.pool.ntp.org]
:local s3 [resolve bg.pool.ntp.org]

/ip dhcp-server network set ntp-server="$s0,$s1,$s2,$s3" numbers=0
}

След което ни остава само да направим скрипта да се изпълнява веднъж на седмица да речем – поне за мен това е много разумен период а това, че имам 4 адреса за NTP е достатъчно безопасно дори и някой от тях да спре да работи:

/system scheduler
add interval=1w name=ntpSet policy=\
    read,write,policy \
    start-date=nov/02/2020 start-time=20:17:14

Напоследък чета доста не типични за мен неща, това е приятните такива…. (това е от преди над 1 година)

Умира бавно този…
който не пътува,
който не чете
и не слуша музика,
който не открива
очарование в себе си.

Умира бавно този…
който разрушава
себелюбието си,
който отказва помощта,
който не търси разнообразие.

Умира бавно този…
който се превръща
в роб на навика,
минавайки всеки ден
по същите пътеки,
който не рискува
да се облече в различен цвят
и не разговаря с непознати.

Умира бавно този…
който бяга от страстта
и водовъртежа на чувствата,
които връщат блясъка в очите
и спасяват тъжните сърца.

Умира бавно този…
който не променя живота си,
когато е недоволен от работата
или любовта си,
който не рискува сигурността
за неизвестното,
за да преследва една мечта,
който не се решава поне веднъж в живота си
да избяга от мъдрите съвети.

Не умирай бавно… Живей днес!

Рискувай днес! Действай днес!

Не се оставяй да умираш бавно!

Не забравяй да бъдеш щастлив!

През изминалият уикенд се изтъркаля TuxCon 2017. Според повечето хора съм се справил прилично добре с лекцията ми. Аз персонално не съм съвсем доволен, определено има много неща върху които да работя, защото планувам да не е последната ми подобна изява за в бъдеще. Ако трябва да съм честен по голямата част от презентацията почти не си я спомням, беше като в транс. Спомням си откъслечни моменти в които поглеждам часовника и установявам, че е изтекло прилично количество време.

Определено не беше никак лесно, дори като се има на предвид, че аудиторията беше изключително тясно насочена и нямаше някаква голяма бариера с публиката.

 

DN42 е един прекрасен проект който ви дава възможност да развивате вашите BGP умения без да чупите продуктова среда, без да ви се налага да имате скъпи устройства с които да си правите лаборатория да си правите симулации с GNS3. Същевременно да не е чисто лабораторна среда при която няма проблеми от реалният свят. Участвам с 1 node в проекта от около година. Един от проблемите в проекта е 1:1 с реалният свят – когато някой ти обяви префикси които не трябва да обявява. Понеже съм мързелив и не ми се пише на ръка филтри все път, реших проблема с елементарен bash скрипт които ми генерира prefix-list с име dn42 и в него наливам валидните префикси.

#!/bin/bash</pre>
vtysh -c 'conf t' -c "no ip prefix-list dn42"; #drop old prefix list

while read pl
do
vtysh -c 'conf t' -c "$pl"; #insert prefix list row by row
done < <(curl -s https://ca.dn42.us/reg/filter.txt | grep -e ^[0-9] | awk '{ print "ip prefix-list dn42 seq " $1 " " $2 " " $3 " ge " $4 " le " $5}' | sed "s_/\([0-9]\+\) ge \1_/\1_g;s_/\([0-9]\+\) le \1_/\1_g");
vtysh -c 'wr' #write new prefix list

Списъка с валидните предикси се взема https://ca.dn42.us/reg/filter.txt от където и основният конвейр + малко модификации от моя страна за да може да се генерира префикс листа. Командите се изпълняват през vtysh.

За 4-та поредна година ще се проведе конференцията за свободен софтуер и хардуер TuxCon. Персонално за мен това е най силната Пловдивска конференция която се провежда, тъй като не е насочена само за разработчици, а целевата група е много по голяма и аудиторията е много цветна. Ако не ме лъже паметта не мисля, че съм пропускал издание досега. Таз годишното издание е по специално за мен, тъй като имам презентация. Ще говоря за dnsdist и за това дали е полезен за вашата инфраструктура. Темата за която ще говоря си я избрах сам. Почувствах нужда да я покажа на света, тъй като е относително млада, а до момента почти не съм намерил нещо в нея която да не ми харесва. Не помня кога беше последният път когато ме впечатли толкова много нещо ново и същевременно да работи изключително добре.