[31e77c0] | 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 | |
---|
[63f1942] | 13 | <sect2 role="interface-config"> |
---|
| 14 | <title>Network Interface Configuration</title> |
---|
[31e77c0] | 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 |
---|
[63f1942] | 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 |
---|
[0131d1b] | 23 | <envar>Name=eth0</envar>) or systemd will fail to bring |
---|
[31e77c0] | 24 | up your network interface.</para></note> |
---|
| 25 | |
---|
[63f1942] | 26 | <sect3 role="static"> |
---|
| 27 | <title>Static Network Interface Configuration</title> |
---|
[31e77c0] | 28 | |
---|
[63f1942] | 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 && |
---|
[31e77c0] | 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 | |
---|
[63f1942] | 44 | <para os="var-ob">The values of these variables must be changed in every |
---|
| 45 | file to match the proper setup.</para> |
---|
[31e77c0] | 46 | |
---|
[63f1942] | 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> |
---|
[31e77c0] | 50 | |
---|
[63f1942] | 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> |
---|
[31e77c0] | 54 | |
---|
[63f1942] | 55 | <para>For more information see the <command>systemd.netdev</command> man page.</para> |
---|
[31e77c0] | 56 | |
---|
[63f1942] | 57 | </sect3> |
---|
[31e77c0] | 58 | |
---|
[63f1942] | 59 | <sect3 role="dhcp"> |
---|
| 60 | <title>Connecting to a network with DHCP</title> |
---|
[31e77c0] | 61 | |
---|
[63f1942] | 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> |
---|
[31e77c0] | 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 | |
---|
[63f1942] | 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> |
---|
[31e77c0] | 81 | |
---|
| 82 | <screen><userinput>ln -sv /run/systemd/network/resolv.conf /etc</userinput></screen> |
---|
| 83 | |
---|
[63f1942] | 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 | |
---|
[2256e5a] | 107 | <para>Continue to <xref linkend="chapter-bootable"/>.</para> |
---|
| 108 | |
---|
[31e77c0] | 109 | </sect2> |
---|
| 110 | |
---|
| 111 | </sect1> |
---|