Завантаження списку мереж «всередині країни» в Mikrotik RouterBoard |
В цій статті ми розглянемо скрипт, який дасть нам змогу завантажити в Adress-list список мереж «всередині країни». Для прикладу використаємо список мереж UA-IX з сайту http://www.colocall.net/ua/prefixes.txt.
Отже, нам потрібно:
отримати з http://www.colocall.net/ua/prefixes.txt файл із списком мереж;
розбити цей файл на частини для подальшої обробки в Mikrotik RouterBoard;
завантажити файл на Mikrotik RouterBoard;
завантажити готовий список в Adress-list.
Як проводиться завантаження файлу та початкова обробка?
Звернемось до технічної документації Mikrotik RouterBoard. В ній вказано, що в цього обладнаня є певні обмеження на розмір файлу, що читається. Тому ми напишемо відповідний скрипт.
Ця програма написана на PHP. Раз на добу вона оновлюватиме список мереж:
#!/usr/local/bin/php
<?php
Отримуємо список префіксів:
$file = file("http://www.colocall.net/ua/prefixes.txt");
$num = 0;
$g=1;
$tmp=true;
while ($tmp)
$tmp = array_slice;
if {
Кладемо в директорію Вашого веб-сервера:
file_put_contents;
$num++;
}
Кладемо в директорію Вашого веб-сервера:
file_put_contents("/out/pieces.txt", $num-1)
?>
Отже, є сервер з ОС FreeBSD 7.4., на ньому крутиться біллінг… Відповідно піднятий Apache. Скрипт раз на добу викачує список префіксів, розділяє їх на файли відповідного розміру та зберігає у директорії веб-сервера.
Цей скрипт можна також використати як підпрограму для Apache.
Результат:
gw# cd /www/www/bill/out
gw# ls
output0.txt output11.txt output3.txt output6.txt output9.txt
output1.txt output12.txt output4.txt output7.txt pieces.txt
output10.txt output2.txt output5.txt output8.txt
gw#
Далі напишемо 3 скрипта для самого Mikrotik RouterBoard.
Завантаження списку мереж «всередині країни» в Mikrotik RouterBoard| Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |