CentOS 7 OPSI: Unterschied zwischen den Versionen
HK (Diskussion | Beiträge) (→Verbindung der CTs ins Intranet) |
HK (Diskussion | Beiträge) (→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 | ||
− | + | vim /etc/hosts | |
− | + | 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 | + | 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 | ||
− | |||
IPV4_FAILURE_FATAL=no | IPV4_FAILURE_FATAL=no | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | IPADDR=10.255.255.1 | ||
+ | PREFIX=24 | ||
+ | #NETMASK=255.255.255.0 | ||
− | |||
− | |||
ONBOOT=yes | ONBOOT=yes | ||
− | BOOTPROTO= | + | 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
Inhaltsverzeichnis
- 1 Ziele
- 2 Installation Host
- 3 Installation CT
- 4 Planänderung: OPSI goes bare iron
- 5 Probleme
- 6 Boot from mdadm
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
- Manuell auswählen
- 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
- 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
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
- 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)
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