CentOS 7 OPSI: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Verbindung der CTs ins Intranet)
(Installation Host)
 
(60 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
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 12: 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
 +
IP herausfinden
 +
 +
ip addr
 +
 +
== Basispakete installieren ==
 +
 +
yum install vim wget net-tools bridge-utils bash-completion rsync
  
 
== Name des Trägersystems ==
 
== Name des Trägersystems ==
 +
'''carrier''' steht für das LXC-Hostsystem und ist eine willkürliche Definition.
 
  hostname set-hostname <hostname>-carrier
 
  hostname set-hostname <hostname>-carrier
  
== Basispakete installieren ==
+
vim /etc/hosts
  
  yum install vim wget net-tools bridge-utils bash-completion
+
  10.255.255.1    <hostname>-carrier.<domain>.local    <hostname>-carrier
  
 
== LXC installieren ==
 
== LXC installieren ==
Zeile 26: Zeile 43:
 
  rpm -Uhv http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
 
  rpm -Uhv http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
  
  yum install lxc (epel)
+
  yum install lxc lxc-templates
  
 
Ergebnisse sollten alle grün sein.
 
Ergebnisse sollten alle grün sein.
Zeile 34: Zeile 51:
 
* https://der-linux-admin.de/2015/01/centos-7-libvirt-lxc-container-mit-public-ip-und-externem-netzwerk/
 
* https://der-linux-admin.de/2015/01/centos-7-libvirt-lxc-container-mit-public-ip-und-externem-netzwerk/
 
* http://en.wikipedia.org/wiki/Private_network
 
* http://en.wikipedia.org/wiki/Private_network
 +
 +
=== 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 ===
 
=== Verbindung der CTs ins Internet ===
 
  vim /etc/sysconfig/network-scripts/ifcfg-br0
 
  vim /etc/sysconfig/network-scripts/ifcfg-br0
 +
  
 
  DEVICE=br0
 
  DEVICE=br0
 
  TYPE=Bridge
 
  TYPE=Bridge
 
   
 
   
DEFROUTE=yes
 
 
  IPV4_FAILURE_FATAL=no
 
  IPV4_FAILURE_FATAL=no
IPV6INIT=yes
 
IPV6_AUTOCONF=yes
 
IPV6_DEFROUTE=yes
 
IPV6_FAILURE_FATAL=no
 
IPV6_PEERDNS=yes
 
IPV6_PEERROUTES=yes
 
 
   
 
   
 +
IPADDR=10.255.255.1
 +
PREFIX=24
 +
#NETMASK=255.255.255.0
 
   
 
   
IPADDR0=10.255.255.1
 
NETMASK=255.255.255.0
 
 
   
 
   
 
  ONBOOT=yes
 
  ONBOOT=yes
  BOOTPROTO=none
+
  BOOTPROTO=static
 
  NM_CONTROLLED=no
 
  NM_CONTROLLED=no
 
  DELAY=0
 
  DELAY=0
 
  STP=yes
 
  STP=yes
 +
 +
NOZEROCONF=yes
 +
NM_CONTROLLED=NO
  
 
=== Verbindung der CTs ins Intranet ===
 
=== Verbindung der CTs ins Intranet ===
 +
==== br1 ====
 
  vim /etc/sysconfig/network-scripts/ifcfg-br1
 
  vim /etc/sysconfig/network-scripts/ifcfg-br1
  
Zeile 73: Zeile 139:
 
  DELAY=0
 
  DELAY=0
 
  STP=yes
 
  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 ==
 
== Forwarding ==
Zeile 101: Zeile 185:
  
 
== Avahi ausschalten ==
 
== Avahi ausschalten ==
 +
* http://unix.stackexchange.com/questions/163124/what-is-the-purpose-of-avahi-on-a-rhel-7-server
 
Zeroconf wird nicht benötigt.
 
Zeroconf wird nicht benötigt.
 
  systemctl stop avahi-daemon.socket
 
  systemctl stop avahi-daemon.socket
Zeile 112: Zeile 197:
  
 
  mkfs.ext4 /dev/centos/lxc
 
  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 ==
 +
* https://lists.linuxcontainers.org/pipermail/lxc-devel/2014-September/010261.html
 +
* https://github.com/lxc/lxc/pull/342
 +
 +
Container braucht ewig, bis er läuft, wenn er denn läuft (30 min)
 +
<br>
 +
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 ==
 +
* https://download.uib.de/opsi4.0/doc/html/en/opsi-getting-started/opsi-getting-started.html#opsi-getting-started-installation-base-centos
 +
 +
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.<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>
 +
Syntax O.K., Ergebniss schlecht, es funzt nicht.<br>
 +
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.<br>
 +
Alles O.K.<br>
 +
 +
Vor der Änderung<br>
 +
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.<br>
 +
Nach dem neuen Mapping auf '''ntadm''' einen neuen User angelegt.
 +
useradd join
 +
smbpasswd -a join
 +
net rpc rights grant 'DOMAIN\join' SeMachineAccountPrivilege -U domadmin
 +
<br>
 +
Alles O.K.<br>
 +
Warum? Keine Ahnung. Vielleicht die Reihenfolge der Gruppen in /etc/group. Dort steht ntadmin vor domadmin
 +
 +
= Boot from mdadm =
 +
* http://www.experts-exchange.com/OS/Linux/Distributions/Q_28555676.html

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