Швидко і просто піднімаємо свій dns

Після нескладних досліджень було знайдено передбачуваний винуватець - DNS сервер мого провайдера. Він, в принципі, працює швидко, але іноді сильно замислюється. Я зміг це довести собі за допомогою namebench. який перевіряє швидкість резолвінг не з допомогою синтетичних тестів, але використовуючи історію вашого бродіння по інтернатах.
При тому, що середня швидкість була непогана, піки гальмування доходили майже до секунди, що, безсумнівно, неподобство. Звичайно, дешево і сердито просто поміняти DNS на більш інший, наприклад гуглових 8.8.8.8 / 8.8.4.4 або opendns чи яку іншу за смаком (namebench пропонує список альтернатив), але якщо вже я за цю справу взявся, то вирішив довести до логічного кінця - завести свій власний кешуючий DNS.
Ставити руками bind або його альтернативи - це звичайно не наш шлях. Найпростіше пошукати відповідний docker image і, якщо не знайдений, зробити його самому.
На щастя, такий вже є і він навіть працює. Там всередині bind і webmin для GUI управління. Я трохи додав у його docker-compose.yml. щоб передати пароль для webmin і заборонив IPv6, який приводив до помилок резолвінг. Ось такий compose вийшов в результаті:
Якщо вам не заважає IPv6, просто видаліть рядок command.
Щоб цю справу підняти у себе, треба просто зберегти це в потрібному місці (у мене / srv / bind) як docker-compose.yml і запустити приблизно так:
В результаті все це працює, проблема нерегулярного гальмування зникла і namebench радісно пропонує мені мій власний сервер, який, природно, рве всі віддалені варіанти.
P.S. Я, звичайно, намагався скористатися DNS підтримкою яку забезпечує мій ZyWall USG20. але воно працювало повільно і якось дивно.