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-systemd-network"> |
---|
9 | <?dbhtml filename="systemd-network.html"?> |
---|
10 | |
---|
11 | <title>Networking Configuration with Systemd-networkd</title> |
---|
12 | |
---|
13 | <sect2 role="interface-config"> |
---|
14 | <title>Network Interface Configuration</title> |
---|
15 | |
---|
16 | <note><para>Udev may assign random Network Card Interface names |
---|
17 | for some network cards such as enp2s1. If you are not sure what |
---|
18 | your Network Card Interface name is, you can always run |
---|
19 | <command>ip l</command> after you have booted your system. It is important |
---|
20 | that the <envar>Name</envar> variable in |
---|
21 | <filename>/etc/systemd/network</filename> contain the correct Network Card |
---|
22 | Interface name (e.g. <envar>Name=enp2s1</envar> or |
---|
23 | <envar>Name=eth0</envar>) or systemd will fail to bring |
---|
24 | up your network interface.</para></note> |
---|
25 | |
---|
26 | <sect3 role="static"> |
---|
27 | <title>Static Network Interface Configuration</title> |
---|
28 | |
---|
29 | <para><command>systemd-networkd</command> uses |
---|
30 | <filename>/etc/system/network</filename> for configuration files. Refer |
---|
31 | to systemd.network(5) and systemd.netdev(5). Configure a network |
---|
32 | interface with a config file. Adjust Name= as required:</para> |
---|
33 | |
---|
34 | <screen><userinput>cd /etc/systemd/network && |
---|
35 | cat > static.network << "EOF" |
---|
36 | [Match] |
---|
37 | Name=enp2s0 |
---|
38 | |
---|
39 | [Network] |
---|
40 | Address=192.168.1.1/24 |
---|
41 | Gateway=192.168.1.2 |
---|
42 | EOF</userinput></screen> |
---|
43 | |
---|
44 | <para os="var-ob">The values of these variables must be changed in every |
---|
45 | file to match the proper setup.</para> |
---|
46 | |
---|
47 | <para os="var-i">The <envar>Name</envar> variable defines the interface |
---|
48 | name, for example, eth0. It is required for all network device |
---|
49 | configuration files.</para> |
---|
50 | |
---|
51 | <para>The <envar>Gateway</envar> variable should contain the default |
---|
52 | gateway IP address, if one is present. If not, then comment out the |
---|
53 | variable entirely.</para> |
---|
54 | |
---|
55 | <para>For more information see the <command>systemd.netdev</command> man page.</para> |
---|
56 | |
---|
57 | </sect3> |
---|
58 | |
---|
59 | <sect3 role="dhcp"> |
---|
60 | <title>Connecting to a network with DHCP</title> |
---|
61 | |
---|
62 | <para><command>systemd-networkd</command> uses |
---|
63 | <filename>/etc/systemd/network</filename> for configuration files. Refer |
---|
64 | to <filename>systemd.network(5)</filename> and |
---|
65 | <filename>systemd.netdev(5)</filename>. Configure a network interface |
---|
66 | with a config file. Adjust Name= as required:</para> |
---|
67 | |
---|
68 | <screen><userinput>cd /etc/systemd/network && |
---|
69 | cat > dhcp.network << "EOF" |
---|
70 | [Match] |
---|
71 | Name=enp2s0 |
---|
72 | |
---|
73 | [Network] |
---|
74 | DHCP=yes |
---|
75 | EOF</userinput></screen> |
---|
76 | |
---|
77 | <para><command>systemd-networkd</command> will automatically configure |
---|
78 | <filename>/run/systemd/network/resolv.conf</filename> when using DHCP. |
---|
79 | If you did not manually create <filename>/etc/resolv.conf</filename>, |
---|
80 | create a symlink:</para> |
---|
81 | |
---|
82 | <screen><userinput>ln -sv /run/systemd/network/resolv.conf /etc</userinput></screen> |
---|
83 | |
---|
84 | </sect3> |
---|
85 | |
---|
86 | </sect2> |
---|
87 | |
---|
88 | <sect2 role="timesyncd"> |
---|
89 | <title>Using Timesyncd</title> |
---|
90 | |
---|
91 | <para>Systemd includes a simple NTP client daemon, |
---|
92 | <command>systemd-timesyncd</command>, though it is disabled by |
---|
93 | default. If you want to enable it, you will first need to add a required |
---|
94 | user and group:</para> |
---|
95 | |
---|
96 | <screen><userinput>groupadd -g &gid-systemd-timesync; systemd-timesync |
---|
97 | useradd -g systemd-timesync -u &uid-systemd-timesync; -d /dev/null -s /bin/false systemd-timesync</userinput></screen> |
---|
98 | |
---|
99 | <para>Then, actually enable <command>systemd-timesyncd</command> so that |
---|
100 | it will run on system boot:</para> |
---|
101 | |
---|
102 | <screen><userinput>systemctl enable systemd-timesyncd</userinput></screen> |
---|
103 | |
---|
104 | <para>You can configure <command>systemd-timesyncd</command> by editing |
---|
105 | <filename>/etc/systemd/timesyncd.conf</filename>.</para> |
---|
106 | |
---|
107 | <para>Continue to <xref linkend="chapter-bootable"/>.</para> |
---|
108 | |
---|
109 | </sect2> |
---|
110 | |
---|
111 | </sect1> |
---|