| 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">
 | 
|---|
| 9 |   <?dbhtml filename="network.html"?>
 | 
|---|
| 10 | 
 | 
|---|
| 11 |   <title>Configuring the network Script</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 |   <para>If a network card will not be used, there is likely no need to
 | 
|---|
| 21 |   create any configuration files relating to network cards. If that is
 | 
|---|
| 22 |   the case, remove the <filename class="symlink">network</filename>
 | 
|---|
| 23 |   symlinks from all run-level directories (<filename
 | 
|---|
| 24 |   class="directory">/etc/rc.d/rc*.d</filename>).</para>
 | 
|---|
| 25 | 
 | 
|---|
| 26 |   <sect2>
 | 
|---|
| 27 |     <title>Creating Network Interface Configuration Files</title>
 | 
|---|
| 28 | 
 | 
|---|
| 29 |     <para>Which interfaces are brought up and down by the network script
 | 
|---|
| 30 |     depends on the files and directories in the <filename
 | 
|---|
| 31 |     class="directory">/etc/sysconfig/network-devices</filename> hierarchy.
 | 
|---|
| 32 |     This directory should contain a sub-directory for each interface to be
 | 
|---|
| 33 |     configured, such as <filename>ifconfig.xyz</filename>, where
 | 
|---|
| 34 |     <quote>xyz</quote> is a network interface name. Inside this directory
 | 
|---|
| 35 |     would be files defining the attributes to this interface, such as its IP
 | 
|---|
| 36 |     address(es), subnet masks, and so forth.</para>
 | 
|---|
| 37 | 
 | 
|---|
| 38 |     <para>The following command creates a sample <filename>ipv4</filename>
 | 
|---|
| 39 |     file for the <emphasis>eth0</emphasis> device:</para>
 | 
|---|
| 40 | 
 | 
|---|
| 41 | <screen><userinput>cd ${CLFS}/etc/sysconfig/network-devices &&
 | 
|---|
| 42 | mkdir -v ifconfig.eth0 &&
 | 
|---|
| 43 | cat > ifconfig.eth0/ipv4 << "EOF"
 | 
|---|
| 44 | <literal>ONBOOT=yes
 | 
|---|
| 45 | SERVICE=ipv4-static
 | 
|---|
| 46 | IP=192.168.1.1
 | 
|---|
| 47 | GATEWAY=192.168.1.2
 | 
|---|
| 48 | PREFIX=24
 | 
|---|
| 49 | BROADCAST=192.168.1.255</literal>
 | 
|---|
| 50 | EOF</userinput></screen>
 | 
|---|
| 51 | 
 | 
|---|
| 52 |     <para>The values of these variables must be changed in every file to match
 | 
|---|
| 53 |     the proper setup. If the <envar>ONBOOT</envar> variable is set to
 | 
|---|
| 54 |     <quote>yes</quote> the network script will bring up the Network Interface
 | 
|---|
| 55 |     Card (NIC) during booting of the system. If set to anything but
 | 
|---|
| 56 |     <quote>yes</quote> the NIC will be ignored by the network script and not
 | 
|---|
| 57 |     be brought up.</para>
 | 
|---|
| 58 | 
 | 
|---|
| 59 |     <para>The <envar>SERVICE</envar> variable defines the method used for
 | 
|---|
| 60 |     obtaining the IP address. The CLFS-Bootscripts package has a modular IP
 | 
|---|
| 61 |     assignment format, and creating additional files in the <filename
 | 
|---|
| 62 |     class="directory">/etc/sysconfig/network-devices/services</filename>
 | 
|---|
| 63 |     directory allows other IP assignment methods. This is commonly used for
 | 
|---|
| 64 |     Dynamic Host Configuration Protocol (DHCP), which is addressed in the
 | 
|---|
| 65 |     BLFS book.</para>
 | 
|---|
| 66 | 
 | 
|---|
| 67 |     <para>The <envar>GATEWAY</envar> variable should contain the default
 | 
|---|
| 68 |     gateway IP address, if one is present. If not, then comment out the
 | 
|---|
| 69 |     variable entirely.</para>
 | 
|---|
| 70 | 
 | 
|---|
| 71 |     <para>The <envar>PREFIX</envar> variable needs to contain the number of
 | 
|---|
| 72 |     bits used in the subnet. Each octet in an IP address is 8 bits. If the
 | 
|---|
| 73 |     subnet's netmask is 255.255.255.0, then it is using the first three octets
 | 
|---|
| 74 |     (24 bits) to specify the network number. If the netmask is 255.255.255.240,
 | 
|---|
| 75 |     it would be using the first 28 bits.  Prefixes longer than 24 bits are
 | 
|---|
| 76 |     commonly used by DSL and cable-based Internet Service Providers (ISPs).
 | 
|---|
| 77 |     In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the
 | 
|---|
| 78 |     <envar>PREFIX</envar> variable according to your specific subnet.</para>
 | 
|---|
| 79 | 
 | 
|---|
| 80 |   </sect2>
 | 
|---|
| 81 | 
 | 
|---|
| 82 |   <sect2 id="resolv.conf">
 | 
|---|
| 83 |     <title>Creating the ${CLFS}/etc/resolv.conf File</title>
 | 
|---|
| 84 | 
 | 
|---|
| 85 |     <indexterm zone="resolv.conf">
 | 
|---|
| 86 |       <primary sortas="e-/etc/resolv.conf">/etc/resolv.conf</primary>
 | 
|---|
| 87 |     </indexterm>
 | 
|---|
| 88 | 
 | 
|---|
| 89 |     <para>If the system is going to be connected to the Internet, it will
 | 
|---|
| 90 |     need some means of Domain Name Service (DNS) name resolution to
 | 
|---|
| 91 |     resolve Internet domain names to IP addresses, and vice versa. This is
 | 
|---|
| 92 |     best achieved by placing the IP address of the DNS server, available
 | 
|---|
| 93 |     from the ISP or network administrator, into
 | 
|---|
| 94 |     <filename>/etc/resolv.conf</filename>. Create the file by running the
 | 
|---|
| 95 |     following:</para>
 | 
|---|
| 96 | 
 | 
|---|
| 97 | <screen><userinput>cat > ${CLFS}/etc/resolv.conf << "EOF"
 | 
|---|
| 98 | <literal># Begin /etc/resolv.conf
 | 
|---|
| 99 | 
 | 
|---|
| 100 | domain <replaceable>[Your Domain Name]</replaceable>
 | 
|---|
| 101 | nameserver <replaceable>[IP address of your primary nameserver]</replaceable>
 | 
|---|
| 102 | nameserver <replaceable>[IP address of your secondary nameserver]</replaceable>
 | 
|---|
| 103 | 
 | 
|---|
| 104 | # End /etc/resolv.conf</literal>
 | 
|---|
| 105 | EOF</userinput></screen>
 | 
|---|
| 106 | 
 | 
|---|
| 107 |     <para>Replace <replaceable>[IP address of the nameserver]</replaceable>
 | 
|---|
| 108 |     with the IP address of the DNS most appropriate for the setup. There will
 | 
|---|
| 109 |     often be more than one entry (requirements demand secondary servers for
 | 
|---|
| 110 |     fallback capability). If you only need or want one DNS server, remove the
 | 
|---|
| 111 |     second <emphasis>nameserver</emphasis> line from the file. The IP address
 | 
|---|
| 112 |     may also be a router on the local network.</para>
 | 
|---|
| 113 | 
 | 
|---|
| 114 |   </sect2>
 | 
|---|
| 115 | 
 | 
|---|
| 116 | </sect1>
 | 
|---|