Rootmanual:Lysatorfiera en dator: Skillnad mellan sidversioner

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök
(→‎NTP: Outdated)
 
(6 mellanliggande sidversioner av 4 användare visas inte)
Rad 22: Rad 22:
* Applicera ändringarna: make
* Applicera ändringarna: make


* Gå in i Hiera-repot och kör <code>new_host.sh <fqdn för den nya maskinen></code>

* 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.

<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 89: 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 hoover.lysator.liu.se hoover loghost
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 104: Rad 84:


== NTP ==
== NTP ==

{{Föråldrad}}


Vi har tre NTP-servrar:
Vi har tre NTP-servrar:
Rad 260: 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 288: 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>.


== /pkg ==
== 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/&lt;paket&gt;/&lt;plattform&gt;/&lt;version&gt;/</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/&lt;paket&gt;/sparc-gentoo_unstable/&lt;version&gt;/</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/&lt;paket&gt;</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 314: 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

Rootmanual:Blandat_YP_och_DNS

  • 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

Varning! Den här informationen är troligtvis föråldrad. Om du har tid, kontrollera gärna hur verkligheten ser ut och uppdatera den här sidan.


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-authBeatrix:

#%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.)

Mail

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.