Сообщения

Сообщения за январь, 2015

FreeBSD anycast DNS resolver

Пример anycast DNS resolver'а для FreeBSD. В качестве рекурсивного DNS-сервера, как и раньше, используем unbound . А вот для установки BGP-сессии - openbgpd из проекта OpenBSD , конечно, "ортодоксам" доступна и quagga . В перспективе стоит присмотреться к exabgp . И openbgpd и unbound есть в портах, так что с установкой проблем быть не должно . Я предпочитаю собирать из исходников, чтобы можно было самому указать необходимые опции: cd /usr/ports/net/openbgpd && make config install clean cd /usr/ports/dns/unbound && make config install clean Сетевые интерфейсы: bge1 - стык с маршрутизатором на "серых" адресах, исключительно для BGP. lo1 - реальные адреса, на которые сервер принимает запросы от клиентов и с которого шлёт запросы в Internet.   # cat /etc/rc.conf cloned_interfaces="lo1" ifconfig_bge1="inet 192.168.250.102 netmask 255.255.255.252 mtu 9000" # resolver DNS source ifconfig_lo1="inet 1.0.128.12...

CentOS anycast dns-resolvers

Исторически сложилось, что ISP сообщает клиенту два IP-адреса в качестве настроек DNS. Многие ОС и протоколы, например IPCP из PPP, и не поддерживают больше, а реальность такова, что у крупных операторов два сервера не способны обслуживать все клиентские запросы. А если география предоставления услуг охватывает страны или континенты, то два сервера вообще не вариант. Для преодоления этой ситуации можно использовать достаточно простой подход, который используется для корневых DNS-серверов - anycast DNS. Этот подход можно использовать и для других протоколов работающих по принципу запрос-ответ без сохранения состояния, например, для NTP. Этот конкретный пример будет для CentOS6 (unbound, quagga) и Juniper MX, но есть рабочие серверы на FreeBSD.   Начнём с CentOS: Сетевые интерфейсы. eth0   "смотрит" в сторону MX'a. Экономим ipv4 - bgp будем поднимать на "серых" адресах 10.1.0.48/29. # cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=6...