bind (named) geoip отдаем разные ip, для разных стран с помощью acl, view
Возникла необходимость, для стран востока, в частности Китая, отдавать для сайта, назовем его test.com, другой ip, отличающийся от основного, или вообще не отдавать определенные записи зоны, например IN A.
В интернете есть несколько решений, например пропатчить bind для использования geoip maxmind, или использовать powerdns, но я решил это дело настроить с помощью acl и view, в acl мы заноси все адреса, для которых мы будем отдавать измененную зону, их можно заполнить каким-либо скриптом, а во views мы распишем для каждого acl, доступы к зоне, например так:
file "clients/test.com.cn" ; |
В представлении CN, мы будем отдавать зону из файла test.com.cn, для остальных из test.com.
Файл зоны test.com, отдаваемый для всех:
test .com. IN SOA ns1.testhoster.com. hostmaster.testhoster.com. ( |
60 ; Refresh after 30 seconds |
30 ; Retry after 1 minute |
604800 ; Expire after 1 week |
30 ) ; Minimum TTL of 1 minute |
test .com. IN NS ns1.testhoster.com. |
test .com. IN NS ns2.testhoster.com. |
; Addresses for the canonical names |
*. test .com. IN A 127.0.0.1 |
Файл зоны test.com.cn, отдаваемый только для Китая:
test .com. IN SOA ns1.testhoster.com. hostmaster.testhoster.com. ( |
60 ; Refresh after 30 seconds |
30 ; Retry after 1 minute |
604800 ; Expire after 1 week |
30 ) ; Minimum TTL of 1 minute |
test .com. IN NS ns1.testhoster.com. |
test .com. IN NS ns2.testhoster.com. |
; Addresses for the canonical names |
*. test .com. IN A 127.0.0.2 |
Если необходимо, чтобы дружественный Китай, вообще не мог достучаться до сайта, то можно, просто убрать IN A записи из файла зоны для китая)
Возникли вопросы?
Всегда готов помочь.
Опубликовано 30.11.2016 в 20:09 · Автор
komivlad ·
Ссылка
Рубрики:
ArchLinux,
CentOS,
Debain,
Fedora,
FreeBSD,
Linux Mint,
NetWork,
Raspberry Pi,
Soft,
Ubuntu · Теги:
acl,
BIND,
china,
DNS,
GeoIP,
ip,
maxmind,
named,
view,
гео,
отдавать,
таргет