
Очередной приступ паранойи застал врасплох. Мысль о том что MAC-адрес беспощадно палит привязку твоих сессий в логах провайдера не давала покоя и надо было с этим что то делать.
Позвонив товарищу, который поинтересовался у инженеров провайдера (одного из представителей “Большой тройки”) соображениями о том, просто ли получить информацию о сессиях абонента, имея на руках MAC-адрес. Ответ был очевиден - “Да как два пальца..”. Нет, часто меняя MAC-и, разумеется, полной анонимности не добьешься, но некоторые затруднения это всё-таки вызовет.
Было решено, надо каким-то образом менять MAC адрес WAN-порта на рандомный, да с заданным интервалом. Имея на руках всё тот же MikroTik, всё решается с помощью одного лишь скрипта.
Внутренние механизмы скриптинга до сих пор не имеют функции для генерации случайного числа и, уж тем более, случайного символа. Но мы же можем взять какие-либо значения из железки, которые не перманентны, например, текущую дату, аптайм и загруженность процессора. После получения “случайного” числа, получить символ в строке-заготовке по позиции этого числа, получив тем самым “случайный” символ. После чего сформировать “случайный” MAC-адрес и применить его к интерфейсу.
Переходим к делу. System
→ Scripts
→ Add New
:
Name
:RandomMAC
Policy
:[X] read, [X] write, [X] policy
Comment
:Randomize MAC address
В переменную WanInterface
укажи название твоего интерфейса соответственно.
Первые два символа у нас всегда
00
и это неспроста - наткнулся на противный баг вRouterOS
, из-за которого маршрутизатор не хотел принимать вполне валидные MAC-адреса, а с ведущими нулями проблемы не возникало. На текущей прошивке версии6.30.2
он ещё не исправлен. Надеюсь, в дальнейших версиях разработчики его пофиксят
Нажимаем Apply
и после Run Script
. Открываем лог и смотрим, чтоб там были записи, похожие на:
Change MAC to random (00:AA:BB:CC:DD:EE -> 00:11:22:33:44:55)
...
MAC address on "ether1-wan" changed successfully! New MAC is 00:11:22:33:44:55
Если так оно и есть - ништяк, добавляй задание в Scheduler
:
Enabled
:[X]
Name
:RandomMAC
Interval
:2d 00:00:00
On Event
:/system script run RandomMAC
Policy
:[X] read, [X] write, [X] policy
Comment
:Randomize MAC address
Теперь скрипт будет запускаться с интервалом в два дня и менять MAC-адрес WAN-порта на “почти” рандомный ;)