Есть, например, докуменитация bind.
Там создаешь прямую зону для своего домена, вносишь в нее необходимые записи, открываешь 53 порт на внешнем интерфейсе, поверяешь, работает ли.
Дальше у регистратора вносишь 2 ns твоего домена (если они в этом же домене, то еще указываешь их ip)
Дальше ждешь минимум сутки и все запросы о твоем домене начинают поступать на твой dns сервер.
Если нужен mx-сервер, то требуешь у своего провайдера, чтобы прописали в обратной зоне твоего ip нужное тебе имя.