Добрый час.
Что есть:
1) Есть своя VPS-ка на зрегестрированом домене mysite.com
2) Где я могу создавать неограниченно число поддоменов, например test.mysite.com
Хочется следующего:
3) Что бы при обращении на test.mysite.com выдавался IP другого моего хоста
4) Иметь возможность этому другому хочут обновлять IP своего домена. Типа вызовом скрипта php. Типа mysite.com/update_ip.php?dns=test&ip=<новый IP> так как у этого дргого хоста IP хоть и внешний но динамический.
Если с 4-м пунктом более менее понятно (можно просто в cron засунуть задачу) то с (3) даже не знаю в какую сторону нужно копать?
Т.е. вот хочется организовать что то вроде своего DynDNS.
Спасибо.
Здравствуйте, nen777w, Вы писали:
N>1) Есть своя VPS-ка на зрегестрированом домене mysite.com
N>2) Где я могу создавать неограниченно число поддоменов, например test.mysite.com
Мне объясняли-объясняли, но снова из головы вылетело. У меня mysite.com "не динамический", поэтому в нем нельзя делать динамические поддомены, но можно сделать зону, и вот уже в ней развлекаться.
N>Хочется следующего:
N>3) Что бы при обращении на test.mysite.com выдавался IP другого моего хоста
N>4) Иметь возможность этому другому хочут обновлять IP своего домена. Типа вызовом скрипта php. Типа mysite.com/update_ip.php?dns=test&ip=<новый IP> так как у этого дргого хоста IP хоть и внешний но динамический.
N>Если с 4-м пунктом более менее понятно (можно просто в cron засунуть задачу) то с (3) даже не знаю в какую сторону нужно копать?
У меня bind. В /etc/bind/named.conf.local добавил:
zone "1.mysite.com" in {
file "/home/aik/lalala";
type master;
};
А /home/aik/lalala переписывается скриптом когда клиент захочет, файл выглядит как то так:
$TTL 1h
1.mysite.com. IN SOA mysite.com. aik.mysite.com. ( 18033009 180 180 1w 1d )
@ IN NS ns1.mysite.com.
1.mysite.com. IN A 11.22.33.44
hhh IN A 55.66.77.88
11.22.33.44 — адрес самого mysite.com.
55.66.77.88 — адрес этого самого клиента, в который ресолвится hhh.1.mysite.com.
aik.mysite.com — вроде емейл админа домена.
Надо ли чего в домене править хз, dig mysite.com ANY мне ничего не показывает про зону.
N>>1) Есть своя VPS-ка на зрегестрированом домене mysite.com
N>>2) Где я могу создавать неограниченно число поддоменов, например test.mysite.com
aik>Мне объясняли-объясняли, но снова из головы вылетело. У меня mysite.com "не динамический", поэтому в нем нельзя делать динамические поддомены, но можно сделать зону, и вот уже в ней развлекаться.
Попробовал. Не получилось
aik>У меня bind. В /etc/bind/named.conf.local добавил:
aik>zone "1.mysite.com" in {
Что означает эта 1. ?
aik>А /home/aik/lalala переписывается скриптом когда клиент захочет, файл выглядит как то так:
aik>1.mysite.com. IN SOA mysite.com. aik.mysite.com. ( 18033009 180 180 1w 1d )
Наш домен mysite.com насколько я понял. Что такое aik.mysite.com?
aik>@ IN NS ns1.mysite.com.
Что такое? ns1.mysite.com, за ним что то должно быть?
Здравствуйте, nen777w, Вы писали:
aik>>У меня bind. В /etc/bind/named.conf.local добавил:
aik>>zone "1.mysite.com" in {
N>Что означает эта 1. ?
Зона, я ж пример привел, могло быть (и часто так и есть) .dyn, клиенты будут получать адреса типа client.dyn.mysite.com.
aik>>А /home/aik/lalala переписывается скриптом когда клиент захочет, файл выглядит как то так:
aik>>1.mysite.com. IN SOA mysite.com. aik.mysite.com. ( 18033009 180 180 1w 1d )
N>Наш домен mysite.com насколько я понял. Что такое aik.mysite.com?
Емейл админа. Ты как то наискосок читаешь.
aik>>@ IN NS ns1.mysite.com.
N>Что такое? ns1.mysite.com, за ним что то должно быть?
DNS зоны "1", т.е. твой сервер.
Просто используй любой DNS-хостинг с API и возможностью ставить достаточно низкий TTL. Порекомендую Cloudflare и Yandex, там и там делал то, что ты хочешь, всё работало.
Здравствуйте, nen777w, Вы писали:
N>Добрый час.
N>3) Что бы при обращении на test.mysite.com выдавался IP другого моего хоста
N>4) Иметь возможность этому другому хочут обновлять IP своего домена. Типа вызовом скрипта php. Типа mysite.com/update_ip.php?dns=test&ip=<новый IP> так как у этого дргого хоста IP хоть и внешний но динамический.
CloudFlare. Все бесплатно
CF_Email=some@email.com
CF_API_KEY="...."
domain="example.com"
name_to_set="xyz.${domain}"
ip="1.2.3.4"
zone_id=$(curl --silent -X GET "https://api.cloudflare.com/client/v4/zones?name=${domain}&status=active&page=1&per_page=20&order=status&direction=desc&match=all" \
-H "X-Auth-Email: ${CF_Email}" \
-H "X-Auth-Key: ${CF_API_KEY}" \
-H "Content-Type: application/json" | jq --raw-output ".result[0].id")
curl --silent -X POST "https://api.cloudflare.com/client/v4/zones/${zone_id}/dns_records" \
-H "X-Auth-Email: ${CF_Email}" \
-H "X-Auth-Key: ${CF_API_KEY}" \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"${name_to_set}","content":"${ip}","ttl":120,"priority":10,"proxied":false}'