В MikroTik есть механизм Address List, с помощью которого можно блокировать блоки адресов и единичные адреса. Помимо адреса можно указать доменное имя, тогда MikroTik будет резолвить доменное имя через равные промежутки времени (не помню точно сколько) и добавлять/заменять адреса в Address List.
Уверен такой же механизм можно реализовать в на любой ОС с помощью скрипта. То есть напишите скрипт, который будет резолвить адреса для домена vk.com или иного который следует блокировать и добавляйте/удаляйте правила в фаирвол.