Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:lxd [2020/12/12 09:03] ingo_wichmann angelegt |
admin_grundlagen:lxd [2021/02/14 10:10] (aktuell) ingo_wichmann |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | === LXD installieren === | + | ====== LXD installieren ====== |
| [[snapcraft]] installieren: Debian(10), Ubuntu (20.04) | [[snapcraft]] installieren: Debian(10), Ubuntu (20.04) | ||
| Zeile 9: | Zeile 9: | ||
| snap install lxd | snap install lxd | ||
| - | === LXD einrichten === | + | ====== LXD einrichten ====== |
| lxd init | 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) | 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?) | ||
| + | <file txt /etc/nsswitch.conf> | ||
| + | … | ||
| + | hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns | ||
| + | … | ||
| + | </file> | ||
| + | |||
| + | libnss_resolve konfigurieren, so dass die Domain test vom Host aufgelöst werden kann | ||
| + | lxc network show lxdbr0 | ||
| + | <file txt …> | ||
| + | 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" | ||
| + | … | ||
| + | </file> | ||
| + | |||
| + | <file txt /etc/systemd/network/lxdbr0.network> | ||
| + | [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 | ||
| + | </file> | ||
| + | (TODO: ''systemd-networkd.service'' neu starten?) | ||
| + | |||
| + | networkctl | ||
| + | <file txt …> | ||
| + | … lxdbr0 bridge routable configured | ||
| + | </file> | ||
| + | |||
| + | resolvectl | ||
| + | <file txt …> | ||
| + | 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 | ||
| + | </file> | ||
| + | |||
| + | 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 | ||
| + | |||
| + | |||
| + | |||