====== LXD installieren ======
[[snapcraft]] installieren: Debian(10), Ubuntu (20.04)
apt install snapd
snap install core
abmelden und wieder anmelden ($PATH wird erweitert)
snap install lxd
====== LXD einrichten ======
lxd init
Defaults lassen bis auf ''Name of the storage backend to use (ceph, btrfs, dir, lvm) [default=btrfs]:''. Hier entweder ''dir'' eingeben oder (falls eine freie Partition oder ein freies Logical Volume vorhanden ist auf default ''btrfs'' lassen)
====== Container inkl. Netzwerk anlegen ======
TODO: noch mal testen
Domain konfigurieren:
lxc network set lxdbr0 dns.domain kurs.linuxhotel.de
Container anlegen:
lxc init images:debian/10 test1
Container zu Netzwerk hinzufügen:
lxc network attach lxdbr0 test1 eth0 eth0
Container starten:
lxc start test1
=== Namensauflösung auf dem Container-Host konfigurieren ===
libnss_resolve benutzen
(TODO: vorher ''systemd-resolved.service'' starten?)
…
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
…
libnss_resolve konfigurieren, so dass die Domain test vom Host aufgelöst werden kann
lxc network show lxdbr0
config:
dns.domain: test
ipv4.address: 10.20.42.1/24
ipv4.nat: "true"
ipv6.address: fd42:9808:fec7:1c7e::1/64
ipv6.nat: "true"
…
[Match]
Name=lxdbr0
[Network]
#Address ist redundant. Kann man das los werden?
Address=10.20.42.1/24
DNS=10.20.42.1
Domains=~test
(TODO: ''systemd-networkd.service'' neu starten?)
networkctl
… lxdbr0 bridge routable configured
resolvectl
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.20.42.1
DNS Servers: 10.20.42.1 fe80::216:3eff:fe6a:88fd%21919
DNS Domain: ~test
getent hosts test1.test
=== SSH Key in den Container ===
lxc exec test1 -- /bin/bash -c 'mkdir .ssh/; cat >> .ssh/authorized_keys' < .ssh/id_ed25519.pub