На мой взгляд, сразу стоит полагать, что отображение IPv4-префиксов на географические характеристики (страны) - вещь не самая прямолинейная. Думаю, в дальнейшем все чаще будет наблюдаться перепродажа (аренда) префиксов, приводящая к изменению этого отображения, это следует учитывать.
Технически, я вижу следующие возможности:
1) ACL на сетевом оборудовании. Составляете список "российских" префиксов, транслируете в ACL, навешиваете на необходимый интерфейс. Плюсы: line-rate (или близкая к line-rate) производительность. Минусы: не всякое оборудование подойдет (размер TCAM и т.д.), возможные исключения (клиент жалуется, что он из России, а сайт не открывается) придется прописывать в ACL каждый раз (может быть не очень удобно). Стоит применять, если объем нежелательного трафика велик (флуд и прочая) и этот трафик реально влияет на производительность вашего сервера.
2) фильтрация на самом веб-сервере (модуль geoIP). Плюсы: больше гибкости. Минусы: производительность ограничена производительностью geoIP-базы.
3) комбинация пп. 1) и 2). Грубая фильтрация при помощи ACL, более гибкая - на самом веб-сервере.
4) самый простой - спрятаться за CDN-фронтэнд, предоставляющий подобную услугу.
Есть конечно более специфичные варианты, но вам, думаю, хватит и этих (а точнее, второго или четвертого).