Debian-OPSI-samba4: Unterschied zwischen den Versionen
HK (Diskussion | Beiträge) (→Container erstellen) |
HK (Diskussion | Beiträge) (→Container erstellen) |
||
Zeile 172: | Zeile 172: | ||
lxc.network.flags=up | lxc.network.flags=up | ||
lxc.network.veth.pair=opsi-in # Name des TUN-Devices auf dem Host | lxc.network.veth.pair=opsi-in # Name des TUN-Devices auf dem Host | ||
− | + | ||
# Erzeugt tun-device, dass in die Bridge lxc-out eingefügt wird (Intranet) | # Erzeugt tun-device, dass in die Bridge lxc-out eingefügt wird (Intranet) | ||
lxc.network.type=veth | lxc.network.type=veth | ||
Zeile 180: | Zeile 180: | ||
lxc.network.flags=up | lxc.network.flags=up | ||
lxc.network.veth.pair=opsi-out # Name des TUN-Devices auf dem Host | lxc.network.veth.pair=opsi-out # Name des TUN-Devices auf dem Host | ||
− | + | ||
# OpenVPN | # OpenVPN | ||
# Damit OpenVPN im Container genutzt werden kann. | # Damit OpenVPN im Container genutzt werden kann. | ||
lxc.cgroup.devices.allow = c 10:200 rwm | lxc.cgroup.devices.allow = c 10:200 rwm |
Version vom 17. Oktober 2015, 06:54 Uhr
Inhaltsverzeichnis
Herausforderung
OPSI und Samba4 als AD/DC verstehen sich nicht wirklich gut.
Der Ansatz dieses Postings ist es, beide relativ unabhängig von ein ander im Netzwerk arbeiten zu lassen.
Der OPSI-Server soll kein Teil der Domäne werden. Der OPSI-Agent auf den Clienten soll sich beinm Systemstart am OPSI-Server im Workgroup-Mode anmelden, wenn er Daten für Installationen benötigt.
Beim Anmelden des Users am Clienten geschieht über den Samba4 AD DC.
Soweit die Theorie. Dieses Posting soll klären, ob die Idee etwas wert ist.
Ziel
- LXC-Host auf Debian Jessie Basis.
- Zwei Container
- OPSI - Nicht Teil der Domäne. Es soll Software installieren, bevor die Domäne in Kraft tritt.
- Samba4 - AD/DC
Installation LXC-Host
Server mit GRML starten
Festplatten partitionieren
fdisk /dev/sda * / 5G * swap 1G * lvm Rest
LVM nur für die Container
pvcreate /dev/sda3 vgcreate vg_lxc /dev/sda3 lvcreate -L 20G -n lv_lxc vg_lxc
grml-debootstrap --target /dev/sda1 --grub /dev/sda
reboot
System starten
Keyboard layout einstellen
dpkg-reconfigure console-data
Im ncurses-Menu auswählen.
- Select keymap from arch list => O.K.
- qwertz => O.K.
- German => O.K.
- Standard => O.K.
- latin1 => O.K.
Sprache einstellen
dpkg-reconfigure locales
de_DE.UTF-8 auswählen und als default einstellen
Bash-completion
apt-get install bash-completion
Farbiges Promt
vim ~/.bashrc
export PS1='\[\033[0;31m\]\u\[\033[0;36m\]@\h:\[\033[0m\]\w\$ '
- [0;36m] Türkis (cyan)
- [0;32m] Grün (green)
- [0;31m] Rot (red)
- Meine Farbregeln
- Vor dem Promt: rot für root und grün für user.
- Hinter dem Promt: rot für Produktivserver, türkis für Testrechner und grün für Privatrechner/Workstations.
Meine .bashrc für root auf einem Testrechner.
# ~/.bashrc: executed by bash(1) for non-login shells. export PS1='\[\033[0;31m\]\u\[\033[0;36m\]@\h:\[\033[0m\]\w\$ ' export LS_OPTIONS='--color=auto' eval "`dircolors`" alias ls='ls $LS_OPTIONS' alias ll='ls $LS_OPTIONS -l' alias l='ls $LS_OPTIONS -lA' # Some more alias to avoid making mistakes: alias rm='rm -i' # bash-completion . /etc/bash_completion
Hostname
Wir nennen diesen Rechner host-1-lnx01
vim /etc/hostname
host-1-lnx01 eintragen
/etc/network/interfaces
Die interfaces Datei anpassen.
vim /etc/network/interfaces
eth1 ist hier das Interface zum Intranet
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 10.8.190.1 broadcast 10.8.190.255 netmask 255.255.255.0
LXC installieren
apt-get install lxc lxctl
LVM für LXC einbinden
LVM auf /var/lib/lxc einbinden.
mkfs.ext4 /dev/vg_lxc/lv_lxc blkid |grep mapper >> /etc/fstab vim /etc/fstab
Am Ende muss die Zeile so außsehen. Der UUID weicht natürlich ab.
/dev/disk/by-uuid/2c58a476-7b09-428c-8277-b80889443220 /var/lib/lxc ext4 defaults 0 0
Netzwerk für LXC vorbereiten
vim /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback # eth0 verbindet den Host mit dem Internet auto eth0 iface eth0 inet dhcp # Mit diese Bridge werden die Container verbunden, damit sie Verbindung zum Internet bekommen. auto lxcbr0 iface lxcbr0 inet static address 10.0.0.1 netmask 255.255.255.0 pre-up (ip addr show |grep lxcbr0) || brctl addbr lxcbr0 # eth1 verbindet den Host physikalisch mit dem Intranet auto eth1 iface eth1 inet manual # Per Bridge steht eth1 den Containern zur Verfügung auto lxc-out iface lxc-out inet manual bridge_ports eth1 bridge_maxwait 1
Packet Forwarding einschalten
vim /etc/sysctl.conf
Die folgende Zeile suchen und einkommentieren (# vor der Zeile entfernen)
net.ipv4.ip_forward=1
Container erstellen
lxc-create --name opsi-1.test2.local -t debian
Als erstes wird die erzeugte Conf bearbeitet.
vim /var/lib/lxc/opsi-1.test2.local/config
Entfernen
lxc.network.type = empty
Hinzufügen
# Autostart des Containers ( 0 steht für kein Autostart) lxc.start.auto = 1
# Netzwerk # Erzeugt tun-device, dass in die Bridge lxcbr0 eingefügt wird (Internet) lxc.network.type=veth lxc.network.link=lxc-in # Bridge, in der das Interface eingefügt wird lxc.network.hwaddr = 00:FF:AA:00:21:01 lxc.network.ipv4 = 10.0.0.10/24 lxc.network.ipv4.gateway = 10.0.0.1 # Gateway des Containers lxc.network.flags=up lxc.network.veth.pair=opsi-in # Name des TUN-Devices auf dem Host # Erzeugt tun-device, dass in die Bridge lxc-out eingefügt wird (Intranet) lxc.network.type=veth lxc.network.link=lxc-out # Bridge, in der das Interface eingefügt wird lxc.network.hwaddr = 00:FF:AA:00:21:11 lxc.network.ipv4 = 10.8.190.1/24 lxc.network.flags=up lxc.network.veth.pair=opsi-out # Name des TUN-Devices auf dem Host # OpenVPN # Damit OpenVPN im Container genutzt werden kann. lxc.cgroup.devices.allow = c 10:200 rwm