CentOS 7 OPSI: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(OPSI Pakete)
(Installation Host)
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
Zurück zu [[OPSI]]
 
Zurück zu [[OPSI]]
 
= Ziele =
 
= Ziele =
 
+
* Ich bin in einen Bug gerannt, siehe unten.
 +
* Einzige Änderung ist, dass der OPSI-Server kein Container sein wird.
 
* OPSI-Server mit Samba Domain im NT4 Style
 
* OPSI-Server mit Samba Domain im NT4 Style
 
** LXC-Host auf Basis von CentOS 7
 
** LXC-Host auf Basis von CentOS 7
Zeile 14: Zeile 15:
 
*** / im LVM: 7 GB, ext4 auswählen, lässt sich resizen
 
*** / im LVM: 7 GB, ext4 auswählen, lässt sich resizen
 
*** volume group maximieren
 
*** volume group maximieren
 +
 +
* Installation in RAID1 mit LVM
 +
** / im LVM:
 +
** Dann Ändern auf RAID1.
 +
** Ergebniss: mdadm-RAID1 mit nestet pv
 +
 
== ssh starten ==
 
== ssh starten ==
 
  systemctl start sshd
 
  systemctl start sshd
Zeile 244: Zeile 251:
  
 
Container braucht ewig, bis er läuft, wenn er denn läuft (30 min)
 
Container braucht ewig, bis er läuft, wenn er denn läuft (30 min)
 
+
<br>
Die LXC-Leute haben den Bug GESCHLOSSEN! Im Spetember 2014! <br>
 
 
 
Ich kotze!!!!!
 
 
Es gibt nen Patch für lxc-1.0.8, aktuell ist 1.07
 
Es gibt nen Patch für lxc-1.0.8, aktuell ist 1.07
  
Zeile 316: Zeile 320:
  
 
  mount -a
 
  mount -a
 
= OPSI Pakete =
 
== activate_license ==
 
Die ini bezieht sich auf den Depotserver
 
vim /var/lib/opsi/config/depots/<hostname>.<domain>.local.ini
 
 
[activate_license-install]
 
productkey = ["<Windows Volume LIcence Key"]
 
setkey = ["yes"]
 
 
== windomain ==
 
Download at
 
* http://download.uib.de/opsi4.0/products/contribute/full-package/windomain_1.0-6.opsi
 
 
[windomain-install]
 
account_ou = []
 
domain = ["<samba-domain>"]
 
method = ["auto"]
 
password = ["<password für user, der ein joindomain durchführen kann>"]
 
primarywinsserver = []
 
samba_domain = ["true"] = default ist '''false'''
 
secondarywinsserver = []
 
username = ["<user, der ein joindomain durchführen kann>"]
 
 
== win7 ==
 
unattende install
 
* Password für den Administrator ändern
 
** Default ist '''nt123''', in der Datei '''unattend.xml''' zwei mal vorhanden.
 
** Beide male durch das selbe, neue ersetzen.
 
 
vim /var/lib/opsi/depot/win7/custom/unattend.xml
 
 
== Lernwerkstatt ==
 
* https://groups.google.com/forum/#!topic/de.comp.os.unix.linux.misc/kalwkd0NLSw
 
* Datenablage mit 7zip auf Windows entpacken, codepage Probleme
 
 
= Andere Helfer =
 
== BGInfo ==
 
* https://technet.microsoft.com/de-de/sysinternals/bb897557.aspx
 
* Zeigt verschiedenste Daten auf dem Desktopn an
 
* Hier reduziert auf Hostname und IP
 
* Die Exe und das configfile liegen im Share '''tools'''
 
* Ein User mit Schreibrechten ruft das Script auf und konfiguriert es. Dazu '''/timer:NULL''' weglassen.
 
* Beispielconfig:
 
<UserName>@<HostName>
 
IP: <IP Adress>
 
* '''/accepteula''' impliziert die Annahme der EULA.
 
** Kost nix, darf überall verwendet werden, Download nur bei MS.
 
** Details: siehe EULA im Download
 
 
vim /local/samba/netlogon/logon.cmd
 
 
\\<domain-server>\tools\BGInfo \\<domain-server>\tools\conf.bgi /timer:Null /accepteula
 
 
* smb.conf Ausschnitt
 
 
        [tools]
 
        comment = Kleine Helfer
 
        path = /local/samba/shares/tools
 
        guest ok = no
 
        writeable = no
 
        browseable =no
 
        write list = @ntadm
 
  
 
= Probleme =
 
= Probleme =
Zeile 386: Zeile 327:
 
=== Beschreibung ===
 
=== Beschreibung ===
 
Der user '''domadmin''' wurde währen der Installation erstellt und zur Gruppe '''ntadmin''' hinzugefügt.<br>
 
Der user '''domadmin''' wurde währen der Installation erstellt und zur Gruppe '''ntadmin''' hinzugefügt.<br>
D.h., seine Promary Group ist '''domadmin''', seine secondary '''ntadmin'''<br>
+
D.h., seine Primary Group ist '''domadmin''', seine secondary '''ntadmin'''<br>
 
Die Gruppe '''ntadmin''' wurde per '''net groupmap add....''' auf '''Domain Admins''' gemappt.<br>
 
Die Gruppe '''ntadmin''' wurde per '''net groupmap add....''' auf '''Domain Admins''' gemappt.<br>
 
Syntax O.K., Ergebniss schlecht, es funzt nicht.<br>
 
Syntax O.K., Ergebniss schlecht, es funzt nicht.<br>
 
Der User '''domadmin''' ist kein Admin, auch nicht auf den Windowsclients.
 
Der User '''domadmin''' ist kein Admin, auch nicht auf den Windowsclients.
 +
 
=== Lösung ===
 
=== Lösung ===
 
  net groupmap delete netgroup="Domain Admins"
 
  net groupmap delete netgroup="Domain Admins"
Zeile 413: Zeile 355:
 
Warum? Keine Ahnung. Vielleicht die Reihenfolge der Gruppen in /etc/group. Dort steht ntadmin vor domadmin
 
Warum? Keine Ahnung. Vielleicht die Reihenfolge der Gruppen in /etc/group. Dort steht ntadmin vor domadmin
  
= Windows updaten =
+
= Boot from mdadm =
Work in Progress<br>
+
* http://www.experts-exchange.com/OS/Linux/Distributions/Q_28555676.html
 
 
* Ansätze => wsusoffline für OPSI
 
* http://www.wsusoffline.net/
 
* http://trac.dass-it.de/pub/wiki/opsi#wsusoffline
 
 
 
=== Geht nicht ===
 
* Repos für RedHat 7 (hoffentlich auch für CentOS 7 => nope. /usr/bin/groupadd fehlt! Symlink nütz nichts
 
* http://software.opensuse.org/download/package?project=home:dassit:opsi:opsi4&package=wsusoffline
 
 
 
=== Lösung ===
 
Paket als rpm downloaden
 
* http://download.opensuse.org/repositories/home:/dassit:/opsi:/opsi4/RHEL_7/noarch/wsusoffline-8.0.0.1144-1.1.noarch.rpm
 
 
 
yum install epel-release (da gibt es auch openvpn her, doppelt nützlich)
 
 
 
yum install xmlstarlet md5deep
 
 
 
rpm -i wsusoffline-8.0.0.1144-1.1 => klappt immer noch nicht, /usr/bin/groupadd fehlt.
 
 
 
rpm -i wsusoffline-8.0.0.1144-1.1 --nodeps
 
 
 
Scheint trotzdem zu funktionieren.<br>
 
Windows 7 32bit Updates ziehen
 
  wsus-download-updates.sh w61 deu
 
 
 
Wenn nicht, wsusoffline mit einem Windowsclienten durchführen
 
 
 
 
 
 
 
http://download.wsusoffline.net/wsusoffline954.zip => oder neuer
 
 
 
* Die Daten in ein OPSI-Packet packen (siehe dass-it), sollte gehen.
 
* Oder per logon.cmd ausführen.
 
 
 
 
 
 
 
=== Links ===
 
* Commandozeilenargumente
 
* http://wiki.oppserver.net/index.php/WSUSOFFLINE_INSTALL_FAQ_AUF_DEBIAN_SQUEEZE
 
 
 
* Interessanter Thread
 
* http://forums.wsusoffline.net/viewtopic.php?f=9&t=3737
 
* Wsusoffline Forum
 
* http://forums.wsusoffline.net/viewforum.php?f=1
 

Aktuelle Version vom 1. April 2015, 12:04 Uhr

Zurück zu OPSI

Ziele

  • Ich bin in einen Bug gerannt, siehe unten.
  • Einzige Änderung ist, dass der OPSI-Server kein Container sein wird.
  • OPSI-Server mit Samba Domain im NT4 Style
    • LXC-Host auf Basis von CentOS 7

Installation Host

Boot vom ISO/CD

Installation vom ISO in eine VirtualBox 4.13.8 Debian Jessie

  • Partitionierung
    • Manuell auswählen
      • /boot : 250M, ext4 auswählen
      • / im LVM: 7 GB, ext4 auswählen, lässt sich resizen
      • volume group maximieren
  • Installation in RAID1 mit LVM
    • / im LVM:
    • Dann Ändern auf RAID1.
    • Ergebniss: mdadm-RAID1 mit nestet pv

ssh starten

systemctl start sshd

IP herausfinden

ip addr

Basispakete installieren

yum install vim wget net-tools bridge-utils bash-completion rsync

Name des Trägersystems

carrier steht für das LXC-Hostsystem und ist eine willkürliche Definition.

hostname set-hostname <hostname>-carrier
vim /etc/hosts
10.255.255.1    <hostname>-carrier.<domain>.local    <hostname>-carrier

LXC installieren

rpm -Uhv http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum install lxc lxc-templates 

Ergebnisse sollten alle grün sein.

lxc-checkconfig

Bridges

Unnötiges löschen

yum erase NetworkManager dhclient

Bug /etc/resolv.conf

Wird dauernd überschrieben, obwohl NM und dhclient gelöscht sind.

vim /etc/sysconfig/network-scripts/ifcfg-lo
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback

NM_CONTROLLED=NO

Verbindung des Carriers mit dem internet

Anpassen an die örtlichen Begebenheiten

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE="Ethernet"
BOOTPROTO="static"

IPADDR=192.168.0.127
NETMASK=255.255.255.0
GATEWAY=192.168.0.240

DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="658e7fd0-5ce5-488c-a1f5-9e9e8c3c2c22"
ONBOOT="yes"

DNS1=127.0.0.1
IPV6INIT=no
HWADDR=08:00:27:54:2A:5E

NOZEROCONF=yes
NM_CONTROLLED="no"

#PEERDNS=yes
#PEERROUTES=yes

Verbindung der CTs ins Internet

vim /etc/sysconfig/network-scripts/ifcfg-br0


DEVICE=br0
TYPE=Bridge

IPV4_FAILURE_FATAL=no

IPADDR=10.255.255.1
PREFIX=24
#NETMASK=255.255.255.0


ONBOOT=yes
BOOTPROTO=static
NM_CONTROLLED=no
DELAY=0
STP=yes

NOZEROCONF=yes
NM_CONTROLLED=NO

Verbindung der CTs ins Intranet

br1

vim /etc/sysconfig/network-scripts/ifcfg-br1
DEVICE=br1
TYPE=Bridge

DEFROUTE=yes
IPV4_FAILURE_FATAL=no

ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=no
DELAY=0
STP=yes

NOZEROCONF=yes
NM_CONTROLLED=NO

Physische Netzwerkkarte der Bridge br1 hinzufügen

vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
HWADDR=08:00:27:06:28:E0
TYPE=Ethernet
BOOTPROTO=none
IPV4_FAILURE_FATAL=no
NAME=enp0s8
UUID=e2120a43-de79-4da8-8d6e-afe702b0b17d
ONBOOT=yes
BRIDGE=br1

NOZEROCONF=yes
NM_CONTROLLED=NO

Forwarding

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1
sysctl -p /etc/sysctl.conf

Firewall

Ich bin mit firewalled nicht vetraut und nutze iptables.

systemctl stop firewalld.service 
systemctl disable firewalld.service
yum -y install iptables-services
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

Regel abspeichern

service iptables save
systemctl start iptables.service
systemctl status iptables.service

Avahi ausschalten

Zeroconf wird nicht benötigt.

systemctl stop avahi-daemon.socket
systemctl disable avahi-daemon.socket
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.service

LV für LXC erstellen

lvcreate -L+40G -n lxc centos
mkfs.ext4 /dev/centos/lxc
blkid|grep lxc >> /etc/fstab
vim /etc/fstab
/dev/disk/by-uuid/<uuid>  /var/lib/lxc    ext4    defaults        1       2

SELINUX in permissiven Modus versetzen

vim /etc/selinux/config

Ändern von

SELINUX=enforcing

in

SELINUX=permissive

Zum Aktivieren der SELINUX Änderung muss der Host neu gestartet werden.

reboot

Wenn alles läuft, kann mensch immer noch daran rumschrauben.

Überprüfen

Netzwerk

ifconfig

Passt alles?

route

Avahi wirklich weg?

cat /etc/resolv.conf

Alles wie gewünscht?

ping heise.de

Funktioniert die Namensauflösung?

brctl show

Bridges und Interface O.K.?

iptables -L -v -t nat

MASQUERADE am passenden Interface

Installation CT

debootstrap

Auch hier, <hostname>-lnx01 ist eine willkürliche Definition

lxc-create -t centos -n <hostname>-lnx01
  • t = Template
  • n = Containername, ist ebenfalls CT-Hostname

Passwort ändern

BUG BIG BUG BIG BUG

Container braucht ewig, bis er läuft, wenn er denn läuft (30 min)
Es gibt nen Patch für lxc-1.0.8, aktuell ist 1.07

Planänderung: OPSI goes bare iron

Hostname und /etc/hosts

<hostname>-lnx01 ist eine willkürliche Definition

hostnamectl set-hostname <hostname>-lnx01
vim /etc/hosts
<Inhalt anpassen>

Netzwerk ändern

vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
HWADDR=08:00:27:06:28:E0

NM_CONTROLLED="no"

IPADDR=10.180.18.1
PREFIX=24
 
TYPE=Ethernet
BOOTPROTO=none
IPV4_FAILURE_FATAL=no
NAME=enp0s8
UUID=e2120a43-de79-4da8-8d6e-afe702b0b17d
ONBOOT=yes
#BRIDGE=br1

NOZEROCONF=yes

br0 und br1 starten nicht mehr beim booten.

ONBOOT=no

OPSI Installation

yum install dhcp-common dhcp bind
yum install -y xinetd => fehlgeschlagen, hat unter CentOS 6 aber auch funktioniert
yum install -y samba samba-client => ohne MySQL-Server
yum install -y python-pyasn1

LV ändern

umount  /var/lib/lxc
lvremove /dev/centos/lxc
lvcreate -L+50G -n local centos
mkfs.ext4 /dev/centos/local

Überprüfen

lvdisplay
blkid |grep local >> /etc/fstab
vim /etc/fstab
/etc/fstab anpassen
mkdir /local
mount -a

Probleme

samba 4 classic primary controller

  • nur root kann Client connecten

Beschreibung

Der user domadmin wurde währen der Installation erstellt und zur Gruppe ntadmin hinzugefügt.
D.h., seine Primary Group ist domadmin, seine secondary ntadmin
Die Gruppe ntadmin wurde per net groupmap add.... auf Domain Admins gemappt.
Syntax O.K., Ergebniss schlecht, es funzt nicht.
Der User domadmin ist kein Admin, auch nicht auf den Windowsclients.

Lösung

net groupmap delete netgroup="Domain Admins"

ntadmin ist nicht mehr auf "Domain Admins" gemappt.

addgroup ntadm
net groupmap add nfgroup="Domain Admins" unixgroup=ntadm rid=512 type=d

Benutzer domadmin der Gruppe ntadm hinzugefügt.
Alles O.K.

Vor der Änderung
Ich hatte einen Bentzer domjoin angelegt, legitimiert durch domadmin.

net rpc rights grant 'DOMAIN\domjoin' SeMachineAccountPrivilege -U domadmin

Dieser konnte keinen Client mit der Domain connecten.
Nach dem neuen Mapping auf ntadm einen neuen User angelegt.

useradd join
smbpasswd -a join
net rpc rights grant 'DOMAIN\join' SeMachineAccountPrivilege -U domadmin


Alles O.K.
Warum? Keine Ahnung. Vielleicht die Reihenfolge der Gruppen in /etc/group. Dort steht ntadmin vor domadmin

Boot from mdadm