Rootmanual:Lysatorfiera en dator: Skillnad mellan sidversioner
Knase (diskussion | bidrag) (→Puppet) |
Hugo (diskussion | bidrag) (→NTP: Outdated) |
||
(7 mellanliggande sidversioner av 4 användare visas inte) | |||
Rad 9: | Rad 9: | ||
* Lägga till i DNS |
* Lägga till i DNS |
||
* Lägga till i netgroups i NIS: |
|||
* Logga in på |
* Logga in på ns med din användare. |
||
* |
* cd /lysator/etc/dns |
||
* Checka ut |
* Checka ut zon-filen du vill modifiera: co -l db/lysator/lysator.zone |
||
* db/lysator/lysator.zone (forward) |
|||
* Lägg till en rad i filen för den nya datorn. |
|||
* 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 |
|||
⚫ | |||
* Bli root: su - |
* Bli root: su - |
||
* cd /lysator/etc/dns |
|||
* Bygg om NIS-data: make |
|||
* Applicera ändringarna: make |
|||
* Gå in i Hiera-repot och kör <code>new_host.sh <fqdn för den nya maskinen></code> |
|||
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. |
|||
<pre>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</pre> |
|||
== Nätverk == |
== Nätverk == |
||
Rad 75: | Rad 69: | ||
130.236.254.7 nis.lysator.liu.se nis |
130.236.254.7 nis.lysator.liu.se nis |
||
2001:6b0:17:f0a0::7 nis.lysator.liu.se nis |
2001:6b0:17:f0a0::7 nis.lysator.liu.se nis |
||
130.236.254.25 |
130.236.254.25 loghost.lysator.liu.se loghost hoover |
||
130.236.254.125 as-master.lysator.liu.se as-master |
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.126 as-slave.lysator.liu.se as-slave |
||
Rad 90: | Rad 84: | ||
== NTP == |
== NTP == |
||
{{Föråldrad}} |
|||
Vi har tre NTP-servrar: |
Vi har tre NTP-servrar: |
||
Rad 246: | Rad 242: | ||
| auto_home |
| auto_home |
||
| /home |
| /home |
||
|- |
|||
| auto_pkg |
|||
| /pkg |
|||
|} |
|} |
||
Dessutom skall det, av historiska skäl, finnas en symlänk <tt>/lysator -> /mp/lysator</tt>. |
Dessutom skall det, av historiska skäl, finnas en symlänk <tt>/lysator -> /mp/lysator</tt>. |
||
<tt>/pkg/local</tt> kommer att monteras från katalogen <tt>pkg-host:/export/pkg/${CPU}-${OSNAME}-${OSREL}</tt>, 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 <tt>/etc/autofs/auto.master</tt> från [[Beatrix]]: |
Som exempel är här <tt>/etc/autofs/auto.master</tt> från [[Beatrix]]: |
||
<pre>/home yp:auto_home nosuid,nodev |
<pre>/home yp:auto_home nosuid,nodev |
||
/mp yp:auto_lysator nosuid,nodev |
/mp yp:auto_lysator nosuid,nodev</pre> |
||
/pkg yp:auto_pkg nosuid,nodev -DOSREL=gentoo_unstable</pre> |
|||
För att den nya datorn skall få prata NFS krävs även att den är medlem i netgroupen <tt>lysator</tt>. För att uppdatera netgroups i NIS: |
För att den nya datorn skall få prata NFS krävs även att den är medlem i netgroupen <tt>lysator</tt>. För att uppdatera netgroups i NIS: |
||
Rad 274: | Rad 264: | ||
E-post finns i <tt>/mp/mail</tt>. För att program skall hitta den skapar man lämpligtvis en symlänk från <tt>/var/mail</tt>. |
E-post finns i <tt>/mp/mail</tt>. För att program skall hitta den skapar man lämpligtvis en symlänk från <tt>/var/mail</tt>. |
||
== |
== Loggning == |
||
Loggning är bra, loggning ska du ha, speciellt ska den vara tillgänglig på loghost. |
|||
<tt>[[Lysators_nyare_filstruktur | /pkg]]</tt> installerar paket i <tt>/pkg/<paket>/<plattform>/<version>/</tt> och upprätthåller en symlänkfarm från <tt>/pkg/local</tt> till dessa. <tt>/usr/local</tt> skall vara en symlänk till <tt>/pkg/local</tt>, 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 <tt>/pkg/local</tt> den monterar, annars hitta på en egen. |
|||
=== Rsyslog === |
|||
I <tt>pkg-host:/export/pkg/</tt> ligger alla katalogen som kan monteras som <tt>/pkg/local</tt>. De pekas ut av symlänkar från <tt>pkg-host:/export/pkg/local/${CPU}-${OSNAME}-${OSREL}</tt>. Exempel: [[Beatrix]] har plattformen <tt>sparc64-Linux-gentoo_unstable</tt>. Den monterar alltså <tt>pkg-host:/export/pkg/local/sparc64-Linux-gentoo_unstable</tt> på <tt>/pkg/local</tt>. <tt>pkg-host:/export/pkg/local/sparc64-Linux-gentoo_unstable</tt> är sedan en symlänk till <tt>pkg-host:/export/pkg/local-sparc-gentoo_unstable</tt>, där det finns en symlänkfarm som pekar in i <tt>/pkg/<paket>/sparc-gentoo_unstable/<version>/</tt>. |
|||
Rsyslog är en syslog för UNIX och Unix-lika system och är ofta inkluderad när systemet installeras. |
|||
Plattformsnamnet <tt>sparc-gentoo_unstable</tt>, som används i sökvägar under <tt>/pkg/<paket></tt>, kommer från scriptet <tt>/pkg/pkgadmin/all/default/bin/pkgarch</tt>, som måste modifieras till att ge rätt utdata om en ny plattform kommer till. |
|||
För att skicka loggen till loghost, via tcp, ska följande rad inkluderas i configen <code>/etc/rsyslog.conf</code>. |
|||
Till slut, för att inte alla skall behöva lägga till <tt>/pkg/local</tt> i sin PATH skall det finnas en symlänk <tt>/usr/local -> /pkg/local</tt>. |
|||
<pre>*.* @@loghost</pre> |
|||
== Loggning == |
|||
Du ska förstås se till att ip-addressen till loghost finns i [[Rootmanual:Lysatorfiera_en_dator#Nätverk | /etc/hosts]] |
|||
=== Syslog-NG === |
|||
Syslog loggas över nätverk till [[Hoover]]. Detta kan t.ex. åstadkommas genom att konfigurera [http://www.balabit.com/products/syslog_ng/ Syslog-NG] så här i <tt>/etc/syslog-ng/syslog-ng.conf</tt>: |
Syslog loggas över nätverk till [[Hoover]]. Detta kan t.ex. åstadkommas genom att konfigurera [http://www.balabit.com/products/syslog_ng/ Syslog-NG] så här i <tt>/etc/syslog-ng/syslog-ng.conf</tt>: |
||
Rad 300: | Rad 294: | ||
Logga gärna via TCP, för att minska risken att meddelanden försvinner. |
Logga gärna via TCP, för att minska risken att meddelanden försvinner. |
||
=== Syslogd === |
|||
För vanlig syslog, åtminstone på linux så redigerar man <tt>/etc/syslog.conf</tt> så här: |
För vanlig syslog, åtminstone på linux så redigerar man <tt>/etc/syslog.conf</tt> så här: |
Nuvarande version från 6 januari 2022 kl. 03.44
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
- Gå in i Hiera-repot och kör
new_host.sh <fqdn för den nya maskinen>
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 loghost.lysator.liu.se loghost hoover 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 |
Dessutom skall det, av historiska skäl, finnas en symlänk /lysator -> /mp/lysator.
Som exempel är här /etc/autofs/auto.master från Beatrix:
/home yp:auto_home nosuid,nodev /mp yp:auto_lysator nosuid,nodev
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.
Loggning
Loggning är bra, loggning ska du ha, speciellt ska den vara tillgänglig på loghost.
Rsyslog
Rsyslog är en syslog för UNIX och Unix-lika system och är ofta inkluderad när systemet installeras.
För att skicka loggen till loghost, via tcp, ska följande rad inkluderas i configen /etc/rsyslog.conf
.
*.* @@loghost
Du ska förstås se till att ip-addressen till loghost finns i /etc/hosts
Syslog-NG
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.
Syslogd
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.