2019-03-13 23:05:45 +00:00
< h2 >
Noms de domaine
< / h2 >
2021-03-05 13:52:14 +00:00
< h3 >
Association simple
< span class = "badge badge-pill badge-dark" title = "Une association simple est un sous-domaine qui va vous être attribué, sans que vous ayez à gérer de serveur DNS. Ce domaine sera associé à une IP que vous pourrez changer par la suite. C'est la première étape, plus facile que la délégation." > ?< / span >
< / h3 >
2019-03-13 23:05:45 +00:00
< table class = "table table-striped table-hover" >
< thead >
< tr >
< th > Domaine< / th >
< th > TTL< / th >
< th > Type< / th >
< th > Entrée< / th >
< / tr >
< / thead >
< tbody style = "font-family: monospace" >
2019-03-14 07:51:40 +00:00
< tr ng-repeat = "ad in adomains" >
< td > {{ ad.domain }}< / td >
< td > {{ ad.ttl }}< / td >
< td > {{ ad.rr }}< / td >
< td > < span ng-repeat = "val in ad.values" > {{ val }} < / span > < / td >
2019-03-13 23:05:45 +00:00
< / tr >
< / tbody >
< tfoot >
< tr >
< td colspan = "4" >
2021-02-04 08:37:24 +00:00
< button class = "btn btn-primary" ng-click = "askAssociationD()" >
2019-03-13 23:05:45 +00:00
< span class = "spinner-border spinner-border-sm" role = "status" aria-hidden = "true" ng-show = "pleaseWaitNewAssociation" > < / span >
2021-02-04 08:37:24 +00:00
Demander une nouvelle association
2019-03-13 23:05:45 +00:00
< / button >
2021-03-05 13:52:14 +00:00
< button class = "btn ml-2" ng-class = "{'btn-secondary': !adomains || !adomains.length, 'btn-success': adomains && adomains.length}" ng-disabled = "!adomains || !adomains.length" ng-click = "useMyAssociationD()" >
Utiliser mon domaine
< / button >
2019-03-13 23:05:45 +00:00
< / td >
< / tr >
< / tfoot >
< / table >
< hr class = "my-4" >
2021-03-05 13:52:14 +00:00
< h3 >
Délégation
< span class = "badge badge-pill badge-dark" title = "Une délégation va vous permettre de gérer vous-même votre domaine sur Internet. Nous vous offrons login.srs.p0m.fr, mais vous pouvez aussi choisir de créer la délégation sur votre domaine, si vous en possédez un. Rendez-vous ensuite sur votre serveur pour y installer un serveur de noms de domaine autoritaire tel que nsd, bind, knot ou encore powerDNS..." > ?< / span >
< / h3 >
2019-03-13 23:05:45 +00:00
2019-03-19 13:00:33 +00:00
< ul class = "nav nav-tabs" id = "ddomainTabs" role = "tablist" >
< li class = "nav-item" >
< a class = "nav-link active" data-toggle = "tab" data-target = "#NS" role = "tab" aria-controls = "ns" aria-selected = "true" > Serveurs de nom< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" data-toggle = "tab" data-target = "#GLUE" role = "tab" aria-controls = "glue" aria-selected = "false" > GLUE< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" data-toggle = "tab" data-target = "#DNSSEC" role = "tab" aria-controls = "dnssec" aria-selected = "false" > DNSSEC< / a >
< / li >
< / ul >
2021-03-05 13:52:14 +00:00
< div ng-if = "!student.delegated_domain" class = "tab-content" id = "myTabContent" >
2019-03-19 13:00:33 +00:00
< div class = "tab-pane fade show active" id = "NS" role = "tabpanel" aria-labelledby = "ns-tab" >
< div ng-repeat = "domain in ddomains" >
2021-03-05 13:52:14 +00:00
< h4 class = "text-muted" >
{{ domain }}
< button class = "btn btn-sm btn-info ml-2" ng-if = "$first" ng-click = "useMyDelegationD()" >
< span class = "spinner-border spinner-border-sm" role = "status" aria-hidden = "true" ng-show = "pleaseWaitNewDelegation" > < / span >
Utiliser mon domaine
< / button >
< / h4 >
2019-03-19 13:00:33 +00:00
< table class = "table table-striped table-hover" ng-controller = "NSDomainsController" >
< thead >
< tr >
< th > Serveur DNS< / th >
< th > Joignable< / th >
< / tr >
< / thead >
< tbody style = "font-family: monospace" ng-if = "domainNS" >
< tr ng-repeat = "rr in domainNS" >
< td > < span ng-repeat = "val in rr.values" > {{ val }} < / span > < / td >
< td >
2021-03-05 13:52:14 +00:00
<!-- span class="badge badge - pill badge - secondary">Not implemented yet</span -->
2019-03-19 13:00:33 +00:00
< / td >
< td >
< button class = "btn btn-warning" ng-click = "updateNS(domain, rr)" > Modifier< / button >
< button class = "btn btn-danger" ng-click = "deleteRR(domain, rr)" >
< span class = "spinner-border spinner-border-sm" role = "status" aria-hidden = "true" ng-show = "rr.pleaseWaitNSdel" > < / span >
Supprimer
< / button >
< / td >
< / tr >
< / tbody >
< tbody style = "font-family: monospace" ng-if = "!domainNS" >
< tr >
< td colspan = "4" > Vous n'avez défini aucun serveur de noms pour l'instant< / td >
< / tr >
< / tbody >
< tfoot >
< tr >
< td colspan = "3" >
< button class = "btn btn-primary" ng-click = "addNS(domain)" > Ajouter un nouveau serveur de noms< / button >
< / td >
< / tr >
< / tfoot >
< / table >
< / div >
< / div >
< div class = "tab-pane fade" id = "GLUE" role = "tabpanel" aria-labelledby = "glue-tab" >
< div ng-repeat = "domain in ddomains" >
< h4 class = "text-muted" > {{ domain }}< / h4 >
< table class = "table table-striped table-hover" ng-controller = "GLUEDomainsController" >
< thead >
< tr >
< th > Domaine DNS< / th >
< th > IP< / th >
< th > Joignable< / th >
< / tr >
< / thead >
< tbody style = "font-family: monospace" ng-if = "domainGLUE" >
< tr ng-repeat = "rr in domainGLUE" >
2019-03-26 02:31:47 +00:00
< td > {{ rr.domain }}< / td >
2019-03-19 13:00:33 +00:00
< td > < span ng-repeat = "val in rr.values" > {{ val }} < / span > < / td >
2020-04-26 15:26:39 +00:00
< td ng-controller = "GLUEController" >
< span class = "spinner-border spinner-border-sm" role = "status" aria-hidden = "true" ng-show = "GLUEpending" > < / span >
< span class = "badge badge-pill" ng-class = "{'badge-success': GLUEok, 'badge-danger': !GLUEok}" ng-bind = "GLUEerr" > Not implemented yet< / span >
2019-03-19 13:00:33 +00:00
< / td >
< td >
2019-03-26 02:31:47 +00:00
< button class = "btn btn-warning" ng-click = "updateGLUE(rr.domain, rr)" > Modifier< / button >
< button class = "btn btn-danger" ng-click = "deleteRR(rr.domain, rr)" >
2019-03-19 13:00:33 +00:00
< span class = "spinner-border spinner-border-sm" role = "status" aria-hidden = "true" ng-show = "rr.pleaseWaitAAAAdel" > < / span >
Supprimer
< / button >
< / td >
< / tr >
< / tbody >
< tbody style = "font-family: monospace" ng-if = "!domainGLUE" >
< tr >
< td colspan = "4" > Vous n'avez défini aucun enregistrement glue pour l'instant< / td >
< / tr >
< / tbody >
< tfoot >
< tr >
< td colspan = "4" >
< button class = "btn btn-primary" ng-click = "addGLUE(domain)" > Ajouter un enregistrement glue< / button >
< / td >
< / tr >
< / tfoot >
< / table >
< / div >
< / div >
< div class = "tab-pane fade" id = "DNSSEC" role = "tabpanel" aria-labelledby = "dnssec-tab" >
< div ng-repeat = "domain in ddomains" >
< h4 class = "text-muted" > {{ domain }}< / h4 >
< table class = "table table-striped table-hover" ng-controller = "DSDomainsController" >
< thead >
< tr >
< th > Key Tag< / th >
< th > Algorithme de la clef< / th >
< th > Algorithme de hash< / th >
< th > Hash (hex)< / th >
< / tr >
< / thead >
< tbody style = "font-family: monospace" ng-if = "domainDS" >
< tr ng-repeat = "rr in domainDS" >
< td ng-repeat = "val in rr.values" > {{ val }}< / td >
< td >
< button class = "btn btn-danger" ng-click = "deleteRR(domain, rr)" >
< span class = "spinner-border spinner-border-sm" role = "status" aria-hidden = "true" ng-show = "rr.pleaseWaitDSdel" > < / span >
Supprimer
< / button >
< / td >
< / tr >
< / tbody >
< tbody style = "font-family: monospace" ng-if = "!domainDS" >
< tr >
< td colspan = "4" > Vous n'avez défini aucun enregistrement DS pour l'instant< / td >
< / tr >
< / tbody >
< tfoot >
< tr >
< td colspan = "5" >
< button class = "btn btn-primary" ng-click = "addDS(domain)" > Ajouter un enregistrement DS< / button >
< / td >
< / tr >
< / tfoot >
< / table >
< / div >
< / div >
< / div >
2021-03-05 13:52:14 +00:00
< div ng-if = "student.delegated_domain" >
< h4 class = "text-muted" >
{{ student.delegated_domain }}
< button class = "btn btn-sm btn-danger ml-2" ng-if = "student.delegated_domain" ng-click = "delMyDomainDelegatedD()" >
< span class = "spinner-border spinner-border-sm" role = "status" aria-hidden = "true" ng-show = "pleaseWaitNewDelegation" > < / span >
Ne plus utiliser mon domaine
< / button >
< / h4 >
< p >
Vous avez choisi d'utiliser votre propre domaine pour réaliser la délégation.
< / p >
< p >
L'interface de maatma ne vous est plus utile, car pour réaliser la délégation, vous devez passer par l'interface de votre bureau d'enregistrement.
< / p >
< p >
Pour rappel, voici les enregistrements à rajouter :
< / p >
< pre >
;; Delegation {{ student.delegated_domain }} to the given name server
{{ student.delegated_domain }} 300 IN NS ns.{{ student.delegated_domain }}
2019-03-19 13:00:33 +00:00
2021-03-05 13:52:14 +00:00
;; GLUE record to serve along with the previous record
ns.{{ student.delegated_domain }} 300 IN AAAA [your NS ip]
< / pre >
< / div >
2019-03-14 10:21:45 +00:00
2021-02-04 08:37:24 +00:00
< div class = "modal" id = "AssocModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" > Nouvelle association< / h5 >
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
< div class = "modal-body" >
< p >
Attention : la nouvelle association écrasera toute association précédente !
< / p >
< form class = "ml-2 mr-2" >
< div class = "form-group row" >
< label class = "col-sm-2 col-form-label" > Domaine< / label >
< div class = "col-sm-10" >
< input class = "form-control-plaintext" ng-model = "assoc.domain" readonly >
< / div >
< / div >
< div class = "form-group row" >
< label class = "col-sm-2 col-form-label" > IPv4< / label >
< div class = "col-sm-10" >
< input class = "form-control-plaintext" ng-model = "assoc.a" readonly >
< / div >
< / div >
< div class = "form-group row" >
< label for = "value" class = "col-sm-2 col-form-label" > IPv6< / label >
< div class = "col-sm-10" >
< input class = "form-control" id = "value" ng-model = "assoc.aaaa" >
< / div >
< / div >
< / form >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-dismiss = "modal" > Annuler< / button >
< button type = "button" class = "btn btn-primary" ng-click = "newAssociationD(assoc)" > Envoyer< / button >
< / div >
< / div >
< / div >
< / div >
2021-03-05 13:52:14 +00:00
< div class = "modal" id = "AssocMyDomainModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" > Utiliser mon domaine< / h5 >
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
< div class = "modal-body" >
< p >
Si tu possèdes ton propre domaine, tu peux l'utiliser à la place du domaine qui t'es proposé ici !
< / p >
< p >
Pour cela, rien de plus simple. Choisis un sous-domaine de ton choix, dans ton domaine (par exemple < code > adlin.nemunai.re< / code > ) :
< / p >
< form class = "ml-2 mr-2" >
< div class = "form-group" >
< label class = "form-label" for = "mysubdomain" > Ton sous-domaine :< / label >
< input class = "form-control" id = "mysubdomain" ng-model = "assoc.cname" autofocus >
< / div >
< / form >
< p >
Ensuite, dans ta zone DNS, ajoute un alias pointant vers le domaine sous < code > adlin20xx.p0m.fr< / code > qui t'es proposé :
< / p >
< pre >
{{ assoc.cname }} 300 IN CNAME {{ assoc.domain }}
< / pre >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-dismiss = "modal" > Annuler< / button >
< button type = "button" class = "btn btn-primary" ng-disabled = "!assoc.cname" ng-click = "newMyDomainAssociationD(assoc)" > Ok, c'est fait< / button >
< button type = "button" class = "btn btn-danger" ng-show = "student.associated_domain" ng-click = "delMyDomainAssociationD(assoc)" > Supprimer l'association enregistrée< / button >
< / div >
< / div >
< / div >
< / div >
< div class = "modal" id = "DelegateMyDomainModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" > Utiliser mon domaine comme délégation< / h5 >
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
< div class = "modal-body" >
< p >
Tu peux utiliser ton propre domaine à la place du domaine qui t'es proposé ici !
< / p >
< p >
Commence par choisir un sous-domaine de ton choix (différent de l'association ci-dessus), dans ton domaine (par exemple < code > adlin.nemunai.re< / code > ) :
< / p >
< form class = "ml-2 mr-2" >
< div class = "form-group" >
< label class = "form-label" for = "mysubdomaind" > Ton sous-domaine :< / label >
< input class = "form-control" id = "mysubdomaind" ng-model = "assoc.ns" autofocus >
< / div >
< / form >
< p >
Ensuite, configure ta zone DNS, pour réaliser la délégation. L'interface
< / p >
< pre >
;; Delegation {{ assoc.ns }} to the given name server
{{ assoc.ns }} 300 IN NS ns.{{ assoc.ns }}
;; GLUE record to serve along with the previous record
ns.{{ assoc.ns }} 300 IN AAAA [your NS ip]
< / pre >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-dismiss = "modal" > Annuler< / button >
< button type = "button" class = "btn btn-primary" ng-disabled = "!assoc.ns" ng-click = "newMyDomainDelegationD(assoc)" > Ok, c'est fait< / button >
< / div >
< / div >
< / div >
< / div >
2019-03-14 10:21:45 +00:00
< div class = "modal" id = "NSModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" ng-if = "nsrr.rr == 'NS'" > Modifier la liste des serveurs de noms de la zone< / h5 >
< h5 class = "modal-title" ng-if = "nsrr.rr == 'AAAA'" > Modifier les enregistrements GLUE du domaine< / h5 >
< h5 class = "modal-title" ng-if = "nsrr.rr == 'DS'" > Modifier les clefs DNSSEC de la zone parente< / h5 >
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
< div class = "modal-body" >
< form class = "ml-2 mr-2" >
< div class = "form-group row" >
< label class = "col-sm-2 col-form-label" > Domaine< / label >
< div class = "col-sm-10" >
< input class = "form-control-plaintext" ng-model = "nsrr.domain" ng-if = "nsrr.rr == 'NS' || nsrr.rr == 'DS'" readonly >
< input class = "form-control" ng-model = "nsrr.domain" ng-if = "nsrr.rr == 'AAAA'" >
< / div >
< / div >
< div class = "form-group row" >
< label for = "ttl" class = "col-sm-2 col-form-label" > TTL< / label >
< div class = "col-sm-10" >
< input class = "form-control" id = "ttl" ng-model = "nsrr.ttl" >
< / div >
< / div >
< div class = "form-group row" >
< label class = "col-sm-2 col-form-label" > Type< / label >
< div class = "col-sm-10" >
< input class = "form-control-plaintext" ng-model = "nsrr.rr" readonly >
< / div >
< / div >
< div class = "form-group row" ng-repeat = "v in nsrr.values track by $index" >
2019-03-19 13:00:33 +00:00
< label for = "value{{$index}}" class = "col-sm-2 col-form-label" ng-if = "nsrr.labels" > {{ nsrr.labels[$index] }}< / label >
< label for = "value{{$index}}" class = "col-sm-2 col-form-label" ng-if = "!nsrr.labels" > Valeur< / label >
2019-03-14 10:21:45 +00:00
< div class = "col-sm-10" >
< input class = "form-control" id = "value{{$index}}" ng-model = "nsrr.values[$index]" >
< / div >
< / div >
< / form >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-dismiss = "modal" > Annuler< / button >
< button type = "button" class = "btn btn-primary" ng-click = "saveNSRR(nsrr)" > Enregistrer< / button >
< / div >
< / div >
< / div >
< / div >