1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
9 <link rel="stylesheet" href="../stylesheets/lfs.css" type="text/css" />
10 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
11 <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
12 "text/css" media="print" />
14 <body class="lfs" id="lfs-7.2">
15 <div class="navheader">
17 Linux From Scratch - Version 7.2
24 <a accesskey="p" href="introduction.html" title="はじめに">前のページ</a>
30 <a accesskey="n" href="hosts.html" title=
31 "/etc/hosts ファイルの設定">次のページ</a>
37 <a accesskey="u" href="chapter07.html" title=
38 "第7章 ブートスクリプトの設定">上に戻る</a>
41 <a accesskey="h" href="../index.html" title=
42 "Linux From Scratch - Version 7.2">ホーム</a>
46 <div class="sect1" lang="ja" xml:lang="ja">
48 <a id="ch-scripts-network" name="ch-scripts-network"></a>7.2.
52 本節はネットワークカードを設定する場合にのみ作業を行っていきます。
55 ネットワークカードを利用しないのであれば、ネットワークカードに関する設定は、おそらくすべて不要なはずです。
56 そのような場合は、ランレベルディレクトリ (<code class="filename">/etc/rc.d/rc*.d</code>)
57 から、シンボリックリンク <code class="filename">network</code> を削除してください。 これは
58 <a class="xref" href="bootscripts.html" title=
59 "7.6. LFS-ブートスクリプト-20120901">7.6.「LFS-ブートスクリプト-20120901」</a>
60 にてブートスクリプトをインストールした後に行ってください。
62 <div class="sect2" lang="ja" xml:lang="ja">
64 <a id="stable-net-names" name="stable-net-names"></a>7.2.1.
65 ネットワークインターフェースに対する固定名称の作成
68 設定を行うべきネットワークインターフェースが、システム内にただ一つであるなら、本節に示す内容は任意となります。
70 ラップトップPCでのワイヤレスネットワークやケーブル接続のネットワークにおいては、たいていは本節における設定が必要となるでしょう。
73 Udev やモジュラー化されたネットワークドライバーにおいて、ネットワークインターフェースの番号の割振りは再起動により変更されます。
74 ドライバーモジュールの読み込みが並列で行われるためランダムになるからです。 例えば Intel 製と Realtek
75 製の二つのネットワークカードを持つコンピューターにおいて、 Intel 製が <code class=
76 "filename">eth0</code>、Realtek 製が <code class=
77 "filename">eth1</code> となったとします。
78 しかし時にはシステムの再起動によって番号割り振りが逆転することもあります。 これを避けるには Udev
79 ルールを生成して、ネットワークカードの MAC アドレスに基づいて固定的に名称を定める方法があります。
82 このルールは、前章の <span class="application">udev (systemd)</span>
83 におけるビルド手順にて事前生成されています。 <code class=
84 "filename">/etc/udev/rules.d/70-persistent-net.rules</code>
85 を確認すれば、どんな名前がどのネットワークデバイスに割り当てられているかが分かります。
87 <pre class="userinput">
88 <kbd class="command">cat /etc/udev/rules.d/70-persistent-net.rules</kbd>
90 <div class="admon note">
91 <img alt="[注記]" src="../images/note.png" />
96 ネットワークカードに対して手動で MAC アドレスを割り当てた場合や Xen
97 のような仮想環境における場合などにおいて、ネットワークルールファイルが生成されないことがあります。
98 これはアドレスの割り当てが確定されないためです。 こういった場合は次節に進んでください。
102 このファイルの先頭にはコメントが数行あり、続いてそれぞれの NIC に対する行があります。 NIC
103 ごとの記述では一行めがコメントで、そのハードウェア ID が記されています。 (PCI カードである場合、PCI ベンダとデバイス
104 ID が記述されます。) またドライバーが検出できている場合には、カッコ書きでドライバー名も示されます。 ハードウェア ID
105 もドライバー名も、インターフェースに対して与えられる名称とは無関係で、単に分かりやすくするために記されているにすぎません。 二行めは
106 Udev ルールであり、その NIC を定め、名称を割り当てている記述です。
109 Udev ルールはいくつかのキー項目で構成され、それぞれがカンマで区切られるか、場合によっては空白文字で区切られています。
110 このキー項目とその内容は以下のようになります。
112 <div class="itemizedlist">
116 <code class="literal">SUBSYSTEM=="net"</code> -
117 ネットワークカードではないデバイスは無視することを指示します。
122 <code class="literal">ACTION=="add"</code> - uevent の add
123 イベントではないものは無視することを指示します。 (uevent の "remove" イベントや "change"
124 イベントも発生しますが、これらはネットワークインターフェースの名前を変更するものではありません。)
129 <code class="literal">DRIVERS=="?*"</code> - Udev に対して VLAN
130 やブリッジサブインターフェース (bridge sub-interfaces) を無視することを指示します。
131 (サブインターフェースにはドライバーがないためです。)
132 サブインターフェースに名前が割り当てられたとすると、親デバイスの名前と衝突してしまうため、サブインターフェースの名前割り当てはスキップされます。
137 <code class="literal">ATTR{address}</code> - このキーの値は NIC の
143 <code class="literal">ATTR{type}=="1"</code> -
144 特定のワイヤレスドライバーでは複数の仮想インターフェースが生成されますが、そのうちの主となるインターフェースにのみルールが合致するようにします。
145 二つめ以降のインターフェースに対する処理は、VLAN
146 やブリッジサブインターフェースがスキップされるのと同じくスキップされます。
147 名前割り当てが行われてしまうと名前衝突を起こすためです。
152 <code class="literal">KERNEL=="eth*"</code> -
153 複数のネットワークインターフェースを有するマシンを取り扱うためのルールを加えます。
154 このルールでは全インターフェースに同一の MAC アドレスが用いられます。 (PS3 などがそういったマシンになります。)
155 各インターフェースに対して個別の命名が行われたとすると Udev はそれぞれを別のものとして取り扱います。
156 これはたいていの Linux From Scratch ユーザーにとって必要ありません。
162 <code class="literal">NAME</code> - Udev
163 がインターフェースに対して割り当てる名前をキーの値として指定します。
169 <code class="literal">NAME</code> に定義される値が重要です。
170 どのネットワークカードにどんな名前が割り当てられているかをよく確認してください。 そして以下において設定ファイルを生成する際には
171 <code class="literal">NAME</code> に定義されている名称を利用してください。
174 <div class="sect2" lang="ja" xml:lang="ja">
176 7.2.2. ネットワークインターフェースに対する設定ファイルの生成
179 どのネットワークインターフェースが起動したり停止したりするかは <code class=
180 "filename">/etc/sysconfig/</code> ディレクトリ配下のファイルの指定によります。
181 このディレクトリには、設定を行ないたい各ネットワークインターフェースに対するファイルを準備します。
182 例えばネットワークインターフェースの名が「<span class="quote">xyz</span>」である場合
183 <code class="filename">ifconfig.xyz</code> というファイルとします。
184 「<span class="quote">xyz</span>」は管理者が識別できるデバイス名、例えば eth0 などとなります。
185 このファイルにはネットワークインターフェースの属性、つまり IP アドレスやサブネットマスクなどを定義します。 ファイルベース名は
186 <span class="emphasis"><em>ifconfig</em></span> とすることが必要です。
189 以下のコマンドは、<span class="emphasis"><em>eth0</em></span> デバイスに対して固定 IP
190 アドレスを設定するファイルを生成する例です。
192 <pre class="userinput">
193 <kbd class="command">cd /etc/sysconfig/
194 cat > ifconfig.eth0 << "EOF"
195 <code class="literal">ONBOOT=yes
201 BROADCAST=192.168.1.255</code>
205 各変数の値は各ファイルごとに適切なものに設定してください。
208 <code class="envar">ONBOOT</code> 変数を「<span class=
209 "quote">yes</span>」に設定した場合、システム起動時にネットワークスクリプトがネットワークインターフェースカード
210 (network interface card; NIC) を起動します。 「<span class=
211 "quote">yes</span>」以外に設定すると、ネットワークスクリプトからの NIC の起動がなくなり、NIC
212 は自動では起動しなくなります。 ネットワークインターフェースは <span class=
213 "command"><strong>ifup</strong></span> や <span class=
214 "command"><strong>ifdown</strong></span>
215 といったコマンドを使って、起動や停止を行うことができます。
218 <code class="envar">IFACE</code> 変数は、インターフェース名を定義します。 例えば eth0
219 といったものです。 これはネットワークデバイスの設定を行うすべてのファイルにて必要な定義です。
222 <code class="envar">SERVICE</code> 変数はIP アドレスの取得方法を指定します。
223 LFS-ブートスクリプトは IP アドレス割り当て方法をモジュール化しています。 そして <code class=
224 "filename">/lib/services/</code> ディレクトリに追加でファイルを生成すれば、他の IP
225 アドレス割り当て方法をとることもできます。 通常は DHCP (Dynamic Host Configuration
226 Protocol) において利用されるものです。 これについては BLFS ブックにて説明しています。
229 <code class="envar">GATEWAY</code> 変数は、デフォルトゲートウェイが存在するならその IP
230 アドレスを指定します。 存在しない場合は、の変数設定を行っている一行をコメントにします。
233 <code class="envar">PREFIX</code> 変数はサブネットマスクにて用いられるビット数を指定します。 IP
234 アドレスの各オクテット (octet) は 8 ビットで構成されます。 例えばサブネットマスクが 255.255.255.0
235 である場合、ネットワーク番号 (network number) を特定するには最初の三つのオクテット (24ビット)
236 が用いられることを意味します。 もし 255.255.255.240 であるなら、最初の 28 ビットということになります。 24
237 ビットを超えるプレフィックスは、通常は DSL やケーブルを用いたインターネットサービスプロバイダー (Internet
238 Service Provider; ISP) がよく利用しています。 上の例 (PREFIX=24) では、サブネットマスクは
239 255.255.255.0 となります。 <code class="envar">PREFIX</code>
240 変数の値は、ネットワーク環境に応じて変更してください。 これが省略された場合は、デフォルトの 24 が用いられます。
243 より詳しくは <span class="command"><strong>ifup</strong></span> の man
247 <div class="sect2" lang="ja" xml:lang="ja">
249 <a id="resolv.conf" name="resolv.conf"></a>7.2.3. /etc/resolv.conf
253 インターネットへの接続を行う場合には、ドメイン名サービス (domain name service; DNS)
254 による名前解決を必要とします。 これによりインターネットドメイン名を IP アドレスに、あるいはその逆の変換を行います。
255 これを行うには ISP やネットワーク管理者が指定する DNS サーバーの割り振り IP アドレスを <code class=
256 "filename">/etc/resolv.conf</code> ファイルに設定します。
257 以下のコマンドによりこのファイルを生成します。
259 <pre class="userinput">
260 <kbd class="command">cat > /etc/resolv.conf << "EOF"
261 <code class="literal"># Begin /etc/resolv.conf
263 domain <em class="replaceable"><code><Your Domain Name></code></em>
264 nameserver <em class=
265 "replaceable"><code><IP address of your primary nameserver></code></em>
266 nameserver <em class=
267 "replaceable"><code><IP address of your secondary nameserver></code></em>
269 # End /etc/resolv.conf</code>
273 <code class="varname">domain</code> ステートメントは省略するか、<code class=
274 "varname">search</code> ステートメントで代用することが可能です。 詳しくは resolv.conf の man
278 <em class="replaceable"><code><IP address of the
279 nameserver></code></em> (ネームサーバーの IP アドレス) の部分には、DNS が割り振る適切な IP
280 アドレスを記述します。 IP アドレスの設定は複数行う場合もあります。(代替構成を必要とするなら二次サーバーを設けることでしょう。)
281 一つのサーバーのみで十分な場合は、二つめの <span class=
282 "emphasis"><em>nameserver</em></span> の行は削除します。
283 ローカルネットワークにおいてはルーターの IP アドレスを設定することになるでしょう。
285 <div class="admon note">
286 <img alt="[注記]" src="../images/note.png" />
291 Google Public IPv4 DNS アドレスは 8.8.8.8 と 8.8.4.4 です。
296 <div class="navfooter">
299 <a accesskey="p" href="introduction.html" title="はじめに">前のページ</a>
305 <a accesskey="n" href="hosts.html" title=
306 "/etc/hosts ファイルの設定">次のページ</a>
312 <a accesskey="u" href="chapter07.html" title=
313 "第7章 ブートスクリプトの設定">上に戻る</a>
316 <a accesskey="h" href="../index.html" title=
317 "Linux From Scratch - Version 7.2">ホーム</a>