Cum se configurează smartphone-uri și PC-uri. Portal de informare

Cele mai bune servere DNS pentru jocuri. IgorKa - Resursă de informații

Uneori este necesar să se înregistreze DNS pentru un computer cu o adresă IP dinamică. Modul simpluÎn acest scop există servicii precum dyndns, descrise într-un subiect recent. Uneori, această abordare funcționează destul de prost.

De exemplu, în situația mea, furnizorul Uneoriîmi schimbă adresa IP publică. Acest lucru se întâmplă uneori, de obicei, o dată la câteva luni. În plus, computerul meu de acasă se repornește rar. În acest timp, serviciul dyndns, pe care îl folosisem anterior, a reușit să-mi trimită de câteva ori notificări de inactivitate pentru a dezactiva contul „neutilizat”. Comutați la înregistrat manual zona DNS De asemenea, nu funcționează, deoarece uneori adresa încă se schimbă. Mai mult, de obicei aflați despre acest lucru atunci când aveți nevoie de acces la computer de acasă aici si acum.

Pentru a implementa metoda descrisă, veți avea nevoie de un server pe Internet cu DNS bind server pe ea. Și de asemenea zona de domeniu, al cărui subdomeniu îl vom aloca pentru computerul nostru. Este descrisă o opțiune pentru conectarea unui computer Linux la un server Linux. Pentru utilizare de către alții sisteme de operare Va trebui să citiți manualele și să modificați câțiva pași.

Aşa:
1. Avem server instalat bind9 cu domeniul server.org
2. Creați o zonă client.server.org.zone:

$ORIGINĂ.
$TTL 10 ; 10 secunde
client.server.net ÎN SOA ns1.server.net. hostmaster.server.net. (
18; serial
10800; reîmprospătare (3 ore)
3600; reîncercați (1 oră)
604800; expiră (1 săptămână)
10; minim (10 secunde)
$TTL 3600 ; 1 oră
NS ns1.server.net.
NS ns2.server.net.
MX 10 client.server.net.

Aici serverele ns1.server.net și ns2.server.net - server DNS iar pentru zona noastră, client.server.net este adresa computerului nostru de acasă

3. generați chei pe client:
client# cd /etc/namedb/keys
client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.

4. Creați un fișier cu cheia pe server:
server# cd /var/named/chroot/etc
server# vim keys.conf:

Cheie client.server.net. (
algoritmul „HMAC-MD5”;
secret "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA==";
};

ÎN în acest caz, folosit cheie simetrică, care este nesigur: dacă cineva are acces la fișierul cheie de pe serverul dvs., poate folosi cheia dvs. pentru a vă schimba datele zonei. În acest caz, puteți utiliza o cheie asimetrică.

Setați drepturile de acces la fișier cu cheile:
server# chmod 640 keys.conf
server# chown root:named keys.conf

5. adăugați zona noastră la named.conf:
include „/etc/keys.conf”
zona „client.server.net” (
tip master;
fișierul „zone/client.server.net”;
permite-actualizare(
cheie client.server.net;
};
};

Iată un parametru care vă permite să actualizați datele zonei. În general, după citirea manualelor, puteți găsi opțiuni pentru acest parametru care vă permit să actualizați o singură înregistrare în zonă pentru cheia dată. Adică puteți avea o zonă cu subdomeniile client1, client2 etc. înregistrate în ea. care va fi autorizat cu cheile key1, key2 etc.

6. Reporniți serverul DNS:
server# /etc/init.d/named reload

7. Creați un script pe client care va actualiza datele zonei:
#!/bin/bash
IFACE="wlan0"
TTL=3600
SERVER=ns1.example.com
HOSTNAME=foo.example.com
ZONE=example.com
KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private

New_ip_address=`ifconfig $IFACE | grep „adresă inet:” | awk „(tipărește $2)” | awk -F ":" "(printați $2)"`
new_ip_address=$(new_ip_address/ /)

Nactualizare -v -k $KEYFILE<< EOF
server$SERVER
zona $ZONE
actualizați ștergeți $HOSTNAME A
actualizați adăugați $HOSTNAME $TTL O $new_ip_address
trimite
EOF

La începutul scriptului sunt descriși parametrii corespunzători: interfața, numele serverului și zonei, locația fișierului cu cheia.

8. Tot ce rămâne este să configurați pornirea automată/schimbarea automată a adresei la schimbarea DNS.
Vom face acest lucru folosind un script pentru NetworkManager:
creați un fișier /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh

Iface=1 $
stare=2$

If [ "x$state" == "xup" ] ; apoi
/etc/namedb/ddns-update
elif [ "x$state" == "xdown" ]; apoi
adevărat
fi

Să-l facem executabil și deținut de utilizatorul root.

Să lansăm, să verificăm, să folosim.

Upd: Dacă nu funcționează, verificați (setați) pe server drepturile lui named pentru a scrie în folderul în care se află fișierul client.server.org.zone
named va crea acolo un fișier client.server.org.zone.jnl

S-au folosit următoarele materiale.

Uneori este necesar să se înregistreze DNS pentru un computer cu o adresă IP dinamică. O modalitate simplă de acest lucru sunt serviciile precum dyndns, descrise în subiectul recent Conectarea unui domeniu și IP dinamic. Uneori, această abordare funcționează destul de prost.

De exemplu, în situația mea, furnizorul Uneoriîmi schimbă adresa IP publică. Acest lucru se întâmplă uneori, de obicei, o dată la câteva luni. În plus, computerul meu de acasă se repornește rar. În acest timp, serviciul dyndns, pe care îl folosisem anterior, a reușit să-mi trimită de câteva ori notificări de inactivitate pentru a dezactiva contul „neutilizat”. De asemenea, nu este posibilă trecerea la o zonă DNS înregistrată manual, deoarece uneori adresa încă se schimbă. Mai mult, de obicei aflați despre acest lucru atunci când aveți nevoie de acces la computerul de acasă aici și acum.

Pentru a implementa metoda descrisă, veți avea nevoie de un server pe Internet cu un server DNS legat pe acesta. La fel și o zonă de domeniu, al cărei subdomeniu îl vom aloca pentru computerul nostru. Este descrisă o opțiune pentru conectarea unui computer Linux la un server Linux. Pentru a utiliza alte sisteme de operare, va trebui să citiți manualele și să modificați câțiva pași.

Aşa:
1. Avem instalat un server bind9 cu domeniul server.org
2. Creați o zonă client.server.org.zone:

$ORIGINĂ.
$TTL 10 ; 10 secunde
client.server.net ÎN SOA ns1.server.net. hostmaster.server.net. (
18; serial
10800; reîmprospătare (3 ore)
3600; reîncercați (1 oră)
604800; expiră (1 săptămână)
10; minim (10 secunde)
$TTL 3600 ; 1 oră
NS ns1.server.net.
NS ns2.server.net.
MX 10 client.server.net.

Aici serverele ns1.server.net și ns2.server.net sunt serverele DNS pentru zona noastră, client.server.net este adresa computerului nostru de acasă

3. generați chei pe client:
client# cd /etc/namedb/keys
client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.

4. Creați un fișier cu cheia pe server:
server# cd /var/named/chroot/etc
server# vim keys.conf:

Cheie client.server.net. (
algoritmul „HMAC-MD5”;
secret "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA==";
};

În acest caz, se folosește o cheie simetrică, care este nesigură: dacă cineva are acces la fișierul cheie de pe serverul dvs., poate folosi cheia dvs. pentru a vă schimba datele zonei. În acest caz, puteți utiliza o cheie asimetrică.

Setați drepturile de acces la fișier cu cheile:
server# chmod 640 keys.conf
server# chown root:named keys.conf

5. adăugați zona noastră la named.conf:
include „/etc/keys.conf”
zona „client.server.net” (
tip master;
fișierul „zone/client.server.net”;
permite-actualizare(
cheie client.server.net;
};
};

Iată un parametru care vă permite să actualizați datele zonei. În general, după citirea manualelor, puteți găsi opțiuni pentru acest parametru care vă permit să actualizați o singură intrare în zonă pentru o anumită cheie. Adică puteți avea o zonă cu subdomeniile client1, client2 etc. înregistrate în ea. care va fi autorizat cu cheile key1, key2 etc.

6. Reporniți serverul DNS:
server# /etc/init.d/named reload

7. Creați un script pe client care va actualiza datele zonei:
#!/bin/bash
IFACE="wlan0"
TTL=3600
SERVER=ns1.example.com
HOSTNAME=foo.example.com
ZONE=example.com
KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private

New_ip_address=`ifconfig $IFACE | grep „adresă inet:” | awk „(tipărește $2)” | awk -F ":" "(printați $2)"`
new_ip_address=$(new_ip_address/ /)

Nactualizare -v -k $KEYFILE<< EOF
server$SERVER
zona $ZONE
actualizați ștergeți $HOSTNAME A
actualizați adăugați $HOSTNAME $TTL O $new_ip_address
trimite
EOF

La începutul scriptului sunt descriși parametrii corespunzători: interfața, numele serverului și zonei, locația fișierului cu cheia.

8. Tot ce rămâne este să configurați pornirea automată/schimbarea automată a adresei la schimbarea DNS.
Vom face acest lucru folosind un script pentru NetworkManager:
creați un fișier /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh

Iface=1 $
stare=2$

If [ "x$state" == "xup" ] ; apoi
/etc/namedb/ddns-update
elif [ "x$state" == "xdown" ]; apoi
adevărat
fi

Să-l facem executabil și deținut de utilizatorul root.

Să lansăm, să verificăm, să folosim.

Upd: Dacă nu funcționează, verificați (setați) pe server drepturile lui named pentru a scrie în folderul în care se află fișierul client.server.org.zone
named va crea acolo un fișier client.server.org.zone.jnl

S-au folosit următoarele materiale.

Articolul nu mai este relevant. Yandex îi transferă pe toți la Yandex.Connect. API-ul Connect nu are în prezent capacitatea de a gestiona înregistrările DNS. API-ul pdd.yandex nu mai funcționează.
Puteți utiliza aplicația Telegram pentru a obține ip dinamic. Instrucţiuni

Am folosit de mult serviciile dyndns pentru a mă conecta din exterior la un descărcator de descărcare de fișiere de acasă/torrent pe un server gratuit, care are un IP dinamic de la furnizor. Deși dyndns plătește de mult pentru acest serviciu pentru utilizatorii nou înregistrați, l-am folosit gratuit, pentru că m-am înregistrat înainte de a începe să ceară bani pentru el. Dar zilele trecute am primit o scrisoare că nu-mi mai pot oferi acest serviciu gratuit și de luna viitoare va trebui să plătesc pentru el. Acest lucru nu mi s-a potrivit și am început să caut o ieșire din situația actuală.

Deoarece domeniile mele sunt delegate către Yandex DNS, am început să citesc manualele pentru API-ul lor și a fost găsită o soluție. Îți voi spune despre asta mai jos.

Pentru a folosi API-ul Yandex, trebuie să obținem un token. Obținerea acestuia este destul de simplă, trebuie doar să-l introduceți în browser.

Https://pddimp.yandex.ru/get_token.xml?domain_name=domen.ru

Unde domen.ru este domeniul dvs. delegat la Yandex. Intrăm în captcha și în ieșire căutăm:

Token="XXXXXX"

Jetonul dvs. va fi între ghilimele. Hai să-l copiem undeva, vom avea nevoie de el puțin mai târziu.
Acum trebuie să adăugăm un subdomeniu la domeniul nostru, care se va conecta la o mașină cu un IP dinamic. Accesați https://pdd.yandex.ru, selectați domeniul și faceți clic pe „Editor DNS” și adăugați o înregistrare A pentru domeniu acolo:

În câmpul „Gazdă”, introduceți subdomeniul, iar în câmpul „Valoare de înregistrare”, scrieți orice ip (mai târziu se va schimba când se va schimba ip-ul mașinii tale).

Acum trebuie să obținem id-ul postării noastre. Pentru a face acest lucru, introduceți în browser:

Https://pddimp.yandex.ru/nsapi/get_domain_records.xml?token=XXXXXX&domain=domen.ru

Unde XXXXXXX este simbolul tău, iar domen.ru este domeniul tău delegat către Yandex.

În ieșire căutăm linia cu intrarea noastră myhome.domen.ru și în această linie găsim:

Id="1234567"

Id-ul postării este între ghilimele, așa că copiați-l undeva.

Acum scriem scriptul pe o mașină cu un IP dinamic. Scriptul va verifica IP-ul extern al mașinii o dată la jumătate de oră și, dacă s-a schimbat, va schimba înregistrarea A pe Yandex DNS.

# ee /usr/local/bin/dyndns.sh

#!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin; export PATH DOMEN="domen.ru" # domeniul dvs. delegat la Yandex SUB=myhome # subdomain TOKEN=XXXXXX # token RECID=1234567 # record id while true; do IP="curl -s http://ip..domen.ru dns1.yandex.ru | grep are | awk "(print $4)"` # înlocuiți myhome.domen.ru cu subdomeniul dvs. dacă [ $IP != $YAIP ] apoi curl -s "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=$TOKEN&domain=$DOMEN&subdomain=$SUB&record_id=$RECID&content=$IP&ttl=1800" fi sleep 1800;

Modificați valorile variabilelor în funcție de comentarii.

Faceți executabil scriptul:

# chmod +x /usr/local/bin/dyndns.sh

Și adăugați intrarea corespunzătoare la cron:

# crontab -e @reboot /usr/local/bin/dyndns.sh

Asta este, acum, după o repornire, scriptul va rula automat. Repornim sau rulăm manual scriptul și verificăm la https://pdd.yandex.ru dacă valoarea intrării pentru subdomeniul nostru s-a schimbat.

P.S. Pentru a face totul complet gratuit, nu trebuie să cumpărați un domeniu, ci să utilizați un domeniu gratuit în zona .tk. Îl puteți obține pe site-ul www.dot.tk

Calculatoarele din rețea (inclusiv internetul) nu au nume; transferul de date se realizează folosind adrese IP.

adresa IP(Internet Protocol Address) - o adresă numerică de pe Internet, care arată ca 123.123.123.123. Adresele IP sunt greu de reținut de oameni, mai ales când vizitați zeci de site-uri pe zi cu adrese IP diferite.

Similar cu modul în care salvați numerele de telefon, puteți păstra o agendă de contacte sau un director telefonic pentru adresele IP. Rolul unui agendă telefonică pe Internet este îndeplinit de DNS(Domain Name System), sistem de nume de domeniu. Când introduceți un nume de domeniu într-un browser de internet, acesta este convertit prin DNS la o adresă IP, care este utilizată pentru a accesa serverul.

De fapt, serverele DNS stochează nu numai adresa IP a serverului, ci și alte date, cum ar fi înregistrările de resurse DNS „MX”, „TXT”, „A”, „CNAME”, „SOA”.

Serverele DNS, care stochează informații despre mii sau milioane de domenii, sunt adesea găzduite pe servere separate, puternice. În astfel de cazuri, expresia „server DNS” poate însemna întregul complex software și hardware (server și program în sine).

De ce să înregistrați servere DNS pentru un domeniu?

Când înregistrați un nou nume de domeniu, niciun server DNS de pe Internet nu știe despre acesta. Și până când informațiile despre domeniul dvs. vor apărea pe serverele DNS de Internet, nici site-ul web, nici mail-ul, nici alte servicii nu vor funcționa.

Pentru ca serverele DNS de pe Internet să știe despre domeniul tău, cineva trebuie să le spună, iar acesta este serverul DNS pe care îl înregistrezi pentru domeniul tău. Joacă rolul unui „vestitor” care păstrează întotdeauna cele mai recente informații despre domeniul tău. De exemplu, serverele DNS de găzduire ns1.hosting.site și ns2.hosting.site stochează informații despre domeniile care sunt conectate la site-ul de găzduire.

Despre diferențele dintre serverele DNS ns1.hosting..hosting.siteŞi ns1..siteși citește despre care dintre aceste perechi este potrivită pentru tine.

Serverele DNS sunt înregistrate în perechi, acest lucru se face pentru o mai bună toleranță la erori: dacă un server DNS eșuează, celălalt va rămâne în funcțiune.

Schemă pentru determinarea unei adrese IP după numele de domeniu

Această diagramă explică pe scurt ce se întâmplă atunci când doriți să vizitați un anumit site.

  1. 1 Computerul dvs. contactează serverele DNS ale ISP-ului dvs. ( săgeata 1). Serverele DNS ale furnizorului caută adresa IP în cache (un buffer intermediar cu acces rapid) și, dacă o găsesc, îți dau acest IP și prin IP computerul tău accesează serverul pe care este găzduit site-ul ( săgeata 7).
  2. 2 Dacă perechea „domeniu-adresă IP” nu este în cache, atunci serverul DNS al furnizorului face interogări recursive către serverele DNS rădăcină ( săgeata 2), dintre care există doar câteva în lume. Modificările în setările domeniului de pe serverele rădăcină nu sunt actualizate instantaneu, ci la fiecare câteva ore. De exemplu, modificările în serverele DNS rădăcină ale zonei RU sunt actualizate doar de 4 ori pe zi. Serverele rădăcină returnează adresele serverelor DNS ale domeniului ( săgeata 3) pe care este stocată zona DNS a domeniului.
  3. 3 După ce a primit adresele serverelor DNS, furnizorul face o solicitare către unul dintre acestea ( săgeata 4), primește adresa IP necesară ca răspuns ( săgeata 5), îl stochează în cache (pentru a nu fi nevoie să contactați serverul DNS rădăcină de fiecare dată) și îl transmite browserului dvs. ( săgeata 6).
  4. 4 Și abia acum că browserul are adresa IP a site-ului poate contacta serverul de găzduire pe care se află site-ul ( săgeata 7), și îl poate afișa pe ecranul computerului ( săgeata 8).

Aşa:

  • Informațiile despre serverele rădăcină sunt actualizate doar de câteva ori pe zi.
  • Furnizorii de internet, de regulă, actualizează memoria cache a serverului DNS nu mai mult de o dată pe zi (unii furnizori actualizează memoria cache chiar mai rar, dar de obicei nu mai mult de 72 de ore), deci dacă după înregistrarea sau transferul unui domeniu (schimbarea serverelor DNS) , Site-ul nu a funcționat imediat, nu vă faceți griji - doar așteptați puțin.
  • Pentru a verifica dacă DNS a fost actualizat, utilizați .

Structura descrisă mai sus a funcționării DNS este mult simplificată pentru detalii, puteți consulta literatura de referință de pe Internet.

Cele mai bune articole pe această temă