DNS - не дружат записи *.site.ru и domain.site.ru

12
V
На сайте с 28.02.2008
Offline
14
5371

Есть сайт, в котором поддомены определяются на уровне ядра. Поддоменов много, поэтому создавать для каждого запись в DNS не рационально. Поэтому была создана запись

*.site.ru A xxx.xxx.xxx.xxx

Но один поддомен ведет на другой сервер, для него создана запись CNAME:

domain.site.ru CNAME site2.ru

Но на практике выходит, что domain.site.ru периодически отваливается и начинает вести туда же, куда ведет и *.site.ru.

Например, если в первый раз попробовать зайти через какого-либо провайдера на domain.site.ru, он отправит на *.site.ru, так же как и любой другой поддомен. Если попробовать через этого же провайдера зайти через час - все уже сработает правильно. А если еще раз попробовать через неделю - опять будет вести ни туда. Та же ситуация с Яндексом. Он без проблем проходит по всем поддоменам, а вместо контента на domain.site.ru видит ошибку.

Создается впечатление, что запись domain.site.ru CNAME site2.ru не всегда видна на фоне *.site.ru A xxx.xxx.xxx.xxx.

Как тут правильно настроить, кто подскажет?

Andreyka
На сайте с 19.02.2005
Offline
822
#1

Нет логов, мало информации

Не стоит плодить сущности без необходимости
[Удален]
#2

а что мешает сделать еще одну IN A ?

вида domen.site.ru. IN A [ip of site2.ru]

только добавлять её второй записью

litos0
На сайте с 17.07.2008
Offline
122
#3

Запись * перебивает все остальные, попробуйте CNAME в зоне прописать выше *, но это вряд-ли поможет

dex
На сайте с 14.04.2006
Offline
231
dex
#4

в голову пришло, что может, попробовать средствами .htacess поддомен на др сервер передать?

хотя, лучше, наверное через ns записи... не понимаю почему не работают

попробуйте в хост на своем компе прописать ip своего днс сервера

многие провы очень долго обновляют днс-ы...

губит людей вода (подпись не продаю, в долг не даю)
S
На сайте с 28.02.2008
Offline
40
#5
vibro:
Есть сайт, в котором поддомены определяются на уровне ядра. Поддоменов много, поэтому создавать для каждого запись в DNS не рационально. Поэтому была создана запись

*.site.ru A xxx.xxx.xxx.xxx

Но один поддомен ведет на другой сервер, для него создана запись CNAME:

domain.site.ru CNAME site2.ru

Но на практике выходит, что domain.site.ru периодически отваливается и начинает вести туда же, куда ведет и *.site.ru.

Например, если в первый раз попробовать зайти через какого-либо провайдера на domain.site.ru, он отправит на *.site.ru, так же как и любой другой поддомен. Если попробовать через этого же провайдера зайти через час - все уже сработает правильно. А если еще раз попробовать через неделю - опять будет вести ни туда. Та же ситуация с Яндексом. Он без проблем проходит по всем поддоменам, а вместо контента на domain.site.ru видит ошибку.

Создается впечатление, что запись domain.site.ru CNAME site2.ru не всегда видна на фоне *.site.ru A xxx.xxx.xxx.xxx.

Как тут правильно настроить, кто подскажет?

Вместо CNAME используйте запись типа A - у меня везде работает

P
На сайте с 25.12.2003
Offline
146
#6

А может все-таки файл зоны покажете - тогда и посоветовать что-то можно будет.

Можно в личку, если не хотите тут публиковать.

А вместо того, чтобы заниматься гаданием на кофейной гуще - найдите looking glass в Яндексе и смотрите ими (разными из разных мест), что там где и как снаружи по вашей зоне определяется.

Обычно когда "то так, то этак" - это протухший сериал зоны из прошлого...

С уважением, Букреев Александр Павлович (http://bukreev.pro).
V
На сайте с 28.02.2008
Offline
14
#7

Можно сделать и А-запись, но в силу специфики удобнее было бы CNAME.

Вот как выглядит файл зоны:

$TTL 3600

site.ru. IN SOA ns1.server.ru. root.server.ru. (2008020804 10800 3600 604800 86400)

site.ru. IN NS ns1.server.ru.

site.ru. IN NS ns2.server1.ru.

site.ru. IN MX 10 mail

site.ru. IN MX 20 mail

site.ru. IN A 00.000.000.000

www IN A 00.000.000.000

ftp IN A 00.000.000.000

mail IN A 00.000.000.000

smtp IN A 00.000.000.000

pop IN A 00.000.000.000

site.ru. IN TXT "v=spf1 a mx ~all"

* IN A 00.000.000.000

www.domain IN CNAME site2.ru.

domain IN CNAME site2.ru.

Может действительно нужно элементарно записи CNAME поднять над * ?

pesniru, а что конкретно смотреть в looking glass? Там предлагается ping, traceroute, мне они никак не помогают...

A4
На сайте с 09.08.2007
Offline
55
#8

wildcard обычно кладут вниз и вместо A делают CNAME

По крайней мере у меня такое работало без проблем.

Настройка nginx и сопутствующего софта на freebsd/debian. Контакт через PM.
P
На сайте с 25.12.2003
Offline
146
#9
vibro:
* IN A 00.000.000.000
www.domain IN CNAME site2.ru.
domain IN CNAME site2.ru.
Может действительно нужно элементарно записи CNAME поднять над * ?

Да. Так и только так. * - должна быть последней строкой, т.к. отдаётся первое совпадение.

vibro:
pesniru, а что конкретно смотреть в looking glass? Там предлагается ping, traceroute, мне они никак не помогают...

Помогает. Т.к. ты можешь делать ping www.domain и смотреть какой определяется соответствующий ему IP на той площадке. ;-)

А ещё есть nslookup, которому можно указать сервер, который опрашивать...

S
На сайте с 07.05.2007
Offline
20
#10

вот вам вариант зоны, почти не использую CNAME чтобы не было ошибок типа

CNAME and other data in zone

обычно A записями все хорошо разруливается:

$TTL 3600

site.ru. IN SOA ns1.server.ru. root.server.ru. (2008020804 10800 3600 604800 86400)

site.ru. IN NS ns1.server.ru.

site.ru. IN NS ns2.server1.ru.

site.ru. IN MX 10 mail

site.ru. IN MX 20 mail

site.ru. IN A 00.000.000.000

www IN A 00.000.000.000

ftp IN A 00.000.000.000

mail IN A 00.000.000.000

smtp IN A 00.000.000.000

pop IN A 00.000.000.000

www.domain IN A some_ip
domain IN A some_ip

site.ru. IN TXT "v=spf1 a mx ~all"

* IN A 00.000.000.000

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий