]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/nss-mymachines.xml
man: fix link markup
[thirdparty/systemd.git] / man / nss-mymachines.xml
CommitLineData
dbda6dce 1<?xml version='1.0'?> <!--*-nxml-*-->
3a54a157 2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
12b42c76 3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
0307f791 4<!-- SPDX-License-Identifier: LGPL-2.1+ -->
dbda6dce 5
08540a95 6<refentry id="nss-mymachines" conditional='ENABLE_NSS_MYMACHINES'>
dbda6dce 7
798d3a52
ZJS
8 <refentryinfo>
9 <title>nss-mymachines</title>
10 <productname>systemd</productname>
798d3a52
ZJS
11 </refentryinfo>
12
13 <refmeta>
14 <refentrytitle>nss-mymachines</refentrytitle>
15 <manvolnum>8</manvolnum>
16 </refmeta>
17
18 <refnamediv>
19 <refname>nss-mymachines</refname>
20 <refname>libnss_mymachines.so.2</refname>
e9dd6984 21 <refpurpose>Hostname resolution for local container instances</refpurpose>
798d3a52
ZJS
22 </refnamediv>
23
24 <refsynopsisdiv>
25 <para><filename>libnss_mymachines.so.2</filename></para>
26 </refsynopsisdiv>
27
28 <refsect1>
29 <title>Description</title>
30
9053aaad
LP
31 <para><command>nss-mymachines</command> is a plug-in module for the GNU Name Service Switch (NSS) functionality of
32 the GNU C Library (<command>glibc</command>), providing hostname resolution for the names of containers running
33 locally that are registered with
f2cca38e 34 <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. The
9053aaad 35 container names are resolved to the IP addresses of the specific container, ordered by their scope. This
f2cca38e
ZJS
36 functionality only applies to containers using network namespacing (see the description of
37 <option>--private-network</option> in
38 <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>).
39 Note that the name that is resolved is the one registered with <command>systemd-machined</command>, which
40 may be different than the hostname configured inside of the container.</para>
41
38ccb557
LP
42 <para>To activate the NSS module, add <literal>mymachines</literal> to the line starting with
43 <literal>hosts:</literal> in <filename>/etc/nsswitch.conf</filename>.</para>
798d3a52 44
9053aaad 45 <para>It is recommended to place <literal>mymachines</literal> after the <literal>files</literal> or
38ccb557
LP
46 <literal>compat</literal> entry of the <filename>/etc/nsswitch.conf</filename> line to make sure that its
47 mappings are preferred over other resolvers such as DNS, but so that <filename>/etc/hosts</filename>
48 based mappings take precedence.</para>
798d3a52
ZJS
49 </refsect1>
50
51 <refsect1>
f2cca38e 52 <title>Configuration in <filename>/etc/nsswitch.conf</filename></title>
798d3a52 53
9053aaad
LP
54 <para>Here is an example <filename>/etc/nsswitch.conf</filename> file that enables
55 <command>nss-mymachines</command> correctly:</para>
798d3a52 56
94f760ec 57 <!-- synchronize with other nss-* man pages and factory/etc/nsswitch.conf -->
38ccb557
LP
58 <programlisting>passwd: compat systemd
59group: compat systemd
c01ff965 60shadow: compat
798d3a52 61
f2a20e99 62hosts: <command>mymachines</command> resolve [!UNAVAIL=return] myhostname files dns
dbda6dce
LP
63networks: files
64
65protocols: db files
66services: db files
c01ff965
LP
67ethers: db files
68rpc: db files
dbda6dce
LP
69
70netgroup: nis</programlisting>
71
798d3a52
ZJS
72 </refsect1>
73
f2cca38e 74 <refsect1>
38ccb557 75 <title>Example: Mappings provided by <filename>nss-mymachines</filename></title>
f2cca38e
ZJS
76
77 <para>The container <literal>rawhide</literal> is spawned using
78 <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>:
79 </para>
80
81 <programlisting># systemd-nspawn -M rawhide --boot --network-veth --private-users=pick
82Spawning container rawhide on /var/lib/machines/rawhide.
83Selected user namespace base 20119552 and range 65536.
84...
85
86$ machinectl --max-addresses=3
87MACHINE CLASS SERVICE OS VERSION ADDRESSES
88rawhide container systemd-nspawn fedora 30 169.254.40.164 fe80::94aa:3aff:fe7b:d4b9
89
f2cca38e
ZJS
90$ ping -c1 rawhide
91PING rawhide(fe80::94aa:3aff:fe7b:d4b9%ve-rawhide (fe80::94aa:3aff:fe7b:d4b9%ve-rawhide)) 56 data bytes
9264 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
93...
94$ ping -c1 -4 rawhide
95PING rawhide (169.254.40.164) 56(84) bytes of data.
9664 bytes from 169.254.40.164 (169.254.40.164): icmp_seq=1 ttl=64 time=0.064 ms
97...
98
99# machinectl shell rawhide /sbin/ip a
100Connected to machine rawhide. Press ^] three times within 1s to exit session.
1011: lo: &lt;LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
102 ...
1032: host0@if21: &lt;BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
104 link/ether 96:aa:3a:7b:d4:b9 brd ff:ff:ff:ff:ff:ff link-netnsid 0
105 inet 169.254.40.164/16 brd 169.254.255.255 scope link host0
106 valid_lft forever preferred_lft forever
107 inet6 fe80::94aa:3aff:fe7b:d4b9/64 scope link
108 valid_lft forever preferred_lft forever
109Connection to machine rawhide terminated.
110</programlisting>
111 </refsect1>
112
798d3a52
ZJS
113 <refsect1>
114 <title>See Also</title>
115 <para>
116 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
117 <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
f2cca38e 118 <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
409093fe 119 <citerefentry><refentrytitle>nss-systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
0d6868f9 120 <citerefentry><refentrytitle>nss-resolve</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
798d3a52
ZJS
121 <citerefentry><refentrytitle>nss-myhostname</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
122 <citerefentry project='man-pages'><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
123 <citerefentry project='man-pages'><refentrytitle>getent</refentrytitle><manvolnum>1</manvolnum></citerefentry>
124 </para>
125 </refsect1>
dbda6dce
LP
126
127</refentry>