lfs/chapter07/network.xml
Krejzi 94f4fb8652 Misc updates.
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10404 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2013-12-21 19:46:16 +00:00

153 lines
6.2 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-scripts-network">
<?dbhtml filename="network.html"?>
<title>General Network Configuration</title>
<indexterm zone="ch-scripts-network">
<primary sortas="d-network">network</primary>
<secondary>configuring</secondary></indexterm>
<para>This section only applies if a network card is to be
configured.</para>
<sect2>
<title>Creating Network Interface Configuration Files</title>
<para>Which interfaces are brought up and down by the network script
depends on the files in <filename
class="directory">/etc/sysconfig/</filename>. This directory should
contain a file for each interface to be configured, such as
<filename>ifconfig.xyz</filename>, where <quote>xyz</quote> is
required to be a Network Card Interface name (e.g. eth0).
Inside this file are attributes to this interface, such as its IP
address(es), subnet masks, and so forth. It is necessary that
the stem of the filename be <emphasis>ifconfig</emphasis>.</para>
<note><para>Udev may assign random Network Card Interface names
for some network cards such as enp2s1. If you are not sure what
your Network Card Interface name is, you can always run
<command>ip l</command> after you have booted your system. Again,
it is important that <filename>ifconfig.xyz</filename> is named
after correct Network Card Interface name (e.g.
<filename>ifconfig.enp2s1</filename> or
<filename>ifconfig.eth0</filename>) or Systemd will fail to bring
up your network interface.</para></note>
<para>The following command creates a sample file for the
<emphasis>eth0</emphasis> device with a static IP address:</para>
<screen><userinput>cd /etc/sysconfig/
cat &gt; ifconfig.eth0 &lt;&lt; "EOF"
<literal>IFACE=eth0
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255</literal>
EOF</userinput></screen>
<para>The values of these variables must be changed in every file to match
the proper setup.</para>
<para>The <envar>IFACE</envar> variable defines the interface name,
for example, eth0. It is required for all network device configuration
files.</para>
<para>The <envar>SERVICE</envar> variable defines the method used for
obtaining the IP address. The LFS-Network-Scripts package has a modular
IP assignment format, and creating additional files in the <filename
class="directory">/lib/services/</filename> directory allows other IP
assignment methods. This is commonly used for Dynamic Host Configuration
Protocol (DHCP), which is addressed in the BLFS book.</para>
<para>The <envar>GATEWAY</envar> variable should contain the default
gateway IP address, if one is present. If not, then comment out the
variable entirely.</para>
<para>The <envar>PREFIX</envar> variable contains the number of
bits used in the subnet. Each octet in an IP address is 8 bits. If the
subnet's netmask is 255.255.255.0, then it is using the first three octets
(24 bits) to specify the network number. If the netmask is 255.255.255.240,
it would be using the first 28 bits. Prefixes longer than 24 bits are
commonly used by DSL and cable-based Internet Service Providers (ISPs).
In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the
<envar>PREFIX</envar> variable according to your specific subnet.
If omitted, the PREFIX defaults to 24.</para>
<para>For more information see the <command>ifup</command> man page.</para>
</sect2>
<sect2>
<title>Configuring the Network Interface Card at boot</title>
<para>Enabling of the Network Interface Card configuration is
done per interface. To enable Network Interface Card
configuration at boot, run:</para>
<screen><userinput>systemctl enable ifupdown@eth0</userinput></screen>
<para>To disable previously enabled Network Interface
Card configuration at boot, run:</para>
<screen><userinput>systemctl disable ifupdown@eth0</userinput></screen>
<para>To manually start the Network Interface Card configuration,
run:</para>
<screen><userinput>systemctl start ifupdown@eth0</userinput></screen>
<para>Replace eth0 with the correct Network Interface Card
name as described on the beginning of this page.</para>
</sect2>
<sect2 id="resolv.conf">
<title>Creating the /etc/resolv.conf File</title>
<indexterm zone="resolv.conf">
<primary sortas="e-/etc/resolv.conf">/etc/resolv.conf</primary>
</indexterm>
<para>If the system is going to be connected to the Internet, it will
need some means of Domain Name Service (DNS) name resolution to
resolve Internet domain names to IP addresses, and vice versa. This is
best achieved by placing the IP address of the DNS server, available
from the ISP or network administrator, into
<filename>/etc/resolv.conf</filename>. Create the file by running the
following:</para>
<screen><userinput>cat &gt; /etc/resolv.conf &lt;&lt; "EOF"
<literal># Begin /etc/resolv.conf
domain <replaceable>&lt;Your Domain Name&gt;</replaceable>
nameserver <replaceable>&lt;IP address of your primary nameserver&gt;</replaceable>
nameserver <replaceable>&lt;IP address of your secondary nameserver&gt;</replaceable>
# End /etc/resolv.conf</literal>
EOF</userinput></screen>
<para>The <varname>domain</varname> statement can be omitted
or replaced with a <varname>search</varname> statement. See the man page for
resolv.conf for more details.</para>
<para>Replace <replaceable>&lt;IP address of the nameserver&gt;</replaceable>
with the IP address of the DNS most appropriate for the setup. There will
often be more than one entry (requirements demand secondary servers for
fallback capability). If you only need or want one DNS server, remove the
second <emphasis>nameserver</emphasis> line from the file. The IP address
may also be a router on the local network.</para>
<note><para>The Google Public IPv4 DNS addresses are 8.8.8.8 and 8.8.4.4.</para></note>
</sect2>
</sect1>