Rootmanual:Lysatorfiera en dator
Puppet
Rekommenderat är att använda Rootmanual:Puppet för att sätta upp maskinen. Vill man inte göra det av någon anledning finns manuella instruktioner nedan.
Innan installationen körs igång bör man dock se till att följande saker är fixade
- Lägga till i DNS
* Logga in på ns med din användare. * cd /lysator/etc/dns * Checka ut zon-filen du vill modifiera: co -l db/lysator/lysator.zone * db/lysator/lysator.zone (forward) * db/lysator/254.zone (reverse för 130.236.254/24) * db/lysator/f0a.zone (reverse för 2001:6b0:17:f0a0::/64) * Editera zon-filen och öka serienummret: emacs -nw db/lysator/lysator.zone * Checka in zon-filen: ci -u db/lysator/lysator.zone * Bli root: su - * cd /lysator/etc/dns * Applicera ändringarna: make
- Lägga till i netgroups i NIS:
* Logga in på nis med din användare. * Gå till /lysator/etc/nis/db/. * Checka ut netgroup: co -l netgroup * Lägg till en rad i filen för den nya datorn. * Checka in netgroup: ci -u netgroup * Gå till /lysator/etc/nis/. * Bli root: su - * Bygg om NIS-data: make
Och efter att puppet har körts klart måste man även fixa en kerberos prinicpal till maskinen enligt nedan. Se till att köra kommandona på en solaris maskin då det brukar bli konstigt annars.
kadmin -p $USER/admin <lösenord> addprinc -maxlife 24855days -maxrenewlife 24855days -randkey host/$HOST.lysator.liu.se ktadd -k /root/krb5.keytab host/$HOST.lysator.liu.se quit scp /root/krb5.keytab $HOST/etc/krb5.keytab rm /root/krb5.keytab
Nätverk
IPv4-adress | 130.236.254.x |
---|---|
IPv4-nätmask | 255.255.255.0 (/24) |
IPv4-gateway | 130.236.254.1 |
IPv6-adress | 2001:6b0:17:f0a0::x (samma sista oktett som i IPv4-adressen) |
IPv6 prefixlängd | 64 |
Namnserver | 2001:6b0:17:f0a0::e1 (resolver)
130.236.254.225 (resolver) |
Namnserver | 130.236.254.4 (ns-slave) |
DNS-domän | lysator.liu.se |
/etc/resolv.conf:
domain lysator.liu.se nameserver 2001:6b0:17:f0a0::e1 nameserver 130.236.254.225 nameserver 130.236.254.4
/etc/hosts: (och/eller /etc/inet/ipnodes på tillräckligt nya Solaris-burkar)
130.236.254.1 liunet-gw.lysator.liu.se liunet-gw 130.236.254.2 ns-master.lysator.liu.se ns-master 130.236.254.4 ns-slave.lysator.liu.se ns-slave 130.236.254.5 ns.lysator.liu.se ns 2001:6b0:17:f0a0::5 ns.lysator.liu.se ns 130.236.254.7 nis.lysator.liu.se nis 2001:6b0:17:f0a0::7 nis.lysator.liu.se nis 130.236.254.25 hoover.lysator.liu.se hoover loghost 130.236.254.125 as-master.lysator.liu.se as-master 130.236.254.126 as-slave.lysator.liu.se as-slave 130.236.254.225 resolver.lysator.liu.se resolver 2001:6b0:17:f0a0::e1 resolver.lysator.liu.se resolver
För icke-lysator datorer bör åtminstone dessa rader finnas:
130.236.254.1 liunet-gw.lysator.liu.se liunet-gw 130.236.254.25 hoover.lysator.liu.se hoover loghost 130.236.254.225 resolver.lysator.liu.se resolver 2001:6b0:17:f0a0::e1 resolver.lysator.liu.se resolver
NTP
Vi har tre NTP-servrar:
ntp1.lysator.liu.se ntp2.lysator.liu.se ntp3.lysator.liu.se
Dessa kan man t.ex. prata med genom att skriva en /etc/ntp.conf som ser ut så här:
server ntp1.lysator.liu.se iburst server ntp2.lysator.liu.se iburst server ntp3.lysator.liu.se iburst restrict default kod limited nomodify notrap nopeer noquery restrict -6 default kod limited nomodify notrap nopeer noquery restrict 130.236.254.0 mask 255.255.254.0 restrict 2001:6b0:17:f0a0:: mask ffff:ffff:ffff:ffff:: restrict 127.0.0.1 restrict ::1 logfile /var/log/ntp.log driftfile /var/lib/ntp/ntp.drift
NIS
domän | lysator |
---|---|
server | nis.lysator.liu.se |
server | ns-slave.lysator.liu.se |
Som exempel är här /etc/yp.conf från Beatrix:
domain lysator server nis.lysator.liu.se domain lysator server ns-slave.lysator.liu.se
För att saker faktiskt skall läsas från NIS också krävs det att det står så i /etc/nsswitch.conf också. T.ex. så här:
passwd: files nis shadow: files group: files nis netgroup: nis automount: files nis
Bygger du en tjänsteserver där bara root får logga in vill du istället ha:
passwd: compat
och lägga till följande rader sist i /etc/passwd:
+@root:x::::/roots: +:x:::::/bin/nologin
Samt (på Solaris) i /etc/shadow:
+::::::::
Kerberos
realm | LYSATOR.LIU.SE |
---|---|
KDC | as-master.lysator.liu.se |
KDC | as-slave.lysator.liu.se |
adminserver | as-master.lysator.liu.se |
Detta skall antagligen skrivas in i /etc/krb5.conf (MIT-Kerberos på Linux) eller /etc/krb5/krb5.conf (Sun-Kerberos på Nexenta). Som exempel kan en sådan fil se ut så här (från Beatrix):
[libdefaults] default_realm = LYSATOR.LIU.SE [realms] LYSATOR.LIU.SE = { kdc = as-master.lysator.liu.se kdc = as-slave.lysator.liu.se admin_server = as-master.lysator.liu.se } [domain_realm] .lysator.liu.se = LYSATOR.LIU.SE [logging] kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmin.log default = FILE:/var/log/krb5lib.log kdc_rotate = { period = 1d version = 10 } [appdefaults] kinit = { renewable = true forwardable = true }
För att Kerberos skall fungera behövs en host-principal som datorn skall känna till nyckeln till. Den skapar man på den nya datorn så här (enligt inlägg 13295428) om man är root och har en admin-principal:
kadmin -p $USER/admin <lösenord> addprinc -randkey host/$HOST.lysator.liu.se ktadd host/$HOST.lysator.liu.se quit
PAM
För att faktiskt använda Kerberos behöver slå på det i PAM-konfigurationen. Se till att man kan logga in med både /etc/passwd och Kerberos, eftersom roots lösenord står i /etc/passwd och måste fungera även utan nätverk.
Ett exempel på PAM-konfiguration, från /etc/pam.d/system-auth på Beatrix:
#%PAM-1.0 auth required pam_env.so auth sufficient pam_unix.so likeauth nullok auth sufficient pam_krb5.so use_first_pass minimum_uid=100 auth required pam_deny.so account sufficient pam_krb5.so minimum_uid=100 account sufficient pam_unix.so password required pam_cracklib.so retry=3 password sufficient pam_krb5.so minimum_uid=100 password sufficient pam_unix.so nullok md5 shadow use_authtok password required pam_deny.so session required pam_limits.so session required pam_krb5.so minimum_uid=100 session sufficient pam_unix.so
pam_krb5 av versioner högre än 1.0 har haft problem att prata med vår Sun-Kerberos. Om det inte går att logga in, kolla först att klockan går rätt. Om den gör det, testa att nedgradera.
Automontering
Mapar kommer ur NIS. Solaris kan plocka all nödvändig information ur mapen auto_master om /etc/auto.master innehåller +auto_master, medan Linux verkar behöva en lokal /etc/autofs/auto.master som innehåller:
Map | Monteringspunkt |
---|---|
auto_lysator | /mp |
auto_home | /home |
auto_pkg | /pkg |
Dessutom skall det, av historiska skäl, finnas en symlänk /lysator -> /mp/lysator.
/pkg/local kommer att monteras från katalogen pkg-host:/export/pkg/${CPU}-${OSNAME}-${OSREL}, och de variablerna kan få lustiga värden som standard, så de kan behöva sättas för hand. Titta i loggarna efter vad den faktiskt försökte montera och misslyckades med.
Som exempel är här /etc/autofs/auto.master från Beatrix:
/home yp:auto_home nosuid,nodev /mp yp:auto_lysator nosuid,nodev /pkg yp:auto_pkg nosuid,nodev -DOSREL=gentoo_unstable
För att den nya datorn skall få prata NFS krävs även att den är medlem i netgroupen lysator. För att uppdatera netgroups i NIS:
- Logga in på nis som root.
- Sätt PATH till /lysator/bin:/usr/ccs/bin:$PATH.
- Gå till /lysator/etc/nis/db/.
- Checka ut netgroup: co -l netgroup
- Lägg till en rad i filen för den nya datorn.
- Checka in netgroup: ci -u netgroup
- Gå till /lysator/etc/nis/.
- Bygg om NIS-data: make
E-post finns i /mp/mail. För att program skall hitta den skapar man lämpligtvis en symlänk från /var/mail.
/pkg
/pkg installerar paket i /pkg/<paket>/<plattform>/<version>/ och upprätthåller en symlänkfarm från /pkg/local till dessa. /usr/local skall vara en symlänk till /pkg/local, och som sades i avsnittet om automontering ovan är denna unik för varje plattform. Om det redan finns en dator med samma plattform som den nyinstallerade, titta vilken /pkg/local den monterar, annars hitta på en egen.
I pkg-host:/export/pkg/ ligger alla katalogen som kan monteras som /pkg/local. De pekas ut av symlänkar från pkg-host:/export/pkg/local/${CPU}-${OSNAME}-${OSREL}. Exempel: Beatrix har plattformen sparc64-Linux-gentoo_unstable. Den monterar alltså pkg-host:/export/pkg/local/sparc64-Linux-gentoo_unstable på /pkg/local. pkg-host:/export/pkg/local/sparc64-Linux-gentoo_unstable är sedan en symlänk till pkg-host:/export/pkg/local-sparc-gentoo_unstable, där det finns en symlänkfarm som pekar in i /pkg/<paket>/sparc-gentoo_unstable/<version>/.
Plattformsnamnet sparc-gentoo_unstable, som används i sökvägar under /pkg/<paket>, kommer från scriptet /pkg/pkgadmin/all/default/bin/pkgarch, som måste modifieras till att ge rätt utdata om en ny plattform kommer till.
Till slut, för att inte alla skall behöva lägga till /pkg/local i sin PATH skall det finnas en symlänk /usr/local -> /pkg/local.
Loggning
Syslog loggas över nätverk till Hoover. Detta kan t.ex. åstadkommas genom att konfigurera Syslog-NG så här i /etc/syslog-ng/syslog-ng.conf:
options { chain_hostnames(off); flush_lines(0); stats_freq(43200); }; source src { unix-stream("/dev/log"); internal(); file("/proc/kmsg"); }; destination messages { file("/var/log/messages"); }; destination loghost { tcp("loghost.lysator.liu.se"); }; log { source(src); destination(messages); }; log { source(src); destination(loghost); };
Logga gärna via TCP, för att minska risken att meddelanden försvinner.
För vanlig syslog, åtminstone på linux så redigerar man /etc/syslog.conf så här:
*.debug @loghost
syslogd brukar logga en "mark timestamp" periodiskt. Hur ofta kan variera. Vi övervakar med Nagios att det skrivs något till sysloggen från varje maskin tillräckligt ofta, så stäng inte av den här funktionen. En "mark timestamp" bör skickas minst en gång i timmen. Om datorn kör Solaris 10 eller något annat operativsystem som vägrar skicka "mark timestamps" till loghost kan du skapa ett crontabentry som gör det:
17 * * * * /usr/bin/logger mark
(Välj en godtycklig siffra i stället för 17, så att inte alla datorer loggar ett mark exakt samtidigt.)
Maskiner ska normalt inte hantera mail lokalt. Om de gör det så ska de vara rätt konfigurerade. Vad som är rätt vid varje given tidpunkt frågar man i Root-mötet.
Andra maskiner ska låta mail.lysator.liu.se hantera dess mail. Mail som går till root på den lokala maskinen (så som cron-output) ska leveras till root+hostname@lysator.liu.se.
Om du vill att andra rötter ska slippa se de mailen, sätt upp ett alias för root+hostname på mailservern.
På solaris måste man slå på sendmail en aning. Man bör definiera SMART_HOST till mail.lysator.liu.se i konfigurationsfilen sendmail läser. Den ska läsa /etc/mail/local.cf om man gjort netservices limited. Detta bör fixas i antingen jumpstartmiljön eller cfengine.
Nagios
Hur man konfigurerar nagios att övervaka en ny maskin.
CFEngine
Hur man lägger in CFEngine på en maskin, och hur man skriver regler.