Veiledninger - alle veiledninger i ett dokument

 
 

Installere mreg-cli

mreg-cli er en kommandolinje klient skrevet i Python 3 og støttes på RHEL7 og Fedora 30. For å installere:

sudo yum install mreg-cli

Kjøre mreg-cli

For å få riktige tilganger i mreg må driftsbruker benyttes, og da må man angi den brukeren når man starter programmet:

% mreg-cli -u foo-drift
Connecting to https://mreg.uio.no
Password for foo-drift: ***********************
Token adf9e0125ca1ee47f5fe0681e7016134asdf
Type -h for help.

Hvis man ikke benytter en linux-maskin eller ikke har mreg-cli installert, så er det installert på sentrale linux-maskiner som login.uio.no. Se guide for å koble til med putty.

Mest brukte kommandoer

Registerere host med henholdsvis tilfeldig og gitt ipadresse:

mreg> host add padde -ip 129.240.202.0/ -contact bruker@usit.uio.no -comment testmaskin
OK: : created host padde.uio.no with IP 129.240.202.4
mreg> host add padde -ip 129.240.202.100 -contact bruker@usit.uio.no -comment testmaskin
OK: : created host padde.uio.no with IP 129.240.202.100

Navne om en maskin:

mreg> host rename padde frosk
OK: : renamed padde.uio.no to frosk.uio.no

Slette en maskin:

mreg> host remove frosk
OK: : removed frosk.uio.no

Koble en MAC-adresse med en maskin (må bruke IP-adresse hvis maskinen har flere enn en):

mreg> dhcp assoc padde aa:bb:cc:dd:ee:ff
OK: : associated mac address aa:bb:cc:dd:ee:ff with ip 129.240.202.100
mreg> dhcp assoc 129.240.6.4 aa:bb:cc:dd:ee:fe
OK: : associated mac address aa:bb:cc:dd:ee:fe with ip 129.240.6.4

Fjerne en MAC-adresse fra en maskin (må bruke IP-adresse hvis maskinen har flere enn en):

mreg> dhcp disassoc padde
OK: : disassociated mac address aa:bb:cc:dd:ee:ff from ip 129.240.202.100
mreg> dhcp disassoc 129.240.202.100
OK: : disassociated mac address aa:bb:cc:dd:ee:ff from ip 129.240.202.100

Flytte en ipaddresse fra en maskin til en annen:

mreg> host a_move -fromhost padde -tohost frosk -ip 129.240.202.100
OK: : Moved ipaddresses 129.240.202.100

Oppdateringsfrekvens

Vanligvis skal det gå maks 2 minutter mellom hver gang en sonefil blir forsøkt oppdatert. Tilsvarende frekvens på dhcp-konfigurasjon.

Vanlige oppgaver og eksempler

Under følger endel eksempler med kommentarer for endel andre vanlige oppgaver.

Hostnavn

Vise all informasjon om en maskin:

mreg> host info padde

Allokere ny maskin med tilfeldig adresse på gitt subnett:

mreg> host add padde -ip 129.240.202.0/ -contact bruker@usit.uio.no -comment testmaskin

Allokere ny maskin med gitt IPadresse:

mreg> host add padde -ip 129.240.202.100 -contact bruker@usit.uio.no -comment testmaskin

Slette en maskin (denne fjerner også eventuelle MAC-adresseassosiasjoner som er registrert på maskinens IPadresse(r)):

mreg> host remove padde

Sette alias (CNAME) for en maskin (første argument er eksisterende hostnavn, andre argument er aliaset):

mreg> host cname_add padde frosk

Sette kontakt for en maskin:

mreg> host set_contact frosk bruker@uio.no

Navne om en maskin:

mreg> host rename padde frosk

Endre ipadresse på en maskin:

mreg> host a_change padde -old 129.240.202.4 -new 129.240.0.0/
mreg> host aaaa_change padde -old 2001:700:100:202::4 -new 2001:700:100:202::1234

IP-addresser

Alle kommandoer på for a_foo kan endres til aaaa_foo for å gjøre tilsvarende med IPv6-adresser.

Legge til ekstra ipadresse til en eksisterende maskin:

mreg> host a_add frosk 129.240.202.200
WARNING: : frosk.uio.no already has A/AAAA record(s), must force
mreg> host a_add frosk 129.240.202.200 -force
OK: : added ip 129.240.202.200 to frosk.uio.no

Fjerne en av flere ipadresse til en maskin (denne fjerner også eventuelle MAC-adresseassosiasjoner til ipadressen):

mreg> host a_remove frosk 129.240.202.200
OK: : removed ip 129.240.202.200 from frosk.uio.no

Dersom man skal flytte en IPadresse fra en maskin til en annen, så er det en egen kommando for dette, og den har fordelen at den beholder eventuelle MAC-adresseassosiasjoner til IP-adressen:

mreg> host a_move -fromhost padde -tohost frosk -ip 129.240.202.4
OK: : Moved ipaddress 129.240.202.4

Liste ledige ipadresser på et nettverk:

mreg> network list_unused_addresses 129.240.202.0

Liste registrerte ipadresser på et nettverk:

mreg> network list_used_addresses 129.240.202.0

MAC-adresser / DHCP

Assosiere en MAC-adresse til maskinen (IPadresse må brukes istedetfor hostnavn hvis maskinen har flere enn en IPadresse:

mreg> dhcp assoc padde aa:bb:cc:dd:ee:ff
OK: : associated mac address aa:bb:cc:dd:ee:ff with ip 129.240.202.6

Hvis hosten/ipaddressen vi forsøker å assosiere til allerede har en MAC-addresse så får vi en advarsel (og kan force):

mreg> dhcp assoc padde aa:bb:cc:dd:ee:f1
WARNING: : ip 129.240.202.6 has existing mac aa:bb:cc:dd:ee:ff. Use force to replace.

Hvis en MAC-addresse allerede er assosiert til en annen IPadresse får vi en advarsel:

mreg> dhcp assoc padde bb:cc:dd:ee:ff:11                                                                                      
WARNING: : mac bb:cc:dd:ee:ff:11 already in use by: 129.240.6.4. Use force to add 129.240.202.6 -> bb:cc:dd:ee:ff:11 as well.

En MAC er unik på et nettverk/vlan, så mreg vil avvise et forsøk på å assosiere en MAC til IPadresse hvis MAC-en allerede er i bruk på det nettverket/vlanet.

Fjerne assosieringen av MAC-adressen:

mreg> dhcp disassoc padde
OK: : disassociated mac address bb:cc:dd:ee:ff:11 from ip 129.240.202.6

For å assosiere en MAC-adresse til en maskin med to eller flere IPadresser må man gjøre det mot IPadressen(e), ikke hosten:

mreg> host info padde
Name:         padde.uio.no
Contact:      bruker@uio.no
A_Records     IP              MAC
              129.240.202.4   <not set>
              129.240.202.6   <not set>
mreg> dhcp assoc padde aa:bb:cc:dd:ee:ff
WARNING: : padde.uio.no got 2 ip addresses, please enter an ip instead.
mreg> dhcp assoc 129.240.202.4 aa:bb:cc:dd:ee:ff
OK: : associated mac address aa:bb:cc:dd:ee:ff with ip 129.240.202.4

For å fjerne assosieringen til en maskin med en eller flere IPadresser, må man angi IPadresse og ikke hostnavn (mreg-cli sjekker ikke på om den har flere IPadresser med assosiering, kun om den har flere IP-adresser):

mreg> host info padde
Name:         padde.uio.no
Contact:      bruker@uio.no
A_Records     IP              MAC
              129.240.202.4   aa:bb:cc:dd:ee:ff
              129.240.202.6   <not set>
mreg> dhcp disassoc padde
WARNING: : padde.uio.no got 2 ip addresses, please enter an ip instead.
mreg> dhcp disassoc 129.240.202.4
OK: : disassociated mac address aa:bb:cc:dd:ee:ff from ip 129.240.202.4

For å se hvilken maskin som har en gitt MAC-adresse:

mreg> host info aa:bb:cc:dd:ee:11
Name:         frosk.uio.no
Contact:      bruker@uio.no
A_Records     IP                          MAC
              129.240.202.4             aa:bb:cc:dd:ee:11
TTL:          (Default)

Manuell PTR

De fleste IPadresser brukes kun av en host og da bruker mreg bare navnet til hosten for å opprette en PTR i en reversesone. Hvis flere hoster deler en ipadresse, så vil det første hostnavnet som har ipadressen få PTR. Dette kan manuelt endres.

Merk at en host ikke trenger å ha tilordnet en ipaddresse for å kunne manuelt opprette en PTR. Typisk vil dette være relevant for hoster hvis navn ikke er styrt av mreg.

For å se og flytte en PTR mellom hoster:

mreg> host add padde -ip 129.240.202.100
OK: : created host padde.uio.no with IP 129.240.202.100
mreg> host add frosk -ip 129.240.202.100                               
WARNING: : 129.240.202.100 already in use by: padde.uio.no. Must force
mreg> host add frosk -ip 129.240.202.100 -force 
OK: : created host frosk.uio.no with IP 129.240.202.100
mreg> host info 129.240.202.100        
A_Records     IP                MAC
frosk.uio.no  129.240.202.100   <not set>
padde.uio.no  129.240.202.100   <not set>
PTR override: 129.240.202.100 -> padde.uio.no
mreg> host ptr_change -ip 129.240.202.100 -old padde -new frosk
OK: : changed owner of PTR record 129.240.202.100 from padde.uio.no to frosk.uio.no
mreg> host info 129.240.202.100                                       
A_Records     IP                MAC
frosk.uio.no  129.240.202.100   <not set>
padde.uio.no  129.240.202.100   <not set>
PTR override: 129.240.202.100 -> frosk.uio.no

For å opprette en PTR for en ipadresse:

mreg> host ptr_add 129.240.202.200 padde
OK: : Added PTR record 129.240.202.200 to padde.uio.no

For å se en PTR:

mreg> host ptr_show 129.240.202.200  
PTR override:  129.240.202.200 -> padde.uio.no
mreg> host info padde                         
Name:         padde.uio.no
A_Records     IP                MAC
              129.240.202.100   <not set>
PTR override: 129.240.202.200 -> padde.uio.no

Slette en PTR:

mreg> host ptr_remove 129.240.202.200 padde.uio.no        
OK: : deleted PTR record 129.240.202.200 for padde.uio.no
mreg> host info 129.240.202.100                                    
A_Records     IP                MAC
frosk.uio.no  129.240.202.100   <not set>
padde.uio.no  129.240.202.100   <not set>
WARNING: : IP 129.240.202.100 used by 2 hosts, but no PTR override

TTL

TTL (Time To Live) sier hvor lenge en cachende navnetjener skal få lov til å cache en entry fra sonefila (dette gjelder altså eksterne cachende navnetjenere, ikke våre interne autoritative). Default TTL for records i sonefila til uio.no er 43200 sekunder (12t). Man kan sette en annen TTL for en record med:

mreg> host ttl_set padde 6000
OK: : updated TTL to 6000 for padde.uio.no

Og man kan fjerne spesifikk TTL for en record (da går den altså tilbake til å arve default TTL fra sonefila) med:

mreg> host ttl_remove padde
OK: : removed TTL for padde.uio.no

CNAME

CNAME brukes for å lage aliaser. Navnet til et CNAME kan ikke ha andre attributter som ipaddresse, MX etc.

Sette alias (CNAME) for en maskin (første argument er eksisterende hostnavn, andre argument er aliaset):

mreg> host cname_add padde frosk
OK: : Added cname alias frosk.uio.no for padde.uio.no

For å fjerne aliset:

mreg> host cname_remove padde frosk 
OK: : Removed cname alias frosk.uio.no for padde.uio.no

MX

MX, mail exchange, brukes for å anvise hvor epost skal levers. En MX består av to verdier, en prioritet og et navn. Lavt tall for prioritet betyr høy prioritet.

Tidligere hadde Cerebrum et konsept med MX-definisjoner og så anga man det til en host, det er nå borte og man angir MX direkte.

For å sette en MX:

mreg> host mx_add padde 10 mx.uio.no
OK: : Added MX record to padde.uio.no

Merk at servernavnet ikke trenger å eksistere, da man kan peke mot eksterne tjenester. Følgelig må servernavnet være et FQDN:

mreg> host mx_add padde 20 mx                                                                                                        
WARNING: : POST "https://mreg.uio.no/api/v1/mxs/": 400: Bad Request
{
 "mx": [
   "Name must include a tld."
 ]
}

For å se MX for en host kan man bruke:

mreg> host mx_show padde
MX:  Priority Server
          10 mx.uio.no
mreg> host info padde      
Name:         padde.uio.no
[...] 
MX:           Priority Server
                   10 mx.uio.no

For å fjerne en MX:

mreg> host mx_remove padde 10 mx.uio.no
OK: : deleted MX from padde.uio.no

SRV

SRV, service, brukes for å peke tjenester på hoster. En SRV har et navn, prioritet, vekt, port og et hostnavn.

For å opprette en SRV:

mreg> host srv_add -name _tjeneste._tcp.uio.no -priority 10 -weight 5 -port 8080 -host padde
OK: : Added SRV record _tjeneste._tcp.uio.no with target padde.uio.no

For å se en SRV:

mreg> host srv_show _tjeneste._tcp.uio.no                    
SRV: _tjeneste._tcp.uio.no   10     5     8080  padde.uio.no
mreg> host info padde                                        
Name:         padde.uio.no
[...]
SRV: _tjeneste._tcp.uio.no   10     5     8080  padde.uio.no

For å fjerne en SRV:

mreg> host srv_remove -name _tjeneste._tcp.uio.no -priority 10 -weight 5 -port 8080 -host padde
OK: : deleted SRV record for padde.uio.no

Hvis en host slettes så vil tilhørende SRVer også slettes.

TXT

Brukes for å legge til tekststrenger.

En TXT støtter mellomrom i strengen, men da må det legges på anførselstegn:

mreg> host txt_add padde "padde tekst"
OK: : Added TXT record to padde.uio.no

For å se TXT:

mreg> host txt_show padde               
TXT: v=spf1 -all
TXT: padde tekst
mreg> host info padde                   
Name:         padde.uio.no
[...]
TXT:          padde tekst
TXT:          v=spf1 -all

For å fjerne en TXT:

mreg> host txt_remove padde "padde tekst" 
OK: : deleted 1 of padde.uio.no TXT records matching "padde tekst"

NAPTR

En Name Authority Pointer brukes for å peke tjeneste-typer på en konkret maskin eller via et sett med SRVer. Brukes veldig lite ved UiO, og per i dag kun av voip.

NAPTR har seks felter: preferanse, rekkefølger, flag, tjeneste, regulært uttrykk og erstatning.

For å opprette en NAPTR:

mreg> host naptr_add -name uio.no -preference 10 -order 5 -flag s -service TEST+D2T -regex '' -replacement   _tjeneste._tcp.uio.no
OK: : created NAPTR record for uio.no

For å se en NAPTR:

mreg> host naptr_show uio.no                                                                              
NAPTRs:       Preference    Order         Flag          Service       Regex         Replacement    
              10            5             s             test+d2t      ""            _tjeneste._tcp.uio.no
mreg> host info uio.no                                                                                    
Name:         uio.no
Contact:       
TTL:          (Default)
TXT:          v=spf1 -all
NAPTRs:       Preference    Order         Flag          Service       Regex         Replacement    
              10            5             s             test+d2t      ""            _tjeneste._tcp.uio.no

For å fjerne en NAPTR:

mreg> host naptr_remove  -name uio.no -preference 10 -order 5 -flag s -service test+d2t -regex '' -replacement _tjeneste._tcp.uio.no
OK: : deleted NAPTR record for uio.no

SSHFP

For å gjøre det enklere å bruke ssh mot en maskin så kan man legge den offentlige nøkkelen til maskinen rett i dns. En SSHFP oppføring har tre felter, algoritme, hash type og et heksadesimalt fingeravtrykk av den offentlige nøkkelen.

ssh-keygen kan hjelpe til å finne riktige verdier for disse feltene:

% ssh-keygen -r padde.uio.no -f /etc/ssh/ssh_host_ed25519_key.pub             
padde.uio.no IN SSHFP 4 1 b7af710c02336f313c097748531e39d1438e748c
padde.uio.no IN SSHFP 4 2 d4e2b3e030d5420ea282ec5942c8d57ec89226982fa52c016ac9210f47a00fe2

Vi ønsker at man bruker SHA-256 hash, alttså hash type nummer 2.

For å lage en SSHFP:

mreg> host sshfp_add padde.uio.no 4 2 d4e2b3e030d5420ea282ec5942c8d57ec89226982fa52c016ac9210f47a00fe2 
OK: : Added SSHFP record d4e2b3e030d5420ea282ec5942c8d57ec89226982fa52c016ac9210f47a00fe2 for host padde.uio.no

For å se en SSHFP:

mreg> host sshfp_show padde.uio.no
SSHFPs:       Algorithm     Type          Fingerprint    
             4             2             d4e2b3e030d5420ea282ec5942c8d57ec89226982fa52c016ac9210f47a00fe2

Sletting av alle SSHFP for en host. Hvis kun et fingerprint, legg på argumentet -fingerprint:

mreg> host sshfp_remove padde -fingerprint b7af710c02336f313c097748531e39d1438e748c
OK: : removed SSHFP record with fingerprint b7af710c02336f313c097748531e39d1438e748c for padde.uio.no
mreg> host sshfp_remove padde                                                                                                 
OK: : removed SSHFP record with fingerprint 79fcb61ae0dcbce0b61c47b43f092e09a6152fcb4a0bbec18bcb8733e9b82bab for padde.uio.no
OK: : removed SSHFP record with fingerprint d4e2b3e030d5420ea282ec5942c8d57ec89226982fa52c016ac9210f47a00fe2 for padde.uio.no

HINFO

En gammel DNS oppføring for å indikere hvilken cpu og operativ system en host har. Det kan kun være en HINFO for en host.

For å opprette en HINFO:

mreg> host hinfo_add padde 'intel i7' fedora30
OK: : Added HINFO record to padde.uio.no

For å se en HINFO:

mreg> host hinfo_show padde                                  
Hinfo:        cpu=intel i7 os=fedora30
mreg> host info padde                                        
Name:         padde.uio.no
[...]
Hinfo:        cpu=intel i7 os=fedora30

Sletting av en HINFO:

mreg> host hinfo_remove padde         
OK: : deleted HINFO from padde.uio.no

LOC

For å spesifere en fysisk poisjon til en host så kan man opprette en LOC. Formatet er en WGS84 breddegrad, lengdegrad, høyde samt størrelse og nøyaktighet.

For å sette en lokalisjon:

mreg> host loc_add padde "59 58 31.722 N 10 43 38.746 E 80m"
OK: : added LOC '59 58 31.722 N 10 43 38.746 E 80m' for padde.uio.no

For å se lokalisjonen:

mreg> host loc_show padde
mreg> host info padde                           
Name:         padde.uio.no
[...]
Loc:          59 58 31.722 N 10 43 38.746 E 80m

BACnet ID

Det går an å sette BACnet ID på host-objekter. Det er nyttig for å holde styr på byggteknisk utstyr. En BACnet ID kan være et heltall fra 0 til 4194302, og kan ikke brukes av flere host-objekter samtidig. Det er ofte referert til som BACnet Instance Number i standarder og dokumentasjon. Les mer om BACnet her: http://www.itbguiden.no/protokoller/bacnet/

mreg> host bacnetid_add -id 1234 callisto.uio.no
OK: : Assigned BACnet ID 1234 to callisto.uio.no

mreg> host info callisto.uio.no
..
BACnet ID:    1234

Hvis du ikke oppgir noen spesiell id, får du neste ledige:

mreg> host bacnetid_add sauron.uio.no
OK: : Assigned BACnet ID 65 to sauron.uio.no

Liste ut id-verdier som er i bruk:

mreg> host bacnetid_list
ID     Hostname
51     sd-to0421.bygg.uio.no
52     sd-to0422.bygg.uio.no
53     sd-to0423.bygg.uio.no
1234   callisto.uio.no

mreg> host bacnetid_list -min 50 -max 52
ID   Hostname
51   sd-to0421.bygg.uio.no
52   sd-to0422.bygg.uio.no

Fjerne/frigjøre en id igjen:

mreg> host bacnetid_remove callisto.uio.no
OK: : Unassigned BACnet ID 1234 from callisto.uio.no

Eksterne maskiner/nett

Man kan registrere et hostnavn med en IPadresse på et nett som ikke styres av mreg, men da må man bruke "force":

mreg> host add padde -ip 10.0.0.1 
WARNING: : 10.0.0.1 isn't in a network controlled by MREG, must force
mreg> host add padde -ip 10.0.0.1 -force 
OK: : created host padde.uio.no with IP 10.0.0.1

I dette tilfellet kommer altså A-record'en i sonefila til "uio.no", men det kommer ikke noen PTR-record siden 42.42.42.0/ ikke er noe nettverk som mreg vet om.

Man man også registrere en PTR-record fra et av våre nettverk til et eksternt domene, men det krever også force, og man må opprette hosten først:

mreg> host add extern.example.org -comment 'external host used for PTR'
WARNING: : extern.example.org isn't in a zone controlled by MREG, must force
mreg> host add extern.example.org -comment 'external host used for PTR' -force
OK: : created host extern.example.org
mreg> host ptr_add 129.240.202.100 extern.example.org   
WARNING: : extern.example.org isn't in a zone controlled by MREG, must force
mreg> host ptr_add 129.240.202.100 extern.example.org -force
OK: : Added PTR record 129.240.202.100 to extern.example.org

Nettverk

Alle nettverk blir importert, så opprettelse og endring av dem skjer utenfor mreg-cli. Det er kun antall reserverte ipadresser som kan endres.

For å se informasjon om nettverk, oppgi enten en ipadresse på nettet eller angi det eksplisitt i CIDR-notasjon:

mreg> network info 2001:700:100:202::
Network:                 2001:700:100:202::/64
Netmask:                 ffff:ffff:ffff:ffff:0000:0000:0000:0000
Description:             usit-klient-nett
Category:                 
Location:                 
VLAN                     200
DNS delegated:           False
Frozen                   False
IP-range:                2001:700:100:202:: - 2001:700:100:202:ffff:ffff:ffff:ffff
Reserved host addresses: 3
                         2001:700:100:202:: (net)
                         2001:700:100:202::1
                         2001:700:100:202::2
                         2001:700:100:202::3
Used addresses:          1
Unused addresses:        18446744073709551611 (excluding reserved adr.)
mreg> network info 129.240.202.0/23
Network:                 129.240.202.0/23
Netmask:                 255.255.254.0
Description:             USIT-internt klientnett
Category:                kn
Location:                usit
VLAN                     200
DNS delegated:           False
Frozen                   False
IP-range:                129.240.202.0 - 129.240.203.255
Reserved host addresses: 3
                         129.240.202.0 (net)
                         129.240.202.1
                         129.240.202.2
                         129.240.202.3
                         129.240.203.255 (broadcast)
Used addresses:          1
Unused addresses:        506 (excluding reserved adr.)

For å endre antall reserverte adresser:

mreg> network set_reserved 129.240.202.0 10 
OK: : updated reserved to '10' for 129.240.202.0/23

Merkelapper

Administratorer kan definere merkelapper i systemet. Formålet er å kunne skille på ting ifm tilgangskontroll. Hva som er trygt å la en gitt gruppe få tilgang til, og ikke.

mreg> label add safe_roles 'These roles are totally safe'
OK: : Added label "safe_roles"

mreg> label list
Name         Description
bestlabel    This is the best label, everyone says so.
safe_roles   These roles are totally safe.

Foreløpig kan man sette merkelapper på roller. Etterhvert vil det kanskje bli mulig å sette merkelapper på andre ting og.

reg> policy list_roles with*
Role                 Description                       Labels
with_monitoring      Servere som skal overvåkes
without_monitoring   Servere som ikke skal overvåkes

mreg> policy label_add safe_roles with_monitoring
OK: : Added the label 'safe_roles' to the role 'with_monitoring'.

mreg> label info safe_roles
Name:                   safe_roles
Description:            These roles are totally safe.
Roles with this label:
    with_monitoring
Permissions with this label:
    None

mreg> policy label_remove safe_roles with_monitoring
OK: : Removed the label 'safe_roles' from the role 'with_monitoring'.

Når man har delegert tilgang til en gruppe (se avsnittet "delegerte tilganger" nedenfor), kan man angi at denne gruppen får lov til å benytte seg av ting som har gitte merkelapper.

Videre kan man endre navnet på merkelapper, og eventuelt også beskrivelsen. Merkelapper kan også slettes. De vil da forsvinne fra eventuelle ting de var koblet til.

mreg> label rename -desc 'Ny beskrivelse' safe_roles ok_roles
OK: : Renamed label "safe_roles" to "ok_roles"

mreg> label remove bestlabel
OK: : Removed label "bestlabel"

mreg> label list
Name       Description
ok_roles   Ny beskrivelse

Delegerte tilganger

mreg baserer seg på enten globale rettigheter via en gruppe, eller delegerte rettigheter. Ved å angi en nettverk, trenger ikke være 1-til-1 med reellt nettverk, gruppe og et regulært uttrykk så kan rettigheter bli delt ut.

F.eks for å gi gruppen usit-drift tilgang til 129.240.202.0/23 for host hvis navn slutter på uio.no:

mreg> permission network_add 129.240.202.0/23 usit-drift '\.uio\.no$'
OK: : Added permission to 129.240.202.0/23

NB: husk at gruppen må ha nettgruppe-spread og skal kun inneholde driftsbrukere.

For å liste opp alle tilganger:

mreg> permission network_list

Det er ikke mulig å endre en tilgang, men man kan fjerne og legge den til slik man ønsker den. For å slette en tilgang:

mreg> permission network_remove 129.240.202.0/23 usit-drift '\.uio\.no$'
OK: : Removed permission for 129.240.202.0/23

Når du har definert en tilgang, kan du si hvilke merkelapper som skal knyttes til denne tilgangen. Det medfører at alle som har denne tilgangen, vil få lov til å gi roller som har denne merkelappen til "sine" maskiner.

mreg> permission label_add 129.240.202.0/23 usit-drift '\.uio\.no$' totally_safe_roles
OK: : Added the label 'totally_safe_roles' to the permission.

Merkelappen kan fjernes fra tilgangen igjen:

mreg> permission label_remove 129.240.202.0/23 usit-drift '\.uio\.no$' totally_safe_roles
OK: : Removed the label 'totally_safe_roles' from the permission.

Merk at dette betyr at når man fjerner en IP fra en host, men beholder hostnavnet, så vil man miste tilgang til hosten, da delegasjonen er på nettet, og ikke selve hosten.

Hostpolicy

For automatisere en del tjenester kan en maskin få tildelt en eller flere roller. En rolle er et sett av en eller flere atomer som igjen beskriver en spesfikk oppgave.

Alle kommandoer for å endre eller slette noe krever admin-tilgang.

Atomer

For å opprette atom:

mreg> policy atom_create aller_minst "De minste maskinene"
OK: : Created new atom aller_minst

Informasjon om et atom:

mreg> policy info aller_minst
Name:          aller_minst
Created:       2019-12-02
Description:   De minste maskinene
Roles where this atom is a member:
               alle_maskiner

FInne atomer basert på et filter. Et filter kan bestå av en eller flere asterisker:

mreg> policy list_atoms aller*
aller_minst          'De minste maskinene'

For å slette et atom:

mreg> policy atom_delete aller_minst
OK: : Deleted atom aller_minst

Roller

Opprette:

mreg> policy role_create alle_maskiner "Alle maskiner"
OK: : Created new role 'alle_maskiner'

Informasjon om rollen:

mreg> policy info alle_maskiner
Name:          alle_maskiner
Created:       2019-12-02
Description:   Alle maskiner
Atom members:
               aller_minst

FInne roller basert på et filter. Et filter kan bestå av en eller flere asterisker:

mreg> policy list_roles all*
all_machines   'Absolutt alle maskiner'

Endre beskrivelse for rolle eller atom:

mreg> policy set_description alle_maskiner "Absolutt alle maskiner"
OK: : updated description to 'Absolutt alle maskiner' for 'alle_maskiner'

For å navne om rolle eller atom:

mreg> policy rename alle_maskiner all_machines
OK: : Renamed 'alle_maskiner' to 'all_machines'

For å legge til eller fjerne et atom:

mreg> policy add_atom all_machines aller_minst
OK: : Added atom 'aller_minst' to role 'all_machines'
mreg> policy remove_atom all_machines aller_minst
OK: : Removed atom 'aller_minst' from role 'all_machines'

Legge til en host:

mreg> policy host_add all_machines frosk.uio.no
OK: : Added frosk.uio.no to all_machines

Liste hostmedlemmene til en rolle:

mreg> policy list_hosts all_machines
Name:
 frosk.uio.no

Liste en host sine roller:

mreg> policy host_list frosk.uio.no
Roles for 'frosk.uio.no':
  all_machines

Fjerne en host fra en rolle:

mreg> policy host_remove all_machines frosk.uio.no
OK: : Removed 'frosk.uio.no' from all_machines

 

Nettgrupper for maskiner

Maskinnettgrupper benyttes primært for å få tilgang til et NFS-område.

For å opprette en gruppe:

mreg> group create frosker froskegruppa
OK: : Created new group 'frosker'

Informasjon om en gruppe:

mreg> group info frosker
Name:          frosker
Description:   froskegruppa
Members:       1 host, 1 group
Owners:        min-eiegruppe

Liste medlemmer:

mreg> group list frosker
Type           Name
host           frosk.uio.no
group          padder

og med medlemmene til medlemsgruppe(r):

mreg> group list frosker -expand
Type           Name           Source
host           frosk.uio.no   frosker
host           padde.uio.no   padder

Liste gruppe en host er medlem i:

mreg> group host_list padde.uio.no
Groups:
   padder

Legge til en host i en gruppe:

mreg> group host_add frosker frosk.uio.no
OK: : Added host 'frosk.uio.no' to 'frosker'

Fjerne en host fra en gruppe:

mreg> group host_remove frosker frosk.uio.no
OK: : Removed host 'frosk.uio.no' from 'frosker'

Legge en gruppe til en gruppe:

mreg> group group_add frosker padder
OK: : Added group 'padder' to 'frosker'

Fjerne en gruppe fra en gruppe:

mreg> group group_remove frosker padder
OK: : Removed 'padder' from 'frosker'

Legge til en eier av en gruppe:

mreg> group owner_add frosker min-eiegruppe
OK: : Added 'min-eiegruppe' as owner of 'frosker'

Fjerne eier av en gruppe:

mreg> group owner_remove frosker min-eiegruppe
OK: : Removed 'min-eiegruppe' as owner of 'frosker'

Endre beskrivelse:

mreg> group set_description frosker "alle frosker"
OK: : updated description to 'alle frosker' for 'frosker'

Navne om en gruppe:

mreg> group rename frosker padder
OK: : Renamed group 'frosker' to 'padder'

Slette en gruppe:

mreg> group delete padder
ERROR: : Group contains 1 host(s) and 0 group(s), must force
mreg> group delete padder -force
OK: : Deleted group 'padder'

Historikk for en gruppe:

2019-11-28 14:38:48 [bruker-drift]: HostGroup create: name = 'padder', description = 'alle paddene'
2019-11-28 14:51:02 [bruker-drift]: HostGroup add: frosker
2019-11-28 14:51:54 [bruker-drift]: Host add: padde.uio.no
2019-11-28 14:54:12 [bruker-drift]: HostGroup remove: frosker
2019-11-28 14:54:20 [bruker-drift]: HostGroup add to: group frosker

Soner

Liste alle forward- og reverse-soner:

mreg> zone list -forward
Zones:
  nett.uio.no
  uio.no
mreg> zone list -reverse
Zones:
  240.129.in-addr.arpa
  26.172.in-addr.arpa

Informasjon om en sone:

mreg> zone info uio.no
Zone:               uio.no
       Nameservers:        hostname            TTL
                           ns1.uio.no          <not set>
                           ns2.uio.no          <not set>
Primary ns:         ns1.uio.no
Email:              hostmaster@usit.uio.no
Serialnumber:       2019100400
Refresh:            10800
Retry:              3600
Expire:             1814400
SOA TTL:            43200
Default TTL:        43200

Opprette en sone:

mreg> zone create example.org hostmaster@usit.uio.no ns1.uio.no
WARNING: : ns1.uio.no is not in mreg, must force
mreg> zone create example.org hostmaster@usit.uio.no ns1.uio.no -force
OK: : created zone example.org

Endre navnetjener(e):

mreg> zone set_ns example.org ns1.example.org ns2.example.org
WARNING: : ns1.example.org is not in mreg, must force
ns2.example.org is not in mreg, must force
mreg> zone set_ns example.org ns1.example.org ns2.example.org -force
OK: : updated nameservers for example.org

Endre ett eller flere SOA-elementer:

mreg> zone set_soa example.org -email hostmaster@example.com  -retry 5000
OK: : set soa for example.org

For å endre default TTL:

mreg> zone set_default_ttl example.org 40000
OK: : set default TTL for example.org

Man kan ikke slette en sone som er i bruk:

mreg> host add host.example.org
OK: : created host host.example.org
mreg> zone delete example.org
WARNING: : Zone has 1 registered entries, must force

Må ryddes manuelt før det er lov til å slette sonen:

mreg> host remove host.example.org
OK: : removed host.example.org
mreg> zone delete example.org
OK: : deleted zone example.org

Delegeringer

Både forward- og reversesoner kan delegeres. Husk å lage glue-oppføringer ved behov for forward-delegeringer.

Samme syntaks for begge delegeringene:

mreg> zone delegation_create 26.172.in-addr.arpa 10.26.172.in-addr.arpa ns1.example.org
WARNING: : ns1.example.org has no A-record/glue, must force
mreg> host a_add ns1.example.org 172.26.0.0/
OK: : added ip 172.26.0.4 to ns1.example.org
mreg> zone delegation_create 26.172.in-addr.arpa 10.26.172.in-addr.arpa ns1.example.org
OK: : created zone delegation 10.26.172.in-addr.arpa
mreg> zone delegation_create example.org delegated.example.org ns1.example.org
OK: : created zone delegation delegated.example.org

For å liste delegeringer:

mreg> zone delegation_list example.org                                                                                                                                                           
Delegations:
   delegated.example.org
       Nameservers:        hostname            TTL
                           ns1.example.org     <not set>

mreg vil hindre deg i å slette en host som er i bruk som navnetjener, eventuelt ved forsøk på å fjerne siste ipadressen til den:

mreg> host remove ns1.example.org
WARNING: : DELETE "https://mreg.uio.no/api/v1/hosts/ns1.example.org": 403: Forbidden
{
 "detail": "IP 172.26.0.4 is the only IP for host ns1.example.org that is used as nameserver in [['forwardzonedelegation', ['delegated.example.org']], ['reversezonedelegation', ['10.26.172.in
-addr.arpa']]]"
}

For å slette delegering:

mreg> zone delegation_delete example.org delegated.example.org                                                                                                                                   
OK: : Removed zone delegation delegated.example.org
Publisert 16. okt. 2019 12:38 - Sist endret 23. jan. 2024 15:16