CentOS 7 OPSI

Aus Vosp.info
Wechseln zu:Navigation, Suche

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