source: chapter07/networkd.xml@ ab9b18b

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since ab9b18b was c8389f0, checked in by Bruce Dubbs <bdubbs@…>, 8 years ago

Another typo

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11103 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 10.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-scripts-network" revision="systemd">
9 <?dbhtml filename="network.html"?>
10
11 <title>General Network Configuration</title>
12
13 <indexterm zone="ch-scripts-network">
14 <primary sortas="d-network">network</primary>
15 <secondary>configuring</secondary></indexterm>
16
17 <para>This section only applies if a network card is to be
18 configured.</para>
19
20 <sect2>
21 <title>Network Interface Configuration Files</title>
22
23 <para>Starting with version 209, systemd ships a network configuration
24 daemon called <command>systemd-networkd</command> which can be used for
25 basic network configuration. Additionally, since version 213, DNS name
26 resolution can be handled by <command>systemd-resolved</command> in place
27 of a static <filename>/etc/resolv.conf</filename> file. Both services are
28 enabled by default, and absolutely should not be disabled.</para>
29
30 <para>Configuration files for <command>systemd-networkd</command> (and
31 <command>systemd-resolved</command>) can be placed in
32 <filename class="directory">/usr/lib/systemd/network</filename>
33 or <filename class="directory">/etc/systemd/network</filename>. Files in
34 <filename class="directory">/etc/systemd/network</filename> have a
35 higher priority than the ones in
36 <filename class="directory">/usr/lib/systemd/network</filename>.
37 There are three types of configuration files:
38 <filename class="extension">.link</filename>,
39 <filename class="extension">.netdev</filename> and
40 <filename class="extension">.network</filename> files. For detailed
41 descriptions and example contents of these configuration files, consult
42 the <filename>systemd-link(5)</filename>,
43 <filename>systemd-netdev(5)</filename> and
44 <filename>systemd-network(5)</filename> manual pages.</para>
45
46 <note><para>Udev may assign network card interface names based
47 on system physical characteristics such as enp2s1. If you are
48 not sure what your interface name is, you can always run
49 <command>ip link</command> after you have booted your system.
50 </para></note>
51
52 <sect3 id="systemd-networkd-static">
53 <title>Static IP Configuration</title>
54
55 <para>The command below creates a basic configuration file for a
56 Static IP setup (using both systemd-networkd and
57 systemd-resolved):</para>
58
59<screen role="nodump"><userinput>cat &gt; /etc/systemd/network/10-eth0-static.network &lt;&lt; "EOF"
60<literal>[Match]
61Name=eth0
62
63[Network]
64Address=192.168.0.2/24
65Gateway=192.168.0.1
66DNS=192.168.0.1
67Domains=<replaceable>&lt;Your Domain Name&gt;</replaceable></literal>
68EOF</userinput></screen>
69
70 <para>Multiple DNS entries can be added if you have more than one DNS
71 server. Do not include DNS or Domains entries if you intend to use a
72 static <filename>/etc/resolv.conf</filename> file.</para>
73
74 </sect3>
75
76 <sect3 id="systemd-networkd-dhcp">
77 <title>DHCP Configuration</title>
78
79 <para>The command below creates a basic configuration file for an IPv4
80 DHCP setup:</para>
81
82<screen role="nodump"><userinput>cat &gt; /etc/systemd/network/10-eth0-dhcp.network &lt;&lt; "EOF"
83<literal>[Match]
84Name=eth0
85
86[Network]
87DHCP=ipv4
88
89[DHCP]
90UseDomains=true</literal>
91EOF</userinput></screen>
92
93 </sect3>
94
95 </sect2>
96
97 <sect2 id="resolv.conf">
98 <title>Creating the /etc/resolv.conf File</title>
99
100 <indexterm zone="resolv.conf">
101 <primary sortas="e-/etc/resolv.conf">/etc/resolv.conf</primary>
102 </indexterm>
103
104 <para>If the system is going to be connected to the Internet, it will
105 need some means of Domain Name Service (DNS) name resolution to
106 resolve Internet domain names to IP addresses, and vice versa. This is
107 best achieved by placing the IP address of the DNS server, available
108 from the ISP or network administrator, into
109 <filename>/etc/resolv.conf</filename>.</para>
110
111 <sect3 id="resolv-conf-systemd-resoloved">
112 <title>systemd-resolved Configuration</title>
113
114 <note><para>If using another means to configure your network
115 interfaces (ex: ppp, network-manager, etc.), or if using any type of
116 local resolver (ex: bind, dnsmasq, etc.), or any other software that
117 generates an <filename>/etc/resolv.conf</filename> (ex: resolvconf), the
118 <command>systemd-resolved</command> service should not be
119 used.</para></note>
120
121 <para>When using <command>systemd-resolved</command> for DNS
122 configuration, it is responsible for creating the
123 <filename>/etc/resolv.conf</filename> file. Since version 226, the
124 symlink for <filename>/etc/resolv.conf</filename> is created by systemd
125 when needed, so no further configuration is necessary.</para>
126
127 </sect3>
128
129 <sect3 id="resolv-conf-static">
130 <title>Static resolv.conf Configuration</title>
131
132 <para>If a static <filename>/etc/resolv.conf</filename> is desired,
133 create it by running the following command:</para>
134
135<screen role="nodump"><userinput>cat &gt; /etc/resolv.conf &lt;&lt; "EOF"
136<literal># Begin /etc/resolv.conf
137
138domain <replaceable>&lt;Your Domain Name&gt;</replaceable>
139nameserver <replaceable>&lt;IP address of your primary nameserver&gt;</replaceable>
140nameserver <replaceable>&lt;IP address of your secondary nameserver&gt;</replaceable>
141
142# End /etc/resolv.conf</literal>
143EOF</userinput></screen>
144
145 <para>The <varname>domain</varname> statement can be omitted
146 or replaced with a <varname>search</varname> statement. See the man page
147 for resolv.conf for more details.</para>
148
149 <para>Replace
150 <replaceable>&lt;IP address of the nameserver&gt;</replaceable>
151 with the IP address of the DNS most appropriate for the setup. There will
152 often be more than one entry (requirements demand secondary servers for
153 fallback capability). If you only need or want one DNS server, remove the
154 second <emphasis>nameserver</emphasis> line from the file. The IP address
155 may also be a router on the local network.</para>
156
157 <note><para>The Google Public IPv4 DNS addresses are
158 <parameter>8.8.8.8</parameter> and <parameter>8.8.4.4</parameter>
159 for IPv4, and <parameter>2001:4860:4860::8888</parameter> and
160 <parameter>2001:4860:4860::8844</parameter> for IPv6.</para></note>
161
162 </sect3>
163
164 </sect2>
165
166 <sect2 id="ch-scripts-hostname">
167 <title>Configuring the system hostname</title>
168
169 <indexterm zone="ch-scripts-hostname">
170 <primary sortas="d-hostname">hostname</primary>
171 <secondary>configuring</secondary>
172 </indexterm>
173
174 <para>During the boot process, the file <filename>/etc/hostname</filename>
175 is used for establishing the system's hostname.</para>
176
177 <para>Create the <filename>/etc/hostname</filename> file and enter a
178 hostname by running:</para>
179
180<screen><userinput>echo "<replaceable>&lt;lfs&gt;</replaceable>" &gt; /etc/hostname</userinput></screen>
181
182 <para><replaceable>&lt;lfs&gt;</replaceable> needs to be replaced with the
183 name given to the computer. Do not enter the Fully Qualified Domain Name
184 (FQDN) here. That information is put in the
185 <filename>/etc/hosts</filename> file.</para>
186
187 </sect2>
188
189 <sect2 id="ch-scripts-hosts">
190 <title>Customizing the /etc/hosts File</title>
191
192 <indexterm zone="ch-scripts-hosts">
193 <primary sortas="e-/etc/hosts">/etc/hosts</primary>
194 </indexterm>
195
196 <indexterm zone="ch-scripts-hosts">
197 <primary sortas="d-localnet">localnet</primary>
198 <secondary>/etc/hosts</secondary>
199 </indexterm>
200
201 <indexterm zone="ch-scripts-hosts">
202 <primary sortas="d-network">network</primary>
203 <secondary>/etc/hosts</secondary>
204 </indexterm>
205
206 <para>Decide on a fully-qualified domain name (FQDN), and possible aliases
207 for use in the <filename>/etc/hosts</filename> file. If using static
208 addresses, you'll also need to decide on an IP address. The syntax
209 for a hosts file entry is:</para>
210
211<screen><literal>IP_address myhost.example.org aliases</literal></screen>
212
213 <para>Unless the computer is to be visible to the Internet (i.e., there is
214 a registered domain and a valid block of assigned IP addresses&mdash;most
215 users do not have this), make sure that the IP address is in the private
216 network IP address range. Valid ranges are:</para>
217
218<screen><literal>Private Network Address Range Normal Prefix
21910.0.0.1 - 10.255.255.254 8
220172.x.0.1 - 172.x.255.254 16
221192.168.y.1 - 192.168.y.254 24</literal></screen>
222
223 <para>x can be any number in the range 16-31. y can be any number in the
224 range 0-255.</para>
225
226 <para>A valid private IP address could be 192.168.1.1. A valid FQDN for
227 this IP could be lfs.example.org.</para>
228
229 <para>Even if not using a network card, a valid FQDN is still required.
230 This is necessary for certain programs to operate correctly.</para>
231
232 <para>If using DHCP, DHCPv6, IPv6 Autoconfiguration, or if a network card
233 is not going to be configured, create the <filename>/etc/hosts</filename>
234 file by running the following command:</para>
235
236<screen><userinput>cat &gt; /etc/hosts &lt;&lt; "EOF"
237<literal># Begin /etc/hosts
238
239127.0.0.1 <replaceable>&lt;HOSTNAME.example.org&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable> localhost <replaceable>[alias1] [alias2] ...</replaceable>
240::1 <replaceable>&lt;HOSTNAME.example.org&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable> localhost <replaceable>[alias1] [alias2] ...</replaceable>
241
242# End /etc/hosts</literal>
243EOF</userinput></screen>
244
245 <para>The ::1 entry is the IPv6 counterpart of 127.0.0.1 and represents
246the IPv6 loopback interface.</para>
247
248 <para>If using a staic address, create the <filename>/etc/hosts</filename>
249 file by running this command instead:</para>
250
251<screen role="nodump"><userinput>cat &gt; /etc/hosts &lt;&lt; "EOF"
252<literal># Begin /etc/hosts
253
254127.0.0.1 localhost
255::1 localhost
256<replaceable>&lt;192.168.0.2&gt;</replaceable> <replaceable>&lt;HOSTNAME.example.org&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable> <replaceable>[alias1] [alias2] ...</replaceable>
257
258# End /etc/hosts</literal>
259EOF</userinput></screen>
260
261 <para>The <replaceable>&lt;192.168.0.2&gt;</replaceable>,
262 <replaceable>&lt;HOSTNAME.example.org&gt;</replaceable>, and
263 <replaceable>&lt;HOSTNAME&gt;</replaceable> values need to be
264 changed for specific uses or requirements (if assigned an IP address by a
265 network/system administrator and the machine will be connected to an
266 existing network). The optional alias name(s) can be omitted.</para>
267
268 </sect2>
269
270</sect1>
Note: See TracBrowser for help on using the repository browser.