Python DNS-сервер с пользовательским бэкэндом - PullRequest
8 голосов
/ 09 декабря 2010

Есть ли DNS-сервер, написанный на python, где я могу легко использовать пользовательский бэкэнд?

По сути, я просто хочу отвечать на запросы по некоторым доменным именам с моими собственными IP-адресами, но передать остальные запросы на настоящий DNS-сервер.

Ответы [ 3 ]

12 голосов
/ 09 декабря 2010

Я недавно написал такую ​​вещь, может быть, вы можете использовать ее в качестве примера.Он использует DHT в качестве бэкэнда и ищет там все домены .kad.Если вы просто замените P2PMapping своим собственным отображением (то есть, например, {'google.com' : '127.0.0.1'}), оно должно делать то, что вы хотите.

5 голосов
/ 10 декабря 2010

На самом деле я нашел еще более простой метод: PowerDNS с бэкэндом канала:

http://doc.powerdns.com/pipebackend-dynamic-resolution.html

http://doc.powerdns.com/backends-detail.html#PIPEBACKEND

Просто установите сервер PowerDNS, напишите небольшой скрипт, который перенаправляет запросы на ваш сервер, и все готово.

4 голосов
/ 09 декабря 2010

Многие люди посоветовали бы написать его в Twisted и добавить настройку, чтобы вы могли сами ответить на запрос, если хотите.Некоторые ссылки:

http://twistedmatrix.com/documents/10.1.0/names/howto/names.html

http://twistedmatrix.com/documents/10.1.0/api/twisted.names.dns.DNSDatagramProtocol.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...