ValdikSS / blockcheck

Russian ISP blocking type checker NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ
MIT License
1.37k stars 144 forks source link

address family mask hiding improvement #56

Closed nshopik closed 7 years ago

nshopik commented 7 years ago

Сделал все в соответствии с комментариями

ValdikSS commented 7 years ago

Можно вносить изменения в этот же branch и делать force push, изменения будут отражаться в этом pull request. При pull request branch не копируется.

nshopik commented 7 years ago

Поправил, squash сами сделаете тогда? А то я вечно путаюсь с ним

nshopik commented 7 years ago

Посмотрел рекомендации у гугла ECS (EDNS Client Subnet) говорят о /64 для IPv6, поменяю тогда все же

ValdikSS commented 7 years ago

/64 идентифицирует клиента (подсеть размером /64 предназначена для выдачи конечному клиенту). Я бы использовал /56, но не знаю, насколько это правильно.

nshopik commented 7 years ago

Бывают /64 одну выдают клиенту, даже если ему выдали /56, есть шанс допустим что клиент большая компания с подсетями в разных геолокация отсюдова и рекомендация гео по /64

ValdikSS commented 7 years ago

Я понимаю это. /64 идентфицирует клиента провайдера как персону. Если мы скрываем правые 64 бита, мы скрываем конкретный компьютер, на котором запущен blockcheck, но не конкретного клиента провайдера, который запускает ее. Это то же самое, если бы IPv4-адрес вообще не маскировался. Поэтому нужно маскировать хотя бы /60. Мне кажется разумным маскировать /56.

nshopik commented 7 years ago

Тогда гелокацию будет неточной. МТС выдает /64 и большинство операторов выдают одну /64 или просто две /64, очень редко сеть больше /60.

/56 может не скрыть клиента, когда допустим клиент получил /48 (да так можно без запроса)

ValdikSS commented 7 years ago

Не может же быть такого, что из одной /56 одна /64 выдана клиенту в Москве, а другая /64 — в Новосибирске? Геолокация нужна с точностью до города/области.

nshopik commented 7 years ago

Я бы так конечно никогда не сделал, но опыт показывает что люди делают странные вещи. И как я выше указал, пример большой клиент (/48) и сеть его раскинута допустим по городам кусками по /64 или /60). Поэтому закономерно что выбрано было именно /64 у гугла https://developers.google.com/speed/public-dns/faq#cdn

Я бы оставил /64 он дает нужную грануляцию, и скрывает пользователя в достаточно мере (сеть может меняться со временем тоже), скрыли пользовательские машины и отлично.

/56 не скрывает пользователя, допустим там где раздают /56 на клиента.

ValdikSS commented 7 years ago

Принято, спасибо.