CentOS 7 OPSI
Inhaltsverzeichnis
- 1 Ziele
- 2 Installation Host
- 3 Installation CT
- 4 Planänderung: OPSI goes bare iron
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
- Manuell auswählen
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)
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 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