1NSS-MYMACHINES(8)               nss-mymachines               NSS-MYMACHINES(8)
2
3
4

NAME

6       nss-mymachines, libnss_mymachines.so.2 - Hostname resolution for local
7       container instances
8

SYNOPSIS

10       libnss_mymachines.so.2
11

DESCRIPTION

13       nss-mymachines is a plug-in module for the GNU Name Service Switch
14       (NSS) functionality of the GNU C Library (glibc), providing hostname
15       resolution for the names of containers running locally that are
16       registered with systemd-machined.service(8). The container names are
17       resolved to the IP addresses of the specific container, ordered by
18       their scope. This functionality only applies to containers using
19       network namespacing (see the description of --private-network in
20       systemd-nspawn(1)). Note that the name that is resolved is the one
21       registered with systemd-machined, which may be different than the
22       hostname configured inside of the container.
23
24       To activate the NSS module, add "mymachines" to the line starting with
25       "hosts:" in /etc/nsswitch.conf.
26
27       It is recommended to place "mymachines" before the "resolve" or "dns"
28       entry of the "hosts:" line of /etc/nsswitch.conf in order to make sure
29       that its mappings are preferred over other resolvers such as DNS.
30

CONFIGURATION IN /ETC/NSSWITCH.CONF

32       Here is an example /etc/nsswitch.conf file that enables nss-mymachines
33       correctly:
34
35           passwd:         compat systemd
36           group:          compat [SUCCESS=merge] systemd
37           shadow:         compat
38
39           hosts:          mymachines resolve [!UNAVAIL=return] files myhostname dns
40           networks:       files
41
42           protocols:      db files
43           services:       db files
44           ethers:         db files
45           rpc:            db files
46
47           netgroup:       nis
48

EXAMPLE: MAPPINGS PROVIDED BY NSS-MYMACHINES

50       The container "rawhide" is spawned using systemd-nspawn(1):
51
52           # systemd-nspawn -M rawhide --boot --network-veth --private-users=pick
53           Spawning container rawhide on /var/lib/machines/rawhide.
54           Selected user namespace base 20119552 and range 65536.
55           ...
56
57           $ machinectl --max-addresses=3
58           MACHINE CLASS     SERVICE        OS     VERSION ADDRESSES
59           rawhide container systemd-nspawn fedora 30      169.254.40.164 fe80::94aa:3aff:fe7b:d4b9
60
61           $ ping -c1 rawhide
62           PING rawhide(fe80::94aa:3aff:fe7b:d4b9%ve-rawhide (fe80::94aa:3aff:fe7b:d4b9%ve-rawhide)) 56 data bytes
63           64 bytes from fe80::94aa:3aff:fe7b:d4b9%ve-rawhide (fe80::94aa:3aff:fe7b:d4b9%ve-rawhide): icmp_seq=1 ttl=64 time=0.045 ms
64           ...
65           $ ping -c1 -4 rawhide
66           PING rawhide (169.254.40.164) 56(84) bytes of data.
67           64 bytes from 169.254.40.164 (169.254.40.164): icmp_seq=1 ttl=64 time=0.064 ms
68           ...
69
70           # machinectl shell rawhide /sbin/ip a
71           Connected to machine rawhide. Press ^] three times within 1s to exit session.
72           1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
73               ...
74           2: host0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
75               link/ether 96:aa:3a:7b:d4:b9 brd ff:ff:ff:ff:ff:ff link-netnsid 0
76               inet 169.254.40.164/16 brd 169.254.255.255 scope link host0
77                  valid_lft forever preferred_lft forever
78               inet6 fe80::94aa:3aff:fe7b:d4b9/64 scope link
79                  valid_lft forever preferred_lft forever
80           Connection to machine rawhide terminated.
81

SEE ALSO

83       systemd(1), systemd-machined.service(8), machinectl(1), nss-systemd(8),
84       nss-resolve(8), nss-myhostname(8), nsswitch.conf(5), getent(1)
85
86
87
88systemd 248                                                  NSS-MYMACHINES(8)
Impressum