CentOS 7 OPSI

Aus Vosp.info
Wechseln zu:Navigation, Suche

Zurück zu OPSI

Ziele

  • 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

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)

Die LXC-Leute haben den Bug GESCHLOSSEN! Im Spetember 2014!

Ich kotze!!!!! 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

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

[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

Andere Helfer

BGInfo

<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

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 Promary 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

Windows updaten

Work in Progress

Geht nicht

Lösung

Paket als rpm downloaden

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