第13章 ネットワークの基礎

目次

13.1. IP アドレスとルーティング
13.2. IPv6—次世代のインターネット
13.3. 名前解決
13.4. YaST を利用したネットワーク接続の設定
13.5. NetworkManager
13.6. 手動でのネットワーク設定方法
13.7. ダイアルアップ接続支援としての smpppd

概要

Linux では、様々なネットワーク構成に対応したネットワークツールと機能を 提供しています。 YaST を利用することで、ネットワークカードを利用した 接続のほか、モデムなどのデバイスを設定することもできます。もちろん手動 設定も可能です。この章では、基本的なネットワーク機構と関連するネットワーク 設定について述べています。

Linux とその他の Unix オペレーティングシステムでは TCP/IP と呼ばれる プロトコルを使用しています。これは単一のプロトコルを指す言葉ではなく、 様々なサービスを提供するネットワークプロトコルの集合体を意味する言葉です。 2 台のマシンでデータをやりとりする場合は、 表13.1「TCP/IP と関連プロトコル」 に示されているようなプロトコルが用いられます。また、このようにして TCP/IP を世界的に構築したネットワークのことを インターネット と言います。

RFC とは Request for Comments の略です。 RFC では様々なインターネットプロトコルの説明やオペレーティングシステム での実装方法のほか、アプリケーションについても言及している文書です。 各種のプロトコルについて知識を深めるには、それぞれの RFC 文書をお読み ください。 RFC 文書は http://www.ietf.org/rfc.html から利用できます。

表13.1 TCP/IP と関連プロトコル

プロトコル

説明

TCP

伝送制御プロトコル: 接続という手順を踏んで利用する、信頼性のあるプロトコル です。データはアプリケーション側から連続データとして提供され、 オペレーティングシステムで適切な形式に変換されます。宛先のホストで 必要なアプリケーションに届けられる際には、元のアプリケーションが 送信したものと同じデータ形式に変換し直されます。また、 TCP ではデータ 転送中の喪失やエラーをチェックすることができます。 TCP はデータの 順序性を守るように実装されています。

UDP

ユーザデータグラムプロトコル: 接続を行なわない、信頼性の低いプロトコル です。アプリケーションから送信されたデータは、パケットと呼ばれる形式に 変換されて送信されます。宛先のホストに届いたことは保証されないため、 データ喪失が発生する場合があります。 UDP はブロック単位でやりとりする アプリケーションに向いた仕組みで、 TCP よりも少ない遅延で通信を行なう ことができます。

ICMP

インターネットコントロールメッセージプロトコル: 一般のユーザからは 使用することのないプロトコルですが、エラー報告や TCP/IP のデータ転送に 参加しているマシンの振る舞いについて、操作を行なうことができる特殊な プロトコルです。また、 ping と呼ばれるプログラムを利用して、特別な エコーパケットを送信する場合にも使用します。

IGMP

インターネットグループ管理プロトコル: このプロトコルは、 IP マルチキャストを実装するマシンについて、その振る舞いをコントロール する際に利用するプロトコルです。


図13.1「TCP/IP の簡略化モデル」 に示されているとおり、データのやりとり には複数のレイヤ (階層) が用いられます。実際のネットワーク層は IP (インターネットプロトコル) と呼ばれ、信頼性のないデータ転送を提供する プロトコルです。この IP の上位に TCP (伝送制御プロトコル) を載せることで、 データ転送の信頼性を確保しています。また、 IP 層は下位のハードウエア 固有プロトコル (たとえばイーサネット) などに載せられて伝送されます。

図13.1 TCP/IP の簡略化モデル

TCP/IP の簡略化モデル

図ではそれぞれのレイヤに対して 1 つ 2 つ程度の例を示しています。階層は 抽象レベル とも呼べるもので、最も低い階層がもっとも ハードウエアに近く、最も高い階層がハードウエアから最も遠いものになって います。また、それぞれの階層には独自の機能が備わっています。データリンク 層と物理層はイーサネットのようなネットワークで表わされます。

ほぼすべてのハードウエアプロトコルは、パケットを基本にした構造を持って います。送信すべきデータは (一回ですべてを送信できない場合に) パケット 単位でまとめられます。 TCP/IP パケットでの 最大長はおおよそ 64KB 程度ですが、ハードウエアプロトコルでのパケットは それよりもずっと小さく、ネットワークのハードウエア側の仕様によって 決まります。たとえばイーサネットの場合は、おおよそ 1500 バイト程度です。 イーサネットを介して送信する場合、 TCP/IP パケットのサイズはこの値が 上限になります。さらなるデータ転送が必要な場合は、オペレーティングシステム からパケットを分割して送信する必要があります。

それぞれの層にはそれぞれ設計された機能があるため、その機能を実現するための 情報をデータパケット内に保存しなければなりません。これをパケットの ヘッダ と呼びます。各層には、データ自身の前に小さな データブロックの形でプロトコルヘッダが割り当てられます。イーサネット ケーブル内でやりとりされる TCP/IP データパケットの例を 図13.2「TCP/IP イーサネットパケット」 に示します。またチェックサムは パケットの冒頭ではなく、パケットの末尾に配置されます。これにより、 ネットワークハードウエアでの処理が容易になるようにしています。

図13.2 TCP/IP イーサネットパケット

TCP/IP イーサネットパケット

アプリケーションがネットワーク上にデータを送信すると、物理層以外では データは Linux カーネルが実装する各層に渡されます。それぞれの層はそれぞれ の役割を果たす処理を行なってから次の層に渡します。最も低い層がデータを 送信する最終責任を負っています。データを受信したときの処理は、上述の 逆の手順で行ないます。タマネギの皮のように、届いたデータから 1 枚 1 枚 プロトコルヘッダを取り除いていきます。アプリケーションに渡すデータの作成 については、トランスポート層が最終責任を負います。この方法により、各層は 隣接する層との間だけをやりとりすれば済むような構造になっています。 またアプリケーションは、データが 100 メガビット毎秒の FDDI ネットワークを 介しているのか、それとも 56 キロビットのアナログモデムを使用しているのか を気にする必要はありません。さらに言えば、パケットが必要なフォーマットに 変換する機能を備えているため、同じく回線の種類についても気にする必要は ありません。

13.1. IP アドレスとルーティング

本章では IPv4 ネットワークについてのみ言及しています。 IPv4 の後継である IPv6 についての情報は、 13.2項 「IPv6—次世代のインターネット」 をお読みください。

13.1.1. IP アドレス

インターネット上に存在するすべてのコンピュータには、ユニークな 32 ビットの アドレスが付与されています。これら 32 ビット (または 4 バイト) のアドレスは、 通常は 例13.1「IP アドレスの書式」 の 2 行目のように記述します。

例13.1 IP アドレスの書式

IP アドレス ( 2 進数表記):  11000000 10101000 00000000 00010100
IP アドレス (10 進数表記):      192.     168.       0.      20

10 進数表記では、それぞれ 4 バイトを 1 バイトずつ 10 進数で表記し、 間をピリオドで区切ります。 IP アドレスはホストやネットワークインターフェイスに 割り当てられるもので、世界中で唯一のものでなければなりません。このルールには いくつかの例外事項がありますが、本章では特に関係のないものなので省略します。

IP アドレスでもう 1 つ重要な項目として、階層構造のシステムであることが 挙げられます。 1990 年代では IP アドレスはクラスと呼ばれる方法で限定 して分類されていました。しかしながら、このような方法は柔軟性に欠けて いたため、現在は使用されていません。現在は クラスレス ルーティング (CIDR, クラスを使用しない領域間経路制御) を使用しています。

13.1.2. ネットマスクとルーティング

ネットマスクは特定のネットワーク範囲 (サブネットワーク) を定義するために 使用されるものです。 2 つのホストが同じサブネットワーク内に存在していれば、 それらは直接通信を行なうことができます。異なるサブネットワーク内に存在して いる場合は、それぞれのホストは自分と同じサブネットワーク内にあるゲートウエイ のアドレスを知って (設定して) おく必要があります。 2 つの IP アドレスから 同じサブネットかどうかを判断するには、単純に IP アドレスとネットマスクの 論理積 をそれぞれ計算します。結果が同じであればそれらの IP アドレスは同じサブネット内にあることになりますし、結果が異なっていれば ゲートウエイを介して通信しなければならないことを示します。

ネットマスクの動作について学ぶには、 例13.2「IP アドレスとネットマスクのつながり」 をお読みください。ネットマスクは 32 ビットで表わされるもので、その ネットワーク内にどれだけの数の IP アドレスが属しているのかを表わしています。 1 になっているビットがネットワークを表わすビットで、 0 になっているビットがネットワーク内を表わすビットです。 これを言い換えると、 1 のビットが多ければ多いほど そのサブネットのサイズが小さくなることを示しています。ネットマスクは常に 1 のビットが連続するため、単にそのビット数を数えるだけの 方法でネットマスクを表記する場合もあります。 例13.2「IP アドレスとネットマスクのつながり」 の 1 つめの例では 24 ビット分が 1 になっているため、 192.168.0.0/24 と記述する場合もあります。

例13.2 IP アドレスとネットマスクのつながり

IP アドレス   (192.168.0.20):  11000000 10101000 00000000 00010100
ネットマスク (255.255.255.0):  11111111 11111111 11111111 00000000
------------------------------------------------------------------
論理積の結果:                  11000000 10101000 00000000 00000000
10 進数表記:                        192.     168.       0.       0

IP アドレス   (213.95.15.200): 11010101 10111111 00001111 11001000
ネットマスク  (255.255.255.0): 11111111 11111111 11111111 00000000
------------------------------------------------------------------
論理積の結果:                  11010101 10111111 00001111 00000000
10 進数表記:                        213.      95.      15.       0

もう 1 つの例を示します: 同じイーサネットケーブルに接続されたすべての マシンは、通常同じサブネットワーク内に属していて、直接接続することが できます。サブネットがスイッチやブリッジで区切られていた場合でも、 これらのホストは直接アクセスすることができます。

自分のサブネットとは異なる IP アドレスに対しては、目的のネットワークに 接続可能なゲートウエイが存在する場合にのみ、通信を行なうことができます。 もっともよくある例としては、外部とやりとりを行なうすべての通信を処理する 1 台のゲートウエイが設置されている例などが考えられます。もちろん、 異なるサブネットに対してそれぞれ別々のゲートウエイを設定することも できます。

ゲートウエイを設定すると、すべての外部宛の IP パケットが適切なゲートウエイに 送信されるようになります。このゲートウエイはパケットを受信すると、 同じ方法で他のホストにパケットを転送します。これは宛先のホストに到達するか、 もしくは TTL (time to live; 生存時間) が切れるまで行なわれます。

表13.2 様々なアドレス

アドレスの種類

説明

通常のネットワークアドレス

これは 例13.2「IP アドレスとネットマスクのつながり」 内に示されている アドレス (とネットマスク) です。 このアドレスは、他のホストで同じものを設定することはできません。

ブロードキャストアドレス

これは端的に言うと、 そのサブネット内にあるすべてのホストに アクセスする という意味になります。このアドレスを生成するには、 ネットマスクの値を 2 進数で反転し、ネットワークアドレスとの論理和を 計算してください。たとえば上記の例では 192.168.0.255 のようになります。 このアドレスは特定のホストに設定することはできません。

ローカルホスト

アドレス 127.0.0.1 は 各ホストでの ループバックデバイス に割り当てられて います。このアドレスを利用することで、自分自身に対する接続を行なう ことができます。 IPv4 でループバックデバイスのネットワークを正確に書くと、 127.0.0.0/8 のアドレスに なります。 IPv6 の場合には単に 1 つのアドレス (::1) となります。


IP アドレスは世界で唯一のものでなければならないため、ランダムにアドレスを 割り当てたりするようなことができません。そのため、プライベートな IP ベース ネットワークを構築する目的で、 3 種類のアドレス領域が提供されています。 これらのアドレスは、インターネット側から通信を行なうことができないように 設定されているため、インターネット上では利用できません。これらのアドレス 範囲は RFC 1597 または 表13.3「プライベート IP アドレス領域」 に 記されています。

表13.3 プライベート IP アドレス領域

ネットワーク/ネットマスク

範囲

10.0.0.0/255.0.0.0

10.x.x.x

172.16.0.0/255.240.0.0

172.16.x.x172.31.x.x

192.168.0.0/255.255.0.0

192.168.x.x


13.2. IPv6—次世代のインターネット

WWW (World Wide Web) の出現により、インターネットは爆発的なまでに成長し、 過去 15 年間で TCP/IP の通信を行なうコンピュータが急増しました。 特に CERN (http://public.web.cern.ch) の Tim Berners-Lee が 1990 年に WWW を発明してから、インターネットに接続するホストは数千 程度のものから 1 億程度にまで増加しました。

上述のとおり、 IPv4 のアドレスは 32 ビット分しかありません。また、かなりの IP アドレスが失われています。これらの失われたアドレスは、ネットワーク の管理上の問題から、使用することができません。これは、あるネットワークで 利用可能なアドレス数が 2 のべき乗から 2 を引いた数でなければならないという 制約に基づくものです。たとえばインターネットに 128 個のホストを接続する 場合、 256 個のサブネットを構築して 254 個のアドレスを確保しなければ なりません。差し引かれた 2 個分は、ネットワークの構造そのものを管理するため に必要なアドレスであるためです: これらはブロードキャストアドレス、 ネットワークアドレスとそれぞれ呼ばれています。

また、現在の IPv4 プロトコルでは、 DHCP や NAT (ネットワークアドレス変換) の仕組みを利用して、潜在的なアドレス不足を解決するようにしています。 プライベートとパブリックという 2 種類のアドレスを組み合わせることで、 これらの方法はアドレス不足の問題を和らげることができています。さらに、 これらの問題は設定作業にも影響していて、設定を面倒にしているだけでなく、 管理への負担を強いています。 IPv4 ネットワーク内にホストを設定する場合、 ホスト自身の IP アドレスとサブネットマスク、ゲートウエイアドレスと (必要であれば) ネームサーバのアドレスをそれぞれ設定しなければなりません。 これらの全ての情報を知っておくか、もしくはどこかから取得しておく必要が あることになります。

IPv6 では、アドレスの不足や複雑な設定項目といった厄介ごとが過去のものに なっています。下記の章では、 IPv6 でもたらされる改善点と利点、および 古いプロトコルからの移行方法についてそれぞれ述べています。

13.2.1. 利点

新しいプロトコルによってもたらされる最も重要、かつ最も目に見える改善点は、 そのアドレス領域の拡張にあります。 IPv6 アドレスは旧来の 32 ビットから、 128 ビットに拡張されました。これにより、はるかに多いアドレスを割り当てる ことができるようになっています。

IPv6 アドレスは単に前身となるプロトコルから長さが増えただけのものでは ありません。 IPv6 では内部構造が異なり、属しているシステムとネットワークに 関する情報を多く含む仕組みになっています。これらの拡張について、詳しくは 13.2.2項 「アドレスの種類と構造」 をお読みください。

新しいプロトコルに関する他の利点を下記に列挙します:

自動設定

IPv6 はネットワークを プラグ & プレイ 対応にする ことができます。これは新しく設定したシステムを (ローカルの) ネットワークに 接続する際、手作業での設定を行なう必要がないことを意味しています。 新しいホストは近隣のルータから neighbor discovery (ND) と呼ばれるプロトコルを利用して得られた情報から、自分自身のアドレスを 割り出して設定します。この方法では管理者が介入することなくアドレスを 設定することができるほか、アドレスの割り当てについて中央にサーバを 用意する必要もありません。 IPv4 では DHCP サーバとして中央にサーバを 設置するか、もしくは ARP を利用して 169.254.0.0/16 のアドレス帯域を 使用する必要がありました。

ルータがスイッチに接続されている場合でも、ルータはネットワーク内の ホストに対して通信を行なうことができるよう、フラグ付きの定期通知を 行なう必要があります。詳しい情報については RFC 2462 をお読みになるか、 もしくは radvd.conf(5) のマニュアルページと RFC 3315 をそれぞれお読みください。

可動性

IPv6 では、同時に複数のアドレスを 1 つのネットワークインターフェイスに 設定することができます。これにより、携帯電話会社が提供する国際ローミング サービスに比べ、複数のネットワークへの接続が簡単になります: たとえばお使いの携帯電話を海外に持って行くと、電話機側がそれを自動で 判断して海外のサービスに接続し、どこでも同じ番号を利用することができる ようになるほか、電話機側から発信を行なっても自宅と同じ番号で発信できる ようになります。

機密通信

IPv4 ではネットワークセキュリティが追加機能として提供されていました。 IPv6 では IPsec を中枢機能のうちの 1 つに位置づけていて、インターネット 上の第三者から盗み聞きされないよう、機密のチャネルを設定して通信を 行なうことができます。

後方互換性

現実的には、インターネット全体の IPv4 から IPv6 への移行は不可能です。 そのため、インターネット上で両方のプロトコルが共存するだけでなく、 特定のシステム上でも共存させなければなりません。これは互換アドレス (IPv4 アドレスから IPv6 アドレスへの変換) の形で提供されているほか、 複数のトンネル機能で実現されています。詳しくは 13.2.3項 「IPv4 と IPv6 の共存」 をお読みください。また、システムは デュアルスタック IP 技術を利用して、両方のプロトコルに同時対応しています。そのため、 システム内では完全に区切られた 2 つのネットワークスタックが存在して いて、両プロトコルバージョンの衝突は起こらないようになっています。

マルチキャストを利用したカスタムなサービス

IPv4 では SMB などのサービスで、ローカルネットワーク内の全ホストに 一斉通知するためにブロードキャストを利用しています。 IPv6 では、 グループに属しているホストに対して通知を行なう マルチキャスト を利用し、より洗練されたホスト/サーバ間の通知機能を実現しています (ブロードキャスト の場合は全てのホスト宛に通知を 行ないますし、 ユニキャスト の場合は個別に通知を 行ないます) 。それぞれのホストはアプリケーションごとのグループの形で 管理されます。事前に定義されているグループとして、全てのネームサーバ (全ネームサーバのマルチキャストグループ) や 全てのルータ (全ルータのマルチキャストグループ) などがあります。

13.2.2. アドレスの種類と構造

上述のとおり、現在の IP プロトコルには 2 つの重要な要素が欠けています: 1 つは IP アドレスの枯渇への対応、もう 1 つはネットワークの設定やルーティング テーブル (経路制御表) の複雑化と負担の増大です。 IPv6 では前者の問題に 対して、アドレス領域を 128 ビットに拡大することで対応しています。後者の 問題に対しては、 マルチホーミング (1 台の機器に 対して複数のアドレスを割り当て、複数のネットワークへのアクセスを提供する 技術) など、ネットワークアドレスの割り当てを上手に行なって、 階層的なアドレス構造を構築することで対応しています。

IPv6 を取り扱う場合は、 3 種類のアドレス種類があることを知っておく必要が あります:

ユニキャスト

この種類のアドレスは、 1 つのネットワークインターフェイスに対して 割り当てられるものです。このようなアドレスを持ったパケットは、単一の 宛先に対して配信されます。そのため、ユニキャストはローカルネットワーク やインターネットでのホスト間通信に利用します。

マルチキャスト

この種類のアドレスは、複数のネットワークインターフェイスに対して 割り当てられるものです。このようなアドレスを持ったパケットは、グループ に属する複数の宛先に配信されます。マルチキャストアドレスは主に管理された ネットワーク環境で利用され、特定のネットワークサービスからホストの グループに対して通信を行なう場合に利用します。

エニーキャスト

この種類のアドレスは、複数のネットワークインターフェイスに対して 割り当てられるものです。このようなアドレスを持ったパケットは、ルーティング (経路制御) プロトコルの方針に従って、送信元から最も近いグループの メンバーに対して配信されます。エニーキャストのアドレスは特定の ネットワーク領域で利用されるもので、あるサービスを提供するサーバを 見つけやすくするために用いられるものです。同じ種類のサーバは、全て 同じアドレスを設定します。あるホストからサービスを要求すると、 ルーティングプロトコルの判断で最も近い場所に存在するサーバが パケットを受信し、サービスを提供する仕組みです。サーバが何らかの 理由でサービスを提供できない場合は、プロトコル側で自動的に次の候補 を選択していきます。

IPv6 アドレスは 4 桁の項目 8 つから構成されています。それぞれの項目は 16 ビットで、 16 進数による表記を行ないます。また、各項目はコロン (:) で区切ります。それぞれの項目内が 0 から始まる 桁であった場合にはその 0 を省略しますが、途中や最後が 0 であった場合には 省略は行ないません。また、 0 が連続する場合はダブルコロン (::) で省略を行ないます。ただし、ダブルコロンはアドレスごとに 1 回までしか 使用できません。具体的な短縮表記方法を 例13.3「IPv6 アドレスの例」 に示します。これらはいずれも同じアドレスを指す表記です。

例13.3 IPv6 アドレスの例

fe80 : 0000 : 0000 : 0000 : 0000 : 10 : 1000 : 1a4
fe80 :    0 :    0 :    0 :    0 : 10 : 1000 : 1a4
fe80 :                           : 10 : 1000 : 1a4

IPv6 アドレスの各部分には機能が割り当てられています。最初の数バイトは プレフィクスとアドレス種類を規定しています。それに続くネットワーク アドレスの中間部分は、アドレスのネットワーク部分を表わします (使用されて いない場合もあります) 。最後にアドレスのホスト部分がつながる形になって います。 IPv6 では、ネットマスクをアドレスの後にスラッシュ (/) を入れて記述します。このネットマスクはプレフィクスの長さで指定します。 たとえば 例13.4「プレフィクス長を指定する IPv6 アドレス」 のアドレスでは、 64 ビット分がネットワークを表わす部分で、残りの 64 ビットがホストを表わす 部分であることを示しています。言い換えれば、 64 は ネットマスクが左から 64 ビット分だけ 1 で埋められた値であることを 示しています。ここから IPv4 のように IP アドレスとネットマスクから計算 された値で論理積を計算すれば、同じサブネット上にあるものかどうかを判別 できることになります。

例13.4 プレフィクス長を指定する IPv6 アドレス

fe80::10:1000:1a4/64

IPv6 では、事前に規定されたプレフィクスが存在しています。これらのうちの いくつかを 表13.4「様々な IPv6 プレフィクス」 に示します。

表13.4 様々な IPv6 プレフィクス

プレフィクス (16 進)

定義

00

IPv4 アドレスと IPv4 over IPv6 で使用する互換アドレスです。 これらのアドレスは IPv4 との互換性を維持するために使用され、 IPv6 パケットを IPv4 パケットに変換することのできるルータで 使用されます。なお、ループバックデバイス用などの特殊なアドレス についても、このプレフィクス内に存在します。

1 桁目が 2 または 3 で始まるもの

グローバルなユニキャストアドレスの集まりです。 IPv4 の場合と同様に、 特定のサブネットワークの一部としてインターフェイスに割り当てます。 現時点では下記のアドレス領域が存在しています: 2001::/16 (商用品質の アドレス領域) と 2002::/16 (6to4 用の アドレス領域)

fe80::/10

リンクローカルのアドレスです。このプレフィクスを持つアドレスは経路 制御されるべきものではないため、同じサブネット内でのみ通信可能です。

fec0::/10

サイトローカルのアドレスです。経路制御を行なってもかまいませんが、 属する団体内でのみ行なわれるべきものです。実際には 10.x.x.x のように、 プライベートネットワークアドレスの IPv6 版として使用することができます。

ff

マルチキャストアドレスです。


また、ユニキャストのアドレスは 3 つの要素から構成されています:

公衆部

最初の要素 (上述でのプレフィクス) は、公衆インターネットを介して パケットの経路制御を行なうための部分です。企業や団体がインターネット 接続を行なう際の情報として使用します。

サイト部

2 番目の部分には、パケットを配信するために必要なサブネットの経路情報が 含まれています。

インターフェイス ID

3 番目の部分では、パケットを配信する先のインターフェイス識別子が含まれて います。この部分には MAC アドレスを設定することもできます。 MAC アドレスは世界で唯一のアドレスで、ハードウエアの製造元が割り当てた 固定長の識別コードをデバイスに設定しています。実際には設定作業が単純化 されていて、アドレスの最初の 64 ビットが EUI-64 トークンと呼ばれています。その 64 ビットのうち最後の 48 ビットが MAC アドレスを、残りの 24 ビットがトークンの種類に関する特殊な情報を含むものに なっています。これにより、 EUI-64 トークンを MAC アドレスを持たないデバイス、たとえば PPP や ISDN などをベースにした デバイスに設定することができるようになっています。

上記の基本構造のほか、 IPv6 では下記の 5 種類のようなユニキャストアドレスが 存在します:

:: (未設定のアドレス)

このアドレスは、起動した直後にインターフェイスを設定する際に利用する もので、発信元のアドレスとして使用します。インターフェイスを設定する 段階ではアドレスを決めることができないため、このような形態をとっています。

::1 (loopback)

これはループバックデバイスを表わします。

IPv4 互換アドレス

この IPv6 アドレスは IPv4 アドレスから生成されるもので、 96 個の ゼロビットから始まるアドレスになっています。この互換アドレスは トンネリング (13.2.3項 「IPv4 と IPv6 の共存」 をお読み ください) で使用するもので、 IPv4 と IPv6 のホストが純粋な IPv4 環境で通信できるようにするためのものです。

IPv6 にマッピングされた IPv4 アドレス

この種類のアドレスは、 IPv6 のアドレス表記で IPv4 アドレスを表わす ために使用します。

ローカルアドレス

この種類のアドレスには、 2 種類の使用方法があります:

リンクローカル

この種類のアドレスは、内部のサブネットワーク内でのみ使用することが できます。この種類のアドレスを宛先や発信元に持つパケットは、 インターネットやその他のサブネットワークに転送されるべきでは ありません。このようなリンクローカルアドレスには特殊なプレフィクス (fe80::/10) が設定されていて、ネットワークカードのインターフェイス ID との 間はゼロバイトで埋められた形になっています。また、この種類の アドレスは自動設定の過程で利用し、同じサブネットワークに属する ホストと通信する際に利用します。

サイトローカル

この種類のアドレスはサブネットワーク内でやりとりをすることが できますが、インターネットの世界では利用できないものです。つまり、 企業や団体などの内部ネットワークでのみ使用しなければなりません。 このようなアドレスはイントラネットなどで使用されるもので、 IPv4 で言うところのプライベートアドレスと等価なアドレスです。 このようなサイトローカルアドレスには特殊なプレフィクス (fec0::/10) が設定されていて、ネットワークカードのインターフェイス ID との 間は 16 ビットのサブネットワーク ID を指定します。 残りの部分はゼロバイトで埋めます。

また、 IPv6 で全く新しく作成された機能として、各ネットワークインターフェイス に対して複数の IP アドレスを設定できる、という機能があります。これにより、同じ インターフェイスから同時に複数のネットワークへアクセスできるように なっています。同時にアクセスするネットワークのうち、一方は IPv6 が有効化 されるとすぐに利用できるリンクローカルアドレスを利用して、ローカル ネットワーク内にある全ホストと通信のできる状態にし、さらに MAC アドレスと 既知のプレフィクスを組み合わせて完全自動設定を行ないます。 MAC アドレスが アドレスの一部に組み入れられているため、世界中でユニークな IP アドレスを 構築することができるという仕組みになっています。アドレス内で変更可能な 部分はそれぞれ サイト部公衆部 を指定する部分で、これらはホストが現在接続しているネットワークに依存して 決まるものです。

複数のネットワークの間を行き来するホストの場合は、少なくとも 2 つのアドレス を必要とします。それらのうちの一方は ホームアドレス と呼ばれ、インターフェイス ID を含むだけでなく、通常所属するそのネットワーク 自身の識別子 (およびそれに結びつくプレフィクス) が含まれています。 ホームアドレスはアドレス設定を固定して使用するもので、通常の運用では変更を 行なわないものとします。そのような環境でも、ホームネットワーク内かどうかに関わらず、 移動端末のような接続で全てのパケットを配信することができます。 これは IPv6 で新たに提供されるようになった機能で実現されているもので、 それぞれ stateless autoconfiguration (状態管理のない自動設定)neighbor discovery (近隣検出) と呼ばれています。 ホームアドレスに加え、移動端末ではローミング先の環境に合わせて 1 つまたはそれ以上の追加アドレスを取得します。これらは care-of (気付) アドレスと呼びます。ホームネットワークでは、その移動端末が外部で ローミングしている間に、その端末に対してパケットを転送する機能を備えています。 IPv6 環境では、この作業は ホームエージェント が行なう もので、そのホームアドレス宛に届いたパケットをトンネル経由で中継します。 他方ではこのような care-of アドレスに届いたパケットについては、そのまま 何の加工もせずに届けることができるようになっています。

13.2.3. IPv4 と IPv6 の共存

インターネットに接続された全てのホストに対する IPv4 から IPv6 への移行作業は、 ゆるやかに行なわれています。ホストによっては両方のプロトコルを共存させている 場合もあります。単一のシステムにおけるプロトコルの共存は、両方のプロトコルに 存在する デュアルスタック の実装によって作られています。 ここで疑問点として残るのが、どのようにして IPv6 の利用できるホストから IPv4 のホストに通信を行なうのか、および IPv6 パケットが現在のネットワーク、特に IPv4 ベースのネットワークに対してどのような変換を行なうのかという点です。 これらの問題を解決するのが、トンネリングと互換アドレスという仕組みです (詳しくは 13.2.2項 「アドレスの種類と構造」 をお読みください) 。

(世界中に広がった) IPv4 のネットワークでは、 IPv6 のホストはトンネルを介して 通信を行なうことができます: IPv6 パケットは IPv4 パケットの中にカプセル化 されて IPv4 のネットワーク内を移動します。このような 2 つの IPv4 ホスト間 の接続を、 トンネル と呼びます。これを実現するには、 パケットには IPv6 の宛先アドレスだけでなく、トンネルの反対側で受信処理を 行なう IPv4 のアドレスを設定しなければなりません。基本的なトンネルであれば、 それは両方のホストの管理者が合意するだけで手動設定を行なうことができます。 これを 静的トンネル と呼びます。

しかしながら、静的なトンネルを設定したり管理したりすることは、日々の通信 要件をまかなっていくには面倒な作業になってしまいます。 そのため、 IPv6 では 3 種類の異なる方法で 動的トンネル を設定する機能を提供しています:

6over4

IPv6 パケットを自動で IPv4 パケットにカプセル化し、マルチキャスト対応 の IPv4 ネットワークを介して転送する方法です。 IPv6 側から見ると、 ネットワーク全体 (インターネット) が巨大なローカルエリアネットワーク (LAN) のように見えます。これにより、 IPv4 トンネルの反対側で自動的に パケットを受信できるようになるという仕組みです。しかしながら、この 方法は規模が拡大する場合には向いておらず、 IP マルチキャストが インターネット上でほとんど利用されていないことも、普及の妨げになって います。そのため、この方法は小規模の企業や学術的なネットワークなど、 マルチキャストの利用できる環境に向いています。この方法の詳しい仕様は RFC 2529 で記載されています。

6to4

この方法では IPv4 アドレスを IPv6 のアドレスから自動生成し、 IPv6 のホストからは IPv4 のネットワーク上で通信を行ないます。 しかしながら、このような IPv6 ホストとインターネット間の通信には いくつかの問題点が報告されています。この方法は RFC 3056 に記載されて います。

IPv6 トンネルブローカー

この方法では、 IPv6 ホスト向けのトンネル専用サーバを利用して通信を 行ないます。詳しくは RFC 3053 をお読みください。

13.2.4. IPv6 の設定

IPv6 を設定する場合は、通常の環境であれば個別の端末に対して設定を行なう 必要はありません。 IPv6 は規定で有効化されています。インストール中で あれば、 1.14.2.2項 「ネットワーク設定」 にある ネットワーク設定の手順で無効化することができます。インストール済みの システムで IPv6 を有効または無効に設定したい場合は、 YaST から ネットワークの設定 を選択します。 グローバルオプション のタブから、必要に応じて IPv6 を有効にする のチェックを入れるか外すかして 設定してください。設定ファイルから IPv6 を設定する場合は、 /etc/modprobe.d/50-ipv6.conf を編集してシステムを 再起動してください。無効化している状態から、次の再起動までの間だけ 一時的に有効化したい場合は、 root から modprobe -i ipv6 を実行してください。なお、 IPv6 モジュールを読み込んでしまうと、 基本的に読み込みを外すことはできません。

IPv6 は自動設定を基本とした仕組みであるため、ネットワークカードには リンクローカル ネットワーク内のアドレスが割り当て られます。通常はワークステーション側で経路表 (ルーティングテーブル) の 管理は行ないません。ワークステーションからネットワークルータに対して ルータ広告プロトコル を利用して問い合わせを行ない、 設定すべきプレフィクスとゲートウエイを知る仕組みになっています。 IPv6 ルータとして動作するには、このプロトコルに対応した radvd プログラム を利用します。このプログラムはワークステーションに対して、 IPv6 アドレスの プレフィクスとルータのアドレスを通知します。また、両方の自動設定や 経路制御を行なう目的で、 zebra/quagga を使用することもできます。

また、 /etc/sysconfig/network ファイルを利用して 様々な種類のトンネルを構築したい場合は、 ifcfg-tunnel (5) のマニュアル ページをお読みください。

13.2.5. さらなる情報

ここまでの概要説明では不足している点が数多くあり、広範囲にわたる説明は できていません。新しいプロトコルに対するより深い説明については、 下記のオンライン文書や書籍をお読みください:

http://www.ipv6.org/ (英語)

IPv6 に関しては、ここからお読みになることをお勧めします。

http://www.ipv6day.org (英語)

独自の IPv6 ネットワークを構築するための全情報が提供されています。

http://www.ipv6-to-standard.org/

The list of IPv6-enabled products.

http://www.bieringer.de/linux/IPv6/ (英語)

ここには Linux における IPv6 の HOWTO のほか、各トピックに関連した 多数のリンクが掲載されています。

RFC 2640

IPv6 に関する基礎を説明する RFC です。

IPv6 Essentials

Silvia Hagen (ISBN 0-596-00125-8) 氏の著作で、 IPv6 に関する 重要な要素について、全ての説明が記されています。

13.3. 名前解決

DNS は IP アドレスから 1 つまたは複数の名前に、および名前から IP アドレスに それぞれ変換する機能を提供します。 Linux からは、このような変換は専用の ソフトウエア bind を利用してサービスを提供します。この変換を行なうマシン のことを、 ネームサーバ と呼びます。 DNS における 名前は、各要素をピリオドで区切った階層構造になっています。この名前の階層 構造は、上述した IP アドレスの階層構造とは独立したものになっています。

jupiter.example.com のような完全な 名前は、 ホスト名.ドメイン のような書式で記述します。完全な名前は 完全修飾ドメイン名 と呼び、ホスト名とドメイン (example.com) から構成されます。また、ドメイン名には トップレベルドメイン (TLD) (com) が含まれます。

TLD の割り当ては歴史的な理由により、かなり複雑な仕組みになっています。 古くはアメリカで 3 文字のドメイン名が使用されていて、残りの国については 2 文字の ISO 国コードが標準として提供されていました。それに加えて、 2000 年からは長い TLD も提供されるようになりました。これらはドメイン名の 役割を示しているものです (たとえば .info, .name, .museum など) 。

インターネットの黎明期 (1990 年以前) では、 /etc/hosts ファイルを利用してインターネット上の全ホストの情報を保存していました。 これはインターネットに接続するコンピュータの数が急増していくことで、 現実的な解法ではなくなってしまいました。この理由により、世界中に分散させる 方法で分散型データベースを構築し、ホスト名を保存する仕組みが開発されました。 このデータベースはネームサーバに似た仕組みで、インターネット上の全ての ホストに関するデータを持つことはなく、その代わりに他のネームサーバに対して リクエストを投げることができる仕組みを備えていました。

階層構造の最上位は ルートネームサーバ によって占有 されています。これらのルートネームサーバはトップレベルドメインを管理 するもので、ネットワークインフォメーションセンター (NIC) が稼働させている サービスです。各ルートネームサーバは、それぞれのトップレベルドメインに対する ネームサーバ情報を知っていて、それらの情報を提供する役割を持っています。 トップレベルドメインの NIC について、詳しくは http://www.internic.net (英語) をお読みください。

DNS はホスト名を解決するだけのものではありません。ネームサーバは、 特定のドメインに対して電子メールを受信するホストが何であるのかを 知っている存在でもあります。このような情報を、 メールエクスチェンジャ (MX) と呼びます。

お使いのマシンから IP アドレスの解決を行なうためには、少なくとも 1 台の ネームサーバとその IP アドレスを知っておかなければなりません。 YaST からはネームサーバを簡単に設定することができます。ダイアルアップ接続の 場合は、ネームサーバの設定は手作業で行なう必要は全くありません。これは、 ダイアルアッププロトコル上で、接続が完了したときに自動でネームサーバの アドレスを取得するためです。 openSUSE® でのネームサーバの設定については、 13.4.1.4項 「ホスト名と DNS の設定」 をお読みください。ご自身で ネームサーバを立ち上げる場合は、 第15章 ドメインネームシステム をお読みください。

whois プロトコルは DNS との関連性が高いプロトコルです。 このプログラムを利用すると、指定したドメインの担当者の情報などを 素早く得ることができます。

[Note]MDNS と .local のドメイン名

.local トップレベルドメインは、 DNS 解決器側でリンク ローカルのドメインとして取り扱われます。 DNS のリクエストは通常の DNS リクエストではなく、マルチキャスト DNS として送信されます。すでにお使いの ネームサーバ設定で .local ドメインをお使いの場合は、 /etc/host.conf ファイルでこのオプションを無効に 設定しなければなりません。詳しい情報は host.conf のマニュアルページをお読みください。

また、インストール時に MDNS を使用しないように設定するには、起動パラメータに nomdns=1 を指定してください。

マルチキャスト DNS について、詳しくは http://www.multicastdns.org (英語) をお読みください。

13.4. YaST を利用したネットワーク接続の設定

Linux では、多種のネットワークに対応しています。これらのうちの多くは それぞれ異なるデバイス名を使用し、設定ファイルもファイルシステム内で 様々な箇所に存在しています。手作業によるネットワーク設定については、 13.6項 「手動でのネットワーク設定方法」 をお読みください。

ラップトップコンピュータ上にインストールを行なっている 場合 (既定で NetworkManager が有効になっているはずです) は、 YaST が検出された 全てのデバイスに対して設定を行ないます。 NetworkManager が有効になっていない 場合は、リンクの確立している (ネットワークケーブルが接続されている) 最初の デバイスだけを自動で設定します。その他のハードウエアについては、インストール 済みのシステムから必要なときに設定を行なうことができます。下記の章では、 openSUSE で対応している全てのネットワーク接続について、説明を行なって います。

13.4.1. YaST を利用したネットワークカードの設定

有線または無線ネットワークカードを YaST から設定するには、 ネットワークデバイス+ネットワークの設定 を選択してください。 モジュールが起動すると、 YaST は下記の 4 つのタブを含む ネットワーク設定 ダイアログを表示します: グローバルオプション, 概要, ホスト名/DNS, ルーティング

グローバルオプション タブでは、 NetworkManager を使用するか どうかや IPv6 を使用するかどうか、および DHCP オプション設定などの 一般的なネットワーク設定を行ないます。詳しくは 13.4.1.1項 「グローバルネットワーク設定」 をお読みください。

概要 タブでは、インストール済みのネットワーク インターフェイスとその設定が表示されています。正しく検出された全ての ネットワークカードを、その名前と共に表示しています。このダイアログから 新しいネットワークカードを手動設定することもできますし、削除や変更など を行なうこともできます。自動では検出されていないネットワークカードを 設定したい場合は、 13.4.1.3項 「未検出のネットワークカードの設定」 を お読みください。また、既に設定済みのネットワークカードについて、設定を 変更したい場合は、 13.4.1.2項 「ネットワークカードの設定変更」 をお読みください。

ホスト名/DNS タブでは、お使いのマシンのホスト名と 使用するネームサーバをそれぞれ設定します。詳しくは 13.4.1.4項 「ホスト名と DNS の設定」 をお読みください。

ルーティング タブでは、経路制御 (ルーティング) に 関わる設定を行ないます。詳しくは 13.4.1.5項 「ルーティング (経路制御) の設定」 をお読みください。

図13.3 ネットワークの設定

ネットワークの設定

13.4.1.1. グローバルネットワーク設定

YaST ネットワーク設定 モジュール内の グローバルオプション タブでは、 NetworkManager を使用するか どうかや IPv6 を使用するかどうか、および DHCP オプション設定などの 重要なグローバルネットワーク設定を行ないます。これらの設定は、全ての ネットワークインターフェイスに対して適用されます。

ネットワークの設定方法 では、ネットワークの接続を 管理するための方法を選択します。 NetworkManager のデスクトップアプレットを利用して 全てのインターフェイスの接続管理を行ないたい場合は、 NetworkManager を使ってユーザが制御 を選択してください。 このオプションは複数の有線/無線ネットワークを切り替える場合に便利な選択 です。デスクトップ環境 (GNOME や KDE) を使用しない環境であったり、 お使いのコンピュータが Xen サーバの仮想システムであったりした場合、 もしくはお使いのネットワークに対して DHCP や DNS などのネットワーク サービスを提供する環境の場合は、 ifup を使用した従来の方法 を選択してください。 NetworkManager を使用するよう選択すると、 nm-applet を利用してネットワークオプションを設定する ようになりますので、 ネットワーク設定 内の 概要, ホスト名/DNS, ルーティング の各タブは利用できなくなります。 NetworkManager についての詳しい情報は、 第25章 NetworkManager の使用 をお読みください。

IPv6 プロトコル設定 では、 IPv6 プロトコルを使用するか どうかを設定します。 IPv4 と IPv6 を同時に使用することもできます。 既定では IPv6 が有効に設定されていますが、 IPv6 を使用しないネットワーク 環境では、 IPv6 プロトコルを無効化したほうが処理を高速に行なうことができます。 IPv6 を無効化するには、 IPv6 を有効にする オプションの チェックを外してください。これにより、 IPv6 のカーネルモジュールを自動では 読み込まないようになります。設定はシステムの再起動後に反映されます。

DHCP クライアントオプション では、 DHCP クライアントの オプション設定を行ないます。 DHCP クライアント識別子 には、 ネットワーク内の DHCP クライアントを唯一に識別する識別子を入力します。 何も入力しなければ、既定でネットワークインターフェイスのハードウエアアドレス を利用します。ただし、お使いのマシンで同じネットワークインターフェイスを 使用する複数の仮想マシンを利用する場合は、ハードウエアアドレスが全て同じ ものになってしまうため、ここにそれぞれを識別するための情報を入力して ください。

送信するホスト名 では、 dhcpcd が DHCP サーバに送信する ホスト名のオプションフィールドを指定します。 DHCP サーバによっては、この ホスト名情報を元にしてゾーン情報 (正引きと逆引き) を更新したりすることがある (動的 DNS) ためのものです。また DHCP サーバによっては、 送信するホスト名 のオプションフィールドに対して、何らかの 文字列を設定する必要がある場合もあります。なお、この項目に AUTO を指定すると、現在のホスト名 (/etc/HOSTNAME に設定 したもの) を送信します。何も指定しない場合はホスト名を送信しないように なります。また、 DHCP サーバから提供されたデフォルトゲートウエイ情報を 利用しないようにするには、 DHCP で既定のルートを変更する のチェックを外してください。

13.4.1.2. ネットワークカードの設定変更

ネットワークカードの設定を変更するには、 YaST 内の ネットワーク設定+概要 から設定したいネットワークカードを選択し、 編集 を押します。 ネットワークカードの設定 ダイアログが表示されたら、 それぞれ 一般, アドレス, ハードウエア タブから設定を行ないます。無線 LAN カードの 場合について、詳しくは 24.5項 「YaST を利用した設定」 をお読みください。

13.4.1.2.1. IP アドレスの設定

ネットワークカードの設定 ダイアログ内の アドレス タブを利用すると、ネットワークカードの IP アドレスを設定することができるほか、 IP アドレスの決定方法を選択する こともできます。また、このタブは IPv4 と IPv6 の両方のアドレスに 対応しています。アドレスの設定方法は アドレスを設定しない (ボンド機能で使用します), 固定 IP アドレス (IPv4 と IPv6) を選択することができるほか、 可変 IP アドレス を選択した 場合は、さらにアドレスの設定方法を DHCP, Zeroconf のいずれか、もしくはその両方を選択することができます。

なお、 可変 IP アドレス を選択した場合は、さらに バージョン 4 のみでの DHCP (IPv4), バージョン 6 のみでの DHCP (IPv6), バージョン 4 と 6 の両方での DHCP (IPv4, IPv6 の両方) を選択することができます。

また、インストール時にリンクの確立したネットワークカードが存在した場合、 1 枚目のネットワークカードについては、 DHCP を利用した自動アドレス取得が 設定されます。 ラップトップコンピュータの場合は NetworkManager が自動的に 有効化され、全てのネットワークカードが設定されます。

DHCP の設定は、お使いのインターネット接続が DSL による接続契約になっていて、 ISP (インターネットサービスプロバイダ) から固定の IP アドレスを割り当てられて いない場合にも、使用する場合があります。 DHCP を使用する場合は、 YaST のネットワーク設定モジュールから、 ネットワーク設定 ダイアログの グローバルオプション 内、 DHCP クライアントオプション で詳細を設定してください。 同じインターフェイスを使用して、他のホストとも通信を行なう仮想ホスト設定を 利用する場合は、 DHCP クライアント識別子 の欄に適切な 値を入力し、これらを区別する必要があります。

DHCP はクライアントの設定には便利なオプションですが、サーバで使用する場合には 適切ではありません。固定の IP アドレスを設定するには、下記のようにして行ないます:

  1. YaST ネットワーク設定モジュールを起動し、表示されたダイアログ内で 概要 タブを選択します。すると検出されたカードの 一覧が表示されますので、設定したいネットワークカードを選択して、 編集 を押します。

  2. アドレス タブでは、 固定 IP アドレス を選択します。

  3. IP アドレス に設定したい IP アドレスを入力します。 IPv4 と IPv6 の両方のアドレスを設定することができます。さらに サブネットマスク にも値を入力します。 IPv6 アドレスを使用している場合は、 /64 のような 形でプレフィクス長を入力してください。

    またオプションで、このアドレスに対する完全修飾ホスト名を ホスト名 に入力することができます。ここに設定を 行なうと、 /etc/hosts 設定ファイルに書き込みが 行なわれます。

  4. 次へ を押します。

  5. 設定を有効にするには、さらに OK を押します。

固定アドレスを使用する場合は、ネームサーバとデフォルトゲートウエイの設定は 自動では行なわれません。ネームサーバを設定するには 13.4.1.4項 「ホスト名と DNS の設定」 の手順を、ゲートウエイの設定 を行なうには 13.4.1.5項 「ルーティング (経路制御) の設定」 の手順を それぞれお読みください。

13.4.1.2.2. 別名の設定

1 つのネットワークデバイスに対して複数のアドレスを割り当てることができます。 これを別名と呼びます。

[Note]互換機能としての別名設定

別名と呼ばれる機能は IPv4 でのみ利用されるものです。 IPv6 の場合は これらの設定は無視されます。 iproute2 を利用し、 ネットワークインターフェイスに対して複数のアドレスを設定してください。

YaST を利用してネットワークカードに別名を設定するには、下記のようにして 行ないます:

  1. YaST ネットワーク設定モジュールを起動し、表示されたダイアログ内で 概要 タブを選択します。すると検出されたカードの 一覧が表示されますので、設定したいネットワークカードを選択して、 編集 を押します。

  2. アドレス+追加アドレス タブ内で、 追加 を押します。

  3. それぞれ 別名, IP アドレス, ネットマスク を入力します。別名にはインターフェイス そのものの名前は入力しないでください。

  4. OK を押します。

  5. 続けて 次へ を押します。

  6. 設定を有効にするには、さらに OK を押します。

13.4.1.2.3. デバイス名と udev ルールの変更

ネットワークカードのデバイス名は、使用の際に名前を変更することが できます。 udev でネットワークカードを認識する際に、ハードウエア (MAC) アドレスか、もしくはバス ID で識別を行ないます。大規模なサーバで使用する 際には、カードの活線挿抜が簡単にできるようになりますので、後者のバス ID による識別をお勧めします。これらのオプションを YaST から設定するには、 下記のようにして行ないます:

  1. YaST ネットワーク設定モジュールを起動し、表示されたダイアログ内で 概要 タブを選択します。すると検出されたカードの 一覧が表示されますので、設定したいネットワークカードを選択して、 編集 を押します。

  2. ハードウエア タブを選択します。現在のデバイス名が udev ルール 内に表示されます。ここから 変更 を押します。

  3. udev のカード識別方法を、 MAC Address (MAC アドレス) または Bus ID (バス ID) から選択します。 それぞれ現在選択中のカードに対する MAC アドレスとバス ID が表示されて います。

  4. デバイス名を変更する場合は、 デバイス名の変更 を選択し、名前を編集してください。

  5. OK を押してから、 次へ を押します。

  6. 設定を有効にするには、さらに OK を押します。

13.4.1.2.4. ネットワークカードのカーネルドライバの変更

ネットワークカードによっては、複数のカーネルドライバの中から選択を行なう ことができるものがあります。カードが既に設定済みの場合は、 YaST を利用して 利用可能なカーネルドライバ内から選択することができます。また、カーネルドライバ に対するオプションを設定することもできます。 YaST を利用してこれらの オプションを設定するには、下記のようにして行ないます:

  1. YaST ネットワーク設定モジュールを起動し、表示されたダイアログ内で 概要 タブを選択します。すると検出されたカードの 一覧が表示されますので、設定したいネットワークカードを選択して、 編集 を押します。

  2. ハードウエア タブに移動します。

  3. まずは モジュール名 内で、使用するカーネルドライバを 選択します。また、 オプション の欄には必要なオプションを 入力します。オプションは オプション= の形式で入力してください。複数のオプションはスペースで区切ります。

  4. OK を押してから、 次へ を押します。

  5. 設定を有効にするには、さらに OK を押します。

13.4.1.2.5. ネットワークデバイスの有効化

ifup を利用した従来の方法を利用する場合には、お使いのデバイスを起動時に 有効にすることもできますし、ケーブル接続時やカードの検出時に有効にしたり、 手動による有効化を行なったり、さらには全く有効にしないこともできます。 デバイスの起動方法を変更するには、下記のようにして行ないます:

  1. YaST ネットワーク設定モジュールを起動し、表示されたダイアログ内で 概要 タブを選択します。すると検出されたカードの 一覧が表示されますので、設定したいネットワークカードを選択して、 編集 を押します。

  2. 一般 タブを選択し、 デバイスの有効化 内から起動方法を選択します。

    起動時 を選択すると、システム起動時に該当デバイスを 有効化します。 ケーブル接続時 を選択すると、 インターフェイスに対して物理的な接続が行なわれているかどうかを監視する ようになります。 ホットプラグ を選択すると、利用可能な 状態になるとすぐに該当デバイスを有効化します。これは 起動時 に似た設定ですが、システム起動時にインターフェイスが存在していなくても エラーにならない、という点で異なっています。 手動 の場合は、 ifup コマンドを利用して手動でインターフェイスを 有効化する意味になります。また、 開始しない を選択すると、 デバイスを全く有効化しなくなります。最後にある NFSroot起動時 に似たオプションですが、 rcnetwork stop コマンドを入力しても、インターフェイスが停止されないようになります。 この設定は、ルートファイルシステムに NFS や iSCSI をお使いの場合に ご利用ください。

  3. 次へ を押します。

  4. 設定を有効にするには、さらに OK を押します。

通常はシステム管理者のみが、ネットワークインターフェイスを有効にしたり 無効にしたりすることができます。 KInternet を利用して、一般のユーザから でもインターフェイスを操作できるようにしたい場合は、 Kinternet を利用して root 以外のユーザにもデバイス操作を許す を選択してください。

13.4.1.2.6. 最大転送単位 (MTU) の設定

インターフェイスに対して、最大転送単位 (MTU) を設定することができます。 MTU はパケットの最大サイズをバイト単位で設定するもので、大きく設定すれば するほど高速な通信回線での効率を上げることができます。しかしながら、 大きすぎる MTU を設定すると、次のパケットを送信するまでに時間がかかって しまい、かえって速度が遅くなってしまう場合もあります。

  1. YaST ネットワーク設定モジュールを起動し、表示されたダイアログ内で 概要 タブを選択します。すると検出されたカードの 一覧が表示されますので、設定したいネットワークカードを選択して、 編集 を押します。

  2. 一般 タブを選択し、 MTU を設定 の一覧から、適切な値を選択します。

  3. 次へ を押します。

  4. 設定を有効にするには、さらに OK を押します。

13.4.1.2.7. ファイアウオールの設定

項 「YaST を利用したファイアウオールの設定」 (第14章 マスカレードとファイアウオール, ↑セキュリティガイド) で示されているような 詳細なファイアウオール設定を行なわなくても、デバイス設定の一部として 基本的なファイアウオール設定を行なうことができます。具体的には 下記のようにして行ないます:

  1. YaST を開いて ネットワークデバイス+ネットワーク設定 モジュールを起動します。 概要 タブを選択し、検出されたカードの中から設定したい カードを選択して、 編集 を押します。

  2. ネットワークカードの設定 ダイアログから、 一般 タブを選択します。

  3. インターフェイスに設定したいファイアウオールゾーンを選択します。 下記のオプションを選択することができます:

    ファイアウオールを無効にする

    このオプションは、ファイアウオールが無効化されている場合にのみ表示 される項目で、ファイアウオールを全く起動しない場合に選択します。 このオプションは、別途に存在するファイアウオールによってネットワーク全体が 保護されている場合にのみ、選択してください。

    内部ゾーン (保護しない)

    ファイアウオールを起動するものの、このインターフェイスに対しては 特に何のルールも適用しない場合に選択します。このオプションは、別途に 存在するファイアウオールによってネットワーク全体が保護されている場合に のみ、選択してください。また、マシンに複数のインターフェイスが 存在していて、選択したインターフェイスが内部ネットワークに 接続されている場合にも便利な選択です。

    非武装ゾーン

    非武装ゾーンとは内部ネットワークと (敵が攻めてくる) インターネット の中間に位置する、追加の防御線を意味するものです。このゾーンの先に接続された ホストは、内部ネットワークとインターネットの両方からアクセスすることが できますが、それらのホストから内部ネットワークにはアクセスできません。

    外部ゾーン

    ファイアウオールをこのインターフェイス上で動作させ、攻撃に対する 完全な防御を設定します。この値が既定値になっています。

  4. 次へ を押します。

  5. 設定を有効にするには、さらに OK を押します。

13.4.1.3. 未検出のネットワークカードの設定

お使いのネットワークカードによっては、正しく検出できない場合があります。 この場合、検出済みのカード一覧に表示されなくなってしまいます。お使いの システムに適切なドライバが含まれている場合には、設定を手動で行なうことも できます。また、ブリッジやボンド, TUN, TAP などの特殊な種類のネットワーク デバイスを設定することもできます。未検出のネットワークカード (または特別なデバイス) を設定するには、下記のようにして行ないます:

  1. YaST から ネットワークデバイス+ネットワーク設定+概要 を開き、 追加 を押します。

  2. ハードウエアダイアログ 内では、まず デバイス種類設定名 を選択します。 設定しようとしているネットワークカードが PCMCIA や USB のデバイスで ある場合は、それぞれチェックボックスで選択を行ない、 次へ を押します。それ以外のネットワークカードの 場合、必要であればそのカードに使用するカーネルの モジュール名 を選択し、 オプション を入力します。

    Ethtool オプション の欄には、インターフェイスを起動する 際に ifup が使用する ethtool 向け のオプションを入力します。利用可能なオプションの一覧については、 ethtool のマニュアルページをお読みください。また、 オプション文字列が - で始まる場合 (たとえば -K インターフェイス名 rx on) は、 文字列内の 2 番目は現在のインターフェイス名に置き換えられます。 それ以外の場合 (たとえば autoneg off speed 10) 、 ifup-s インターフェイス名 として扱います。

  3. 次へ を押します。

  4. 一般, アドレス, ハードウエア の各タブを利用して、 IP アドレスや デバイスの有効化、そのインターフェイスに適用するファイアウオールゾーン などをそれぞれ設定します。これらの設定オプションについて、詳しくは 13.4.1.2項 「ネットワークカードの設定変更」 をお読みください。

  5. デバイスの種類に 無線 を選択した場合は、 次のダイアログで無線接続に関する設定を行ないます。

  6. 次へ を押します。

  7. 設定を有効にするには、さらに OK を押します。

13.4.1.4. ホスト名と DNS の設定

インストール時にネットワークの設定を変更せず、有線 LAN カードがその時点 から利用可能な状態であった場合、お使いのコンピュータに対するホスト名は 自動的に割り当てられ、 DHCP が有効化されます。ネームサービスに関する情報 についても同様です。お使いのネットワークカードに対する設定で DHCP を使用 すると、ネームサーバの設定は DHCP サーバからの情報が適用されます。 固定のネームサーバを設定したい場合は、そのように設定することもできます。

お使いのコンピュータの名前を変更したり、ネームサーバの設定と検索リストを 変更したりしたい場合は、下記のようにして行ないます:

  1. YaST の ネットワークデバイス モジュールを起動し、 ネットワーク設定+ホスト名/DNS タブを選択します。

  2. まずは ホスト名ドメイン名 を 入力します。ドメイン名については指定しなくてもかまいません。また ドメイン名は、このマシンがメールサーバである場合に、特に重要な設定です。 なお、ホスト名はグローバル設定で、全てのネットワークインターフェイスに 対して適用されることにご注意ください。

    IP アドレスの取得に DHCP を利用している場合、お使いのコンピュータに 対するホスト名を DHCP 経由で自動取得することができます。異なるネットワーク に接続することで別のホスト名が設定されてしまい、グラフィカルなデスクトップ 環境を利用する場合に混乱してしまうような場合には、このような動作を無効化する こともできます。 IP アドレスを DHCP 経由で取得している環境で、ホスト名を 変更したくない場合は、 DHCP でホスト名を変更 のチェックを 外してください。

    ホスト名をループバック IP に割り当てる を選択すると、 /etc/hosts ファイル内で 127.0.0.2 (ループバック) のアドレスに設定したホスト名が 記入されるようになります。これは有効なネットワーク接続がないような状況でも ホスト名を解決したい場合に便利な機能です。

  3. DNS 設定の修正 では、 DNS 設定 (ネームサーバ、 検索リストなどの /etc/resolv.conf ファイルの内容) の変更方法を選択することができます。

    既定のポリシーを使用する を選択すると、設定は netconfig スクリプトで処理され、手動で設定したデータ (YaST や設定ファイルで設定したもの) と動的に取得したデータ (DHCP クライアントや NetworkManager などで設定したもの) を合成して使用します。 既定のポリシーは、ほとんどの環境で適切な選択です。

    手動のみ を選択すると、 netconfig スクリプトは /etc/resolv.conf ファイルを修正できなく なります。手動での (エディタなどでの) 編集は通常どおり行なうことができます。

    カスタムポリシーを使用する を選択すると、手動設定と 自動設定の合成方法を指定する、 カスタムポリシールール 文字列を設定することができるようになります。文字列はインターフェイス名を カンマ区切りで指定するもので、正しい設定元であるものと判断するインターフェイス を指定します。インターフェイス名にはワイルドカードを指定することもできます。 たとえば eth* ppp? を指定すると、最初に全てのイーサネット デバイス (eth) を対象にし、その後に ppp0 から ppp9 までのインターフェイスを 対象とします。これ以外にも、 /etc/sysconfig/network/config ファイルで指定する手動設定との合成方法について、 2 種類の特別なポリシー設定が 存在します:

    STATIC

    手動設定と動的な設定の両方を合成するルールです。

    STATIC_FALLBACK

    動的な設定が利用できない場合にのみ、手動設定を利用するルールです。

    詳しい情報は man 8 netconfig で表示されるマニュアルページを お読みください。

  4. それぞれ ネームサーバドメイン検索 に入力を行ないます。ネームサーバは 192.168.1.116 などの形で、ホスト名ではなく IP アドレスで指定しなければなりません。 ドメイン検索 の枠内 には、ドメインを指定せずにホスト名だけを指定した場合に自動的に補完する ドメイン名を指定します。 ドメイン検索 に複数のドメインを 指定する場合は、カンマか空白で区切ってください。

  5. 設定を有効にするには、 OK を押します。

13.4.1.5. ルーティング (経路制御) の設定

お使いのマシンから他のネットワーク上にあるマシンと通信を行ないたい場合は、 ネットワーク通信が正しい経路を通るようにするため、ルーティング (経路) 情報を 設定しなければなりません。 DHCP を利用している場合、ルーティング情報は 自動的に設定されます。手動設定を使用している場合は、この設定も手動で 行なわなければなりません。

  1. YaST から ネットワーク設定+ルーティング を選択します。

  2. それぞれ デフォルトゲートウエイ に IP アドレスを設定します (IPv4 および IPv6 (必要である場合のみ) に設定します) 。デフォルトゲートウエイは その他のルーティング情報に該当しなかった場合にのみ利用されるもので、該当する その他のルーティング情報が存在した場合には、デフォルトゲートウエイの代わりに、 そちらの情報が使用されます。

  3. ルーティングテーブル には、必要なだけルーティング情報を 入力することができます。それぞれ 宛先 のネットワークの IP アドレスと ゲートウエイ の IP アドレス、および ネットマスク を設定してください。 また、指定した宛先にたどり着くための デバイス を指定する こともできます (任意のデバイスを使用させたい場合は、マイナス記号を選択して ください) 。 これらの値のうちのいずれかを省略したい場合は、いずれもマイナス記号 - を指定してください。一覧内にデフォルトゲートウエイ を設定したい場合は、 宛先default と記入してください。

    [Note]

    複数のデフォルトゲートウエイを設定する場合は、それぞれの優先順位を設定する ためにメトリックと呼ばれる値を設定することができます。メトリックのオプション を設定するには、 オプション の項目内に - metric 数値 と入力してください。 数値が少ないほど優先順位が高いものとなり、最も高い優先順位を持つ経路が 既定で使用されるようになります。ネットワークデバイスの接続が切れた場合は、 そのルーティング情報は削除され、次点の候補が使用されます。 ただし、現在のカーネルでは静的なルーティング設定でメトリックを使用することは ありません。 multipathd などのルーティングデーモンを利用した場合にのみ有効です。

  4. なお、お使いのシステムをルータとして機能させる場合は、 ネットワーク設定 内の IP 転送を有効にする を選択してください。

  5. 設定を有効にするには、 OK を押します。

13.4.2. モデム

YaST コントロールセンターからは、 ネットワークデバイス+モデム を選択することで、モデム設定を 行なうことができます。お使いのモデムが自動で検出されない場合は モデムデバイス のタブに移動し、 追加 を押して手動設定を行なってください。手動設定では、 モデムデバイス の欄にモデムの接続されているインターフェイスを 指定します。

[Tip]CDMA モデムと GPRS モデム

YaST から、対応している CDMA および GPRS モデムを設定する場合は、 通常のモデムと同様に モデム モジュールから設定を 行ないます。

図13.4 モデムの設定

モデムの設定

お使いの電話回線が構内交換機 (PBX) 内に設置されている回線である場合は、 ダイアルプレフィクスを入力する必要がある場合があります。通常は 0 を指定 しますが、詳しくは PBX に添付されている手順書をお読みください。また、 ダイアルモードとしてトーンまたはパルスを選択することができるほか、ダイアル トーンを検出するかどうかを設定することもできます。このほか、交換機に 接続されている環境の場合は、ダイアルトーン検出を無効に設定する必要があります。

また、 詳細 ボタンを利用すると、ボーレートやモデムの 初期化文字列などを設定することができます。お使いのモデムが自動で検出 されなかったり、データ転送を働かせるために特殊な設定が必要なモデムであったりする 場合にのみ設定を変更してください。これは主に ISDN のターミナルアダプタの 場合に当てはまります。詳細ダイアログを終了するには、 OK を押します。また、 root の権限を与えることなく一般ユーザにモデムの操作を 許可するには、 KInternet を利用して root 以外のユーザにもデバイス 操作を許す を選択してください。この場合、管理者権限を持たない ユーザでもインターフェイスの有効化と無効化を行なうことができるようになります。 さらに ダイヤルプレフィクス正規表現 では正規表現を 指定します。一般ユーザでも修正することのできる KInternet 内の ダイヤルプレフィクス は、この正規表現にマッチして いなければならない、という制約が課せられます。この項目に何も記入しない 場合は、管理者権限がないと異なる ダイヤルプレフィクス を設定することができなくなります。

次のダイアログでは ISP を選択します。まずはご利用の を選択すると、事前に設定されている一覧から ISP を選択することができます。 また 新規 を押すと、ご利用になる ISP のデータを独自に入力 することもできます。独自入力を行なう場合は、ご利用の ISP の名称と電話番号、 ログイン名とパスワードをそれぞれ入力してください。また、 常にパスワードを尋ねる を選択すると、接続するたびに パスワードを尋ねる動作になります。

最後のダイアログでは、追加の接続オプションを指定します:

ダイヤルオンデマンド

ダイヤルオンデマンド を選択すると、必要に応じてダイヤル アップ接続を行なうようになります。また、この機能を設定する場合は、 1 つ 以上のネームサーバを設定してください。なお、インターネットへのデータ要求を 定期的に行なう種類のソフトウエアが存在することから、インターネット接続の 課金がそれほど高くない環境でのみご利用になることをお勧めします。

接続時に DNS を変更する

このオプションを選択すると、インターネットに接続するごとにネームサーバの アドレスを更新するようになります。この設定は既定で有効になっています。

自動的に DNS 情報を取得する

お使いのプロバイダが接続時にドメインネームサーバの設定を送信しない場合、 このオプションの選択を外して DNS を手動で設定してください。

自動再接続

このオプションを選択すると、接続が切れると自動的に再接続を行なうように なります。

プロンプトの無視

このオプションを選択すると、ダイアルアップサーバに接続した際に検出される プロンプトを無視するようになります。接続が遅かったり全く動作しなかったり した場合は、このオプションを試してみてください。

外部ファイアウオールインターフェイス

このオプションを選択すると、ファイアウオールを有効化して外部インターフェイス として登録するようになります。これを利用すると、インターネット接続の利用中に 受けた攻撃から、身を守ることができるようになります。

無通信タイムアウト (秒)

このオプションは、何もネットワーク上の通信を行なわなかった場合に、モデムの 接続を自動で切断するための設定です。

IP の詳細

これを押すと、アドレス設定のダイアログが開きます。お使いの ISP が接続 したホストに対して動的な IP アドレスを割り当てない場合は、 可変 IP アドレス のチェックを外して、独自のローカル IP アドレスと リモートの IP アドレスを入力します。詳しくはお使いのプロバイダにご確認 ください。 デフォルトルート については有効に設定した まま、 OK を押してダイアログを閉じてください。

次へ を押すと元のダイアログに戻り、モデム設定の概要が 表示されます。最後に OK を押すと、ダイアログを閉じる ことができます。

13.4.3. ISDN

このモジュールを利用することで、お使いのシステムにある 1 つまたは複数の ISDN カードを設定することができます。 YaST で ISDN カードを認識しない 場合は、 ISDN デバイス タブ内にある 追加 ボタンを押して、手動でカードを追加してください。 複数のインターフェイスを設定することができますが、複数の ISP を 1 つの インターフェイスに設定することはできません。続いて表示されるダイアログで、 カードの動作に必要な ISDN オプションを設定します。

図13.5 ISDN の設定

ISDN の設定

図13.5「ISDN の設定」 に示しているとおり、次のダイアログでは 使用するプロトコルを選択します。既定は Euro-ISDN (EDSS1) ですが、古い交換機や大きな交換機を使用するような場合は、 1TR6 を選択してください。また、アメリカ国内でお使いの場合は、 NI1 を選択してください。続いて国を選択すると、適切な国コードが項目に記入されます。 最後に、必要に応じて 市外局番ダイヤルプレフィクス を入力してください。 ISDN の 通信について全ての記録をとりたくない場合は、 ISDN 記録を開始する のチェックを外してください。 option.

また、 デバイスの有効化 では、 ISDN インターフェイスの 開始方法を指定することができます: 起動時 を選択すると、 システムの起動時に ISDN デバイスを初期化するようになります。 手動 を選択した場合は、 ISDN ドライバを読み込むのに root から rcisdn start を実行しなければならなくなります。 PCMCIA や USB のデバイスに対して設定する ホットプラグ では、 デバイスが接続されたときにドライバを自動で読み込むようになります。 これらの設定を行ない、 OK を押します。

次のダイアログでは ISDN カードのインターフェイス種類を指定するほか、既存の インターフェイスに対して ISP を追加することもできます。インターフェイスは SyncPPP, RawIP のうちから 選択しますが、多くの ISP は下記で説明するとおり SyncPPP モードで動作します。

図13.6 ISDN インターフェイス設定

ISDN インターフェイス設定

次に、 自分の電話番号 を入力します。これはお使いの環境に よって入力する値が異なります:

回線に直接接続された ISDN カードの場合

標準の ISDN 回線では、 3 種類の電話番号 (複数契約者番号、 MSN とも 呼びます) が用意されています (翻訳者注: 日本国内では、別途契約しない 限り 1 種類の電話番号だけになります) 。契約者が申し込むことで、最大 10 種類までの番号を用意することができます (翻訳者注: 日本国内では 最大 3 種類までです) 。この項目には、これらのうちのいずれかの番号を 入力しますが、市外局番は含めずに入力してください。正しくない番号を 入力した場合は、お使いの ISDN に割り当てられている最初の番号が 自動的に使用されます。

構内交換機 (PBX) に接続された ISDN カードの場合

利用している機器によって、設定方法が異なります:

  1. 家庭用などの小規模の交換機 (PBX) の場合、多くは内部の呼び出しに Euro-ISDN (EDSS1) プロトコルを使用しています。これらの交換機は内部に S0 バスが存在し、機器の呼び出しには内部番号を使用します。

    この場合は、内部番号のうちのいずれかを電話番号として設定してください。 直接の外部発信に対応するよう設定されている交換機であれば、交換機側の 電話番号を使用することもできます。この設定でうまくいかない場合は、 電話番号として 1 桁だけの "0" を設定してみてください。 詳しい情報は、お使いの交換機に付属している文書をお読みください。

  2. 企業用などの大規模な構内交換機の場合は、内部の呼び出しに 1TR6 プロトコルを使用しています。これらの電話番号は EAZ と呼ばれ、通常は 外線番号と対応した番号になっています。 Linux では、 EAZ の最後の 1 桁を指定します。うまくいかない場合は、 1 から 9 までの各番号を 試してみるのもよいでしょう。

次の課金タイミングになる前に回線を切断したい場合は、 ChargeHUP を選択してください。ただし、この機能は全ての ISP で動作するというわけでは ないことにご注意ください。また、これ以外にも チャネルを束ねる を設定することで、マルチチャンネル設定 (マルチリンク PPP) を設定することが できます。さらに 外部ファイアウオールインターフェイスファイアウオールの再起動 を選択することで、回線接続に対して ファイアウオールを設定することもできますし、 KInternet を利用して root 以外のユーザにもデバイス操作を許す を選択すると、管理者権限の ない一般ユーザからでもインターフェイスの有効化/無効化を行なうことができる ようになります。

詳細 を押すと、一般家庭の環境ではあまり使用しない、より 細かい設定画面を開くことができます。 OK ボタンを押すと 詳細 ダイアログを終了することができます。

次のダイアログでは、 IP アドレス関連の設定を行ないます。お使いのプロバイダ から固定の IP アドレスを割り当てられている場合を除き、 可変 IP アドレス を選択してください。割り当てがある場合は、 ISP の提供 情報に従ってローカルとリモートの IP アドレスをそれぞれ入力してください。 また、このインターフェイスをインターネットに対する既定のルートに設定したい 場合は、 デフォルトルート を選択します。各ホストには 既定のルートに設定するインターフェイスを 1 つだけ設定できます。 設定が終わったら、 次へ を押します。

次のダイアログでは国とプロバイダを選択することができます。一覧には、 迂回ダイヤルサービス (call-by-call や dial around service と呼ばれる場合も あります) に対応したプロバイダのみが掲載されています。お使いの ISP が 一覧に存在しない場合は、 新規 を押してください。すると プロバイダパラメータ ダイアログが開き、 ISP に関する 情報を入力できるようになります。なお電話番号を入力する際は、番号の途中に 空白やカンマを入れないでください。最後に ISP から提供されているユーザ名と パスワードを入力します。設定が終わったら 次へ を押します。

単独のワークステーションで ダイヤルオンデマンド (必要なときにダイヤルする) を行なうには、ネームサーバ (DNS サーバ) の設定も 必要です。多くの ISP では動的な DNS 設定に対応していて、ネームサーバの IP アドレスは ISP への接続時に取得することができるようになっています。単独の ワークステーションの場合は、ダミーデータとして 192.168.22.99 のようなアドレスを 設定しておく必要があります。お使いの ISP が動的な DNS に対応していない場合、 ISP 側のネームサーバの IP アドレスを設定してください。また、必要であれば 無通信タイムアウトを設定することもできます。これは、何もネットワーク上の 通信を行なわなかった場合に、接続を自動で切断するための設定 (秒単位) です。 さらに 次へ を押してください。 YaST はインターフェイスの 設定概要を表示します。表示された設定を適用するため、最後に OK を押してください。

13.4.4. ケーブルモデム

国によっては、インターネットへの接続を行なう手段としてケーブル TV のネットワークを 利用するのが一般的である場合があります。ケーブル TV の契約者は、一方を TV ケーブルに接続し、他方をコンピュータのネットワークカード (10Base-T の ツイストペアケーブル) に接続するタイプのモデムを受け取ります。そのモデムは ケーブルモデムと呼び、固定または可変の IP アドレスが割り当てられる種類の、 専用線によるインターネット接続が提供されます。

お使いのネットワークカードを設定する際には、お使いの ISP が提供する手順に 従って設定し、 可変 IP アドレス または 固定 IP アドレス のいずれかを選択してください。現在、多くのプロバイダ では DHCP を利用していますが、特別なビジネスアカウントを取得することで 固定の IP アドレスが割り当てられる場合もあります。

13.4.5. DSL

DSL デバイスを設定するには、 YaST の ネットワークデバイス 内にある DSL モジュールを選択してください。この YaST モジュールには、それぞれ下記のプロトコルに対応した、 DSL リンクのパラメータ 設定ダイアログが含まれています:

  • PPP over Ethernet (PPPoE)

  • PPP over ATM (PPPoATM)

  • CAPI for ADSL (Fritz カード)

  • Point-to-Point Tunneling Protocol (PPTP) (オーストリア)

DSL の設定概要 ダイアログ内の DSL デバイス タブには、設定済みの DSL デバイスの一覧が表示されて います。 DSL デバイスの設定を変更するには、一覧からデバイスを選択して 編集 を押してください。新しい DSL デバイスを手動で 追加する場合は、 追加 を押してください。

PPPoE や PPTP をベースにした DSL 接続の設定では、接続を行なうネットワーク カードの設定を正しく行なっておく必要があります。ネットワークカードの設定を 行なっていない場合は、まず ネットワークカードの設定 を 押して設定を行なってください (詳しくは 13.4.1項 「YaST を利用したネットワークカードの設定」 をお読みください) 。 DSL 接続の場合、アドレスは DHCP ではない手段で自動配布 される場合がありますが、 可変 IP アドレス を選択せず、 その代わりに、 192.168.22.1 のようなダミーの固定 IP アドレスを指定してください。また、サブネットマスク にもダミーの値 255.255.255.0 を 指定してください。単独のワークステーションで利用している場合は、 デフォルトゲートウエイ を設定する必要はありません。

[Tip]

IP アドレスサブネットマスク の 値は、いずれもダミーの値です。ネットワークカードの起動を行なうために必要な 設定であり、 DSL の接続設定とは無関係です。

最初の DSL 設定ダイアログ (図13.7「DSL の設定」) では、 PPP モード と DSL モデムが接続されている Ethernet カード をそれぞれ選択します (多くの場合、 eth0 を選択します)。その後、 システムの起動時に DSL リンクを確立させるかどうかを指定する、 デバイスの有効化 を選択します。また、 KInternet を利用して root 以外のユーザにもデバイス操作を許す を選択すると、 KInternet 経由で root 権限のない一般ユーザがインターフェイス の有効化/無効化を行なうことができるようになります。

次のダイアログでは国とプロバイダを選択することができます。この次の DSL 設定ダイアログは、これまでに選択したオプションによって異なります。 利用可能なオプションについての詳細は、ダイアログ内から利用できるヘルプを お読みください。

図13.7 DSL の設定

DSL の設定

単独のワークステーションで ダイヤルオンデマンド (必要なときにダイヤルする) を行なうには、ネームサーバ (DNS サーバ) の設定も 必要です。多くの ISP では動的な DNS 設定に対応していて、ネームサーバの IP アドレスは ISP への接続時に取得することができるようになっています。単独の ワークステーションの場合は、ダミーデータとして 192.168.22.99 のようなアドレスを 設定しておく必要があります。お使いの ISP が動的な DNS に対応していない場合、 ISP 側のネームサーバの IP アドレスを設定してください。

また、 無通信タイムアウト (秒) を設定することもできます。 これは、何もネットワーク上の通信を行なわなかった場合に、接続を自動で切断する ための設定 (秒単位) です。通常のタイムアウトは 60 から 300 秒程度を指定します。 ダイヤルオンデマンド を有効にしていない場合は、この タイムアウト値をゼロに設定することで、自動切断を無効化することができます。

T-DSL の設定は、 DSL の設定によく似ています。プロバイダとして T-Online を選択すると、 YaST は T-DSL の設定ダイアログ を表示します。このダイアログから、 T-DSL に必要ないくつかの追加情報 (ライン ID, T-Online 番号, ユーザコード, パスワード) を入力してください。 これらの情報は、 T-DSL の契約時に受け取った中に含まれているものを入力します。

13.5. NetworkManager

NetworkManager はラップトップ機やその他の可搬型コンピュータをご利用の場合は便利な ツールです。 NetworkManager を利用することで、移動中にネットワークが切り替わっても ネットワークインターフェイスの設定やその切り替えについて、心配する必要が なくなります。

13.5.1. NetworkManager と ifup

NetworkManager は全ての環境において便利なものとは言えませんが、ネットワーク接続管理を 行なうにあたって、従来の方法 (ifup) と NetworkManager のどちらを利用するのか、選択する だけの価値はあります。 NetworkManager でお使いのネットワーク接続を管理したい場合は、 25.2項 「NetworkManager の有効化と無効化」 に書かれている手順で YaST のネットワーク 設定モジュールを起動し、 NetworkManager を有効に設定してください。あとは NetworkManager で ネットワークの設定を行なうだけです。 NetworkManager の用途と設定手順の説明について、 詳しくは 第25章 NetworkManager の使用 をお読みください。

ifup と NetworkManager には下記のような違いがあります:

root 権限

ネットワークの設定に NetworkManager を使用する場合、お使いのデスクトップ環境内にある アイコンを利用することで、自由にネットワークを切り替えたり停止したり、 起動したりすることができます。また NetworkManager では、 root 権限を必要とする ことなく無線ネットワークカードの接続設定を行なうことができます。このため、 モバイルワークステーション環境の場合 NetworkManager は申し分のない解法となるでしょう。

ifup による従来の設定方法でも、ユーザ管理デバイスのように介入無しに接続を切り替えたり 停止したり、開始したりすることができます。しかしながら、この方法ではネットワーク デバイスの変更や設定には root の権限が必要となります。これは特に、 事前に接続する可能性のある全てのネットワークを設定しなければならないという 点で、モバイル環境の場合に問題となります。

ネットワーク接続の種類

従来の方法でも NetworkManager でも、無線ネットワーク (WEP, WPA-PSK, WPA-Enterprise でのアクセス) やダイアルアップ、有線の設定を取り扱うことができます。 DHCP や固定のアドレス設定、 VPN 経由の接続にも対応しています。 NetworkManager を利用する場合は、モバイルブロードバンド (3G) モデム を利用した接続を行なうこともできます。こちらは従来の方法では利用 できません。

NetworkManager は利用可能なネットワーク接続から、最も良いものを常に選択してつなぎ 続けるように動作します。ネットワークケーブルが誤って外されてしまった場合 でも、再接続を試みるようになっています。また無線接続の場合は、設定された 無線接続の中から最も信号品質の良いネットワークを判断して自動接続する仕組み を備えています。 ifup で同じ機能を利用するには、様々な設定を施さなければ 実現できません。

13.5.2. NetworkManager の機能と設定ファイル

NetworkManager での個別のネットワーク設定は設定プロファイルに保存されます。 NetworkManager または YaST で設定した システム 接続は、 /etc/networkmanager/system-connections/* または /etc/sysconfig/network/ifcfg-* ファイル内に保存されます。 ユーザ側で設定した接続は、 GNOME の場合は GConf 内に

何もプロファイルを設定していない場合、 NetworkManager は自動的にプロファイルを作成し、 Auto $INTERFACE-NAME の名前を設定します。これにより、 できる限り多くの場合において設定作業を行なうことなく、安全な設定を使用する ことができるようになっています。自動で作成された設定が要件にあわない場合は、 KDE や GNOME が提供するネットワーク接続設定ダイアログを利用して、必要な 設定作業を行なってください。詳しくは 25.3項 「ネットワーク接続の設定」 をお読みください。

13.5.3. NetworkManager の機能のコントロールと無効化

集中管理されているマシンでは、一部の NetworkManager 機能が操作されていたり、無効化されて いたりする場合があります。たとえば管理者が設定した接続をユーザ側で修正すること を許すかどうかや、ユーザ側で独自のネットワーク設定を作成することができるかどうか などがあります。 NetworkManager でのポリシー設定を閲覧したり変更したりするには、 PolKit 向けのグラフィカルな 認可 ツールを起動してください。左側の ツリーで network-manager-settings の項目を選択して設定を 行ないます。

下記に nm; に関連する PolKit の識別子の概要を示します:

表13.5 NetworkManager における PolKit の識別子

識別子

説明

org.freedesktop.NetworkManager.enable-disable-network

システムのネットワーク接続の有効化/無効化。

org.freedesktop.NetworkManager.sleep-wake

NetworkManager をスリープ状態にする、もしくはスリープを解除する。

org.freedesktop.NetworkManager.enable-disable-wwan

モバイルのブロードバンドデバイスを有効化/無効化する。

org.freedesktop.NetworkManager.enbale-disable-wimax

WiMAX モバイルブロードバンドデバイスを有効化/無効化する。

org.freedesktop.NetworkManager.network-control

ネットワーク接続の制御を許可する。

org.freedesktop.NetworkManager.enable-disable-wifi

WiFi デバイスを有効化/無効化する。

org.freedesktop.NetworkManager.settings.modify.hostname

固定で設定されているホスト名の修正。

org.freedesktop.network-manager-settings.modify.system

全てのユーザに対して設定された接続の修正。

org.freedesktop.network-manager-settings.modify.own

個人用のネットワーク接続の修正。

org.freedesktop.network-manager-settings.system.wifi.share.open

オープンな WiFi ネットワークを介した接続共有。

org.freedesktop.network-manager-settings.system.wifi.share.protected

保護された WiFi ネットワークを介した接続共有。


13.6. 手動でのネットワーク設定方法

手動でのネットワーク設定は最後の手段として用意されているものです。 特に問題がない限り、 YaST での設定をお勧めします。しかしながら、 YaST でのネットワーク設定を行なうにあたり、基礎になっている情報を 知っておくと、より便利に利用することができると考えています。

カーネルがネットワークカードを検出して関連するネットワークインターフェイスを 作成すると、デバイスの認識順序とカーネルモジュールの読み込み順序に従って デバイス名が割り当てられます。規定でカーネルが割り当てる名前は非常に単純に 推測できるもので、ハードウエア環境の変更を難しくしてしまっています。稼働中に ハードウエアを追加したり削除したり、もしくはデバイスの設定を自動化している ようなシステムでは、再起動を行なうたびにデバイス名が異なることになってしまい、 安定したデバイス名の割り当てを期待することができません。

しかしながら、全てのシステム設定ツールはインターフェイス名を基準にして設定を 管理しています。このような問題を解決するのが udev です。 udev の固定ネットワーク デバイス生成の機能 (/lib/udev/rules.d/75-persistent-net-generator.rules) を利用すると、条件に該当するハードウエア (規定ではハードウエアアドレスを 使用します) に対して、固定のインターフェイス名を割り当てることができます。 udev のネットワークインターフェイスに対するデータベースは、 /etc/udev/rules.d/70-persistent-net.rules ファイル内に 保存されます。上記ファイルの各行には単一のネットワークインターフェイス名と、 そのインターフェイスに割り当てる固定の名前が記述されています。システム管理者は NAME="" の項目を編集することで、割り当てられた名前を変更 することができます。それぞれの設定は YaST から変更を行なうこともできます。

表13.6「手動ネットワーク設定を行なう場合の関連スクリプト」 には、ネットワーク設定に関する最も重要な スクリプトファイルを列挙しています。

表13.6 手動ネットワーク設定を行なう場合の関連スクリプト

コマンド

機能

ifup, ifdown, ifstatus

if スクリプトはネットワークインターフェイスの起動や 停止、および指定したインターフェイスの状態確認を行なうためのスクリプト です。詳しくは ifup のマニュアルページを お読みください。

rcnetwork

rcnetwork スクリプトは全てのネットワークインターフェイス (または指定した 1 つのインターフェイス) を起動したり停止したりするために、 使用するスクリプトです。 rcnetwork stop でネットワーク インターフェイスの停止を、 rcnetwork start で起動を、 rcnetwork restart で再起動をそれぞれ行ないます。 なお、ある 1 つのネットワークインターフェイスだけ停止や起動、再起動を 行ないたい場合は、コマンドの後ろにインターフェイス名を指定してください。 たとえば rcnetwork restart eth0 のようになります。 また、 rcnetwork status コマンドでは、インターフェイス の状態と IP アドレス、および DHCP クライアントの稼働状態がそれぞれ表示 されます。さらに rcnetwork stop-all-dhcp-clientsrcnetwork restart-all-dhcp-clients では、それぞれ 全てのネットワークインターフェイスに対して動作している DHCP クライアントを 停止したり、再起動したりすることができます。


udev と固定のデバイス名について、詳しくは 第12章 udev による動的なカーネルデバイス管理 をお読みください。

13.6.1. 設定ファイル

本章には、ネットワーク関連の設定ファイルとそれらの目的説明、および 使用する書式について説明を行なっています。

13.6.1.1. /etc/sysconfig/network/ifcfg-*

これらのファイルはネットワークインターフェイスの設定ファイルです。 開始モードや IP アドレスなどの設定が書かれています。利用可能なパラメータ については、 ifup のマニュアルページをお読み ください。また、特定のインターフェイスに対してだけ一般的な設定を行ないたい 場合は、 dhcp, wireless にある ほとんどの値を ifcfg-* ファイルで設定することができます。 なお、 /etc/sysconfig/network/config 内にある多くの 値はグローバル設定であるため、 ifcfg ファイルでは上書きすることができません。 たとえば NETWORKMANAGERNETCONFIG_* の値などがグローバル設定です。

また、 ifcfg.template ファイルについては、 13.6.1.2項 「/etc/sysconfig/network/config, /etc/sysconfig/network/dhcp, /etc/sysconfig/network/wireless を お読みください。

13.6.1.2. /etc/sysconfig/network/config, /etc/sysconfig/network/dhcp, /etc/sysconfig/network/wireless

config ファイルは、 ifup, ifdown, ifstatus の各ファイルの 動作に関して、一般的な設定を行なうためのファイルです。 また、 dhcp ファイルには DHCP の設定が、 wireless ファイルには無線 LAN カードの設定がそれぞれ 書かれています。これら 3 種類のファイルで利用する設定は、それぞれコメント 内に書かれています。また、 /etc/sysconfig/network/config ファイル内の設定値のうちのいくつかを ifcfg-* で 利用することができます。 ifcfg-* 側に設定値を入力した 場合は、 config よりも優先されます。 なお、 /etc/sysconfig/network/ifcfg.template ファイルでは、 インターフェイス単位で利用可能な設定値の一覧を示しています。 しかしながら、多くの /etc/sysconfig/network/config にある多くの変数はグローバル設定で、 ifcfg-* ファイルでは 上書きできないことにご注意ください。たとえば NETWORKMANAGERNETCONFIG_* がグローバル設定です。

13.6.1.3. /etc/sysconfig/network/routes/etc/sysconfig/network/ifroute-*

このファイルには、スタティックルート (静的な経路情報) を設定します。 様々なシステム処理で必要な全てのスタティックルートを、 /etc/sysconfig/network/routes ファイルに設定することが できます: ホストへの経路のほか、ゲートウエイ経由のホスト経路、ネットワーク への経路などがあります。各インターフェイスに対して個別の経路を設定する必要が ある場合は、追加の設定ファイル /etc/sysconfig/network/ifroute-* を作成してください。ここで、 * にはインターフェイスの 名前を入力します。経路設定ファイルの設定は、たとえば下記のようになります:

# Destination     Dummy/Gateway     Netmask            Device
#
127.0.0.0         0.0.0.0           255.255.255.0      lo
204.127.235.0     0.0.0.0           255.255.255.0      eth0
default           204.127.235.41    0.0.0.0            eth0
207.68.156.51     207.68.145.45     255.255.255.255    eth1
192.168.0.0       207.68.156.51     255.255.0.0        eth1

最初の列には経路の宛先が示されています。ネットワークやホストの IP アドレス のほか、ネームサーバに 接続できる 環境であれば、 完全修飾ドメイン名 (FQDN) やホスト名を利用することもできます。

2 列目には、既定のゲートウエイまたは特定のホストやネットワークに到達する ためのゲートウエイが書かれています。 3 列目にはネットワークのネットマスクか、 もしくはゲートウエイの向こう側にあるホストが書かれています。たとえば ゲートウエイの向こう側にあるホストを設定する場合、 マスクは 255.255.255.255 になります。

4 列目はループバックやイーサネット, PPP やダミーデバイスなどに接続されて いるネットワークでのみ意味を持つものです。ここにはデバイス名を入力します。

(オプションで) 5 つめの列に入力することもできます。ここでは経路の種類を設定 します。この列にはパーサーが正しくコマンドを解釈するために利用する、 - 記号を設定する必要はありません。詳しくは routes(5) のマニュアルページをお読みください。

IPv4 および IPv6 向けには、下記の統合フォーマットを利用することができます:

プレフィクス/長さ     ゲートウエイ -            [インターフェイス]

また、下記のような互換フォーマットを利用することもできます:

プレフィクス            ゲートウエイ 長さ       [インターフェイス]

IPv4 に対しては、ネットマスクを利用した古い形式を利用することもできます:

IPv4 ネットマスク      ゲートウエイ IPv4 ネットマスク [インターフェイス]

それぞれ下記に示す例が等価な表現になります:

2001:db8:abba:cafe::/64 2001:db8:abba:cafe::dead  -            eth0
208.77.188.0/24         208.77.188.166            -            eth0

2001:db8:abba:cafe::    2001:db8:abba:cafe::dead 64            eth0
208.77.188.0            208.77.188.166           24            eth0

208.77.188.0            208.77.188.166           255.255.255.0 eth0

13.6.1.4. /etc/resolv.conf

このファイルには、ホストが属するドメイン名を入力する (search キーワードを使用します) ほか、アクセスするネームサーバのアドレス (nameserver キーワード) も入力します。 このファイルには複数のドメイン名を入力することができます。完全修飾型では ない名前を解決する場合、 search に書かれた それぞれのドメイン名を付加して 1 回ずつ解決を試みます。複数のドメイン名は 複数行に分けて設定するものとし、それぞれ nameserver から書き始めてください。また、コメントは # 文字を 行頭に入れてください。 例13.5「/etc/resolv.conf には /etc/resolv.conf の記述例を示しています。

ただし、 /etc/resolv.conf は手作業による編集は 行なうべきではありません。このファイルは netconfig スクリプトが生成するものであるためです。 YaST を利用せずに固定の DNS 設定を行ないたい場合は、 /etc/sysconfig/network/config ファイル内の該当項目を修正してください:

NETCONFIG_DNS_STATIC_SEARCHLIST

ホスト名の参照に際して、利用する DNS ドメイン名。

NETCONFIG_DNS_STATIC_SERVERS

ホスト名の参照時に利用する、ネームサーバの IP アドレス。

NETCONFIG_DNS_FORWARDER

設定すべき DNS フォワーダの名前。

netconfig を利用した DNS 設定を無効化するには、 NETCONFIG_DNS_POLICY='' を設定してください。また、 netconfig について詳しくは man 8 netconfig をお読みください。

例13.5 /etc/resolv.conf

# ドメイン名の指定
search example.com
#
# ネームサーバとして dns.example.com (192.168.1.116) を使用する設定
nameserver 192.168.1.116

13.6.1.5. /sbin/netconfig

netconfig は追加のネットワーク設定を管理するための モジュール型ツールです。本ソフトウエアは、事前に定義しておいた設定と DHCP や PPP などで取得した動的な情報を、事前に定義したポリシーに従って 合成することができます。必要な変更は、各設定ファイルの修正を行なって サービスの再起動などを行なう netconfig モジュールを呼び出すことで、 システムに反映される形になります。

netconfig は 3 つの主なアクションから構成されています。 netconfig modifynetconfig remove は DHCP や PPP デーモンから呼び出されるもので、 netconfig に対して設定を変更したり削除したりする場合に利用します。 ユーザからは netconfig update コマンドだけが 利用できます:

modify

netconfig modify コマンドは、現存するインターフェイス やサービス固有の動的な設定を変更し、ネットワークの設定を更新するコマンド です。 netconfig は標準入力またはファイル (--lease-file ファイル名 を指定します) から設定を 読み込み、システムの再起動 (または次の修正や削除動作) までの間、内部で それらを保持します。あるインターフェイスやサービスに対する設定がすでに 存在していた場合は、それらは上書きされます。インターフェイスは -i インターフェイス名 で指定 するほか、サービスの場合は -s サービス名 で指定します。

remove

netconfig remove コマンドは、指定したインターフェイスや サービスに対して以前に設定した設定を削除し、ネットワークの設定を更新する コマンドです。インターフェイスは -i インターフェイス名 で指定 するほか、サービスの場合は -s サービス名 で指定します。

update

netconfig update コマンドは、現在の内容でネットワーク 設定を更新するコマンドです。これはポリシーや静的な設定を更新した場合に 便利なコマンドです。また、指定したサービス (dns, nis, ntp) に対してのみ 更新を行ないたい場合は、 -m モジュールタイプ パラメータをご利用ください。

netconfig のポリシーや静的な設定は /etc/sysconfig/network/config ファイルに書かれている もので、手動で行なうことができるほか、 YaST を利用して設定することも できます。 DHCP や PPP のような自動設定ツールが提供する動的な設定は、 これらのツールから直接通知されるか、 netconfig modifynetconfig remove コマンドで通知されます。 また、 NetworkManager でも netconfig modifynetconfig remove コマンドを使用する場合があります。 NetworkManager が有効になっている 場合 (auto ポリシーモードの場合) は、従来の ifup 方式での 全てのインターフェイス設定が無視されます。 NetworkManager がいかなる設定も 提供しない場合に限り、静的な設定が次点候補として使用されます。 NetworkManager と従来の ifup 方式の混在には対応していません。

netconfig について詳しくは、 man 8 netconfig で表示されるマニュアルページをお読みください。

13.6.1.6. /etc/hosts

例13.6「/etc/hosts に示してあるとおり、このファイルには IP アドレスとホスト名の対が書かれています。ネームサーバが設定されていない 場合は、 IP 接続を行なう可能性のある全てのホストについて、本ファイル内に 設定しておく必要があります。各ホスト 1 行とし、 IP アドレスと完全修飾 ドメイン名、ホスト名をそれぞれ記入します。 IP アドレスは行頭に記述し、 タブかスペースで区切って残りの項目を記入します。コメントを記入する場合は、 コメントの前に # を記入してください。

例13.6 /etc/hosts

127.0.0.1 localhost
192.168.2.100 jupiter.example.com jupiter
192.168.2.101 venus.example.com venus

13.6.1.7. /etc/networks

このファイルでは、ネットワーク名とネットワークアドレスの変換を行ないます。 書式は hosts ファイルに似ていますが、ネットワーク名 の後にアドレスが続く点が異なります。詳しくは 例13.7「/etc/networks をご覧ください。

例13.7 /etc/networks

loopback     127.0.0.0
localnet     192.168.0.0

13.6.1.8. /etc/host.conf

このファイルでは、 リゾルバ と呼ばれるライブラリを 利用してホスト名やネットワーク名を名前解決する際、その解決処理を 設定します。このファイルは libc4, libc5 にリンクされているライブラリでのみ 使用します。現行の glibc プログラムの場合は、 /etc/nsswitch.conf ファイルの設定を参照してください。 パラメータはそれぞれ 1 行に 1 つずつ入力します。コメントを記入する場合は、 コメントの前に # を入力してください。利用可能なパラメータ については 表13.7「/etc/host.conf のパラメータ」 を、 /etc/host.conf の設定例については 例13.8「/etc/host.conf をそれぞれお読みください。

表13.7 /etc/host.conf のパラメータ

order hosts, bind

名前解決を行なう場合アクセス順序を指定します。利用可能なパラメータは 下記の通りです (スペースまたはカンマで区切ります):

hosts: /etc/hosts ファイルを 検索して名前解決を行ないます。

bind: ネームサーバにアクセスして名前解決を試みます。

nis: NIS を使用します。

multi on/off

/etc/hosts ファイル内に入力したホストについて、 複数の IP アドレスを許すかどうかを設定します。

nospoof on spoofalert on/off

これらのパラメータはネームサーバの 偽装 検知に 影響するパラメータです。ネットワーク設定には影響しません。

trim ドメイン名

ホスト名の解決後、指定したドメイン名をホスト名から取り除くことを指定 します (ホスト名にドメイン名が含まれていた場合のみ) 。このオプションは /etc/hosts ファイル内にローカルドメインのホスト名 だけが含まれていて、それらを指定したドメイン名として認識したい場合に 指定します。


例13.8 /etc/host.conf

# ネームサーバが起動しています
order hosts bind
# 複数アドレスを有効にする
multi on

13.6.1.9. /etc/nsswitch.conf

GNU C ライブラリ 2.0 以降では、 Name Service Switch (NSS) を利用するようになりました。詳しくは nsswitch.conf(5) のマニュアルページや、 GNU C ライブラリ レファレンスマニュアル をお読みください。

問い合わせの順序は /etc/nsswitch.conf ファイルで指定します。 nsswitch.conf の設定例は 例13.9「/etc/nsswitch.conf にあります。コメントを記入する場合は、コメントの前に # を記入してください。この例で hosts データベース 内の項目は、名前解決の要求が DNS を介して /etc/hosts (files) に送信される 設定になっています。

例13.9 /etc/nsswitch.conf

passwd:     compat
group:      compat

hosts:      files dns
networks:   files dns

services:   db files
protocols:  db files
rpc:        files
ethers:     files
netmasks:   files
netgroup:   files nis
publickey:  files

bootparams: files
automount:  files nis
aliases:    files nis
shadow:     compat

NSS 上で利用可能なデータベースは、 表13.8「/etc/nsswitch.conf から利用できるデータベース」 に一覧で示されています。 NSS データベースとして利用可能なオプションは、 表13.9「NSS データベース の設定オプション」 内に書かれています。

表13.8 /etc/nsswitch.conf から利用できるデータベース

aliases

sendmail で実装されているメール別名; 詳しくは man 5 aliases をお読みください。

ethers

イーサネットアドレス。

netmasks

ネットワークの一覧やサブネットマスク。サブネットを設定する 場合にのみ必要です。

group

getgrent で使用するユーザグループ。 group のマニュアルページも併せてお読みください。

hosts

gethostbyname などの関数で取得できる、 ホスト名や IP アドレス。

netgroup

アクセス許可を設定する目的で使用する有効なホストとユーザの一覧; 詳しくは netgroup(5) のマニュアルページを お読みください。

networks

getnetent で使用するネットワーク名と アドレス。

publickey

NFS や NIS+ で使用する、 Secure_RPC 用の公開/機密鍵。

passwd

getpwent で使用されるユーザパスワード; 詳しくは passwd(5) のマニュアルページを お読みください。

protocols

getprotoent で使用するネットワークプロトコル; 詳しくは protocols(5) のマニュアルページを お読みください。

rpc

getrpcbyname などの関数で取得できる、 リモートプロシージャコール (RPC) の名前とアドレス。

services

getservent で使用するネットワークサービス。

shadow

getspnam で使用するユーザのシャドウパスワード; 詳しくは shadow(5) のマニュアルページをお読みください。


表13.9 NSS データベース の設定オプション

files

ファイルへの直接アクセスを指定します。たとえば /etc/aliases などのファイルにアクセスします。

db

データベース経由でのアクセス。

nis, nisplus

NIS を使用します。詳しくは 第3章 NIS の使用 (↑セキュリティガイド) をお読みください。

dns

hostsnetworks に対してのみ 設定可能な拡張です。

compat

passwd, shadow, group に対してのみ設定可能な拡張です。


13.6.1.10. /etc/nscd.conf

このファイルは、 nscd (name service cache daemon; ネームサービスのキャッシュ デーモン) を設定するために使用します。詳しくは nscd(8) および nscd.conf(5) のマニュアルページをお読みください。 既定では、システムの passwdgroups の項目に ついて、 nscd でキャッシュを行なう (メモリ上に一時記憶する) よう設定されて います。このサービスを利用しないと、 NIS や LDAP などのディレクトリサービスを 提供している場合、接続が発生するたびに名前やグループへのアクセスを行なって しまうため、性能面で重要な仕組みになっています。既定では hosts をキャッシュしないように設定されていますが、これは nscd のキャッシュ機能を 利用してしまうと、ローカルシステム側から正引きや逆引きの確認が行なえなく なってしまうためです。 nscd で名前のキャッシュを行なう代わりに、 DNS サーバ側でキャッシュを設定してください。

なお、 passwd ファイルをキャッシュするように設定している 場合は、新しいユーザを追加してから認識されるまでに 15 秒ほどの時間がかかります。 このような待機時間を減らすには、 rcnscd restart コマンドで nscd を 再起動してください。

13.6.1.11. /etc/HOSTNAME

このファイルには、ドメイン名を含む完全修飾ホスト名が書かれています。このファイルは、 マシンの稼働中に複数のスクリプトから読み取られます。ファイルはホスト名を含む 1 行でなければなりません。

13.6.2. 設定のテスト

変更した設定を設定ファイルに書き込む前に、設定をテストすることができます。 設定のテストを行なうには、 ip コマンドをご利用ください。 また、接続のテストを行なうには、 ping コマンドをご利用 ください。もちろん従来が存在する ifconfigroute コマンドもご利用いただけます。

ip, ifconfig, route の各コマンドは、設定ファイルに保存を行なうことなく、設定そのものを直接 変更するためのコマンドです。適切な設定ファイル内に設定を書き込まない限り、 変更した設定はシステムの再起動を行なうことでリセットされてしまいます。

13.6.2.1. ip を利用したネットワークインターフェイスの設定

ip コマンドはネットワークデバイスやルーティングの設定 のほか、ポリシールーティングやトンネルを設定したり、設定を閲覧したりする ためのツールです。

ip コマンドはとても複雑なツールです。一般的には ip オプション オブジェクト コマンド のような書式で記述します。 オブジェクトには下記のものを設定することができます:

link

ネットワークデバイスを表わすオブジェクトです。

address

デバイスの IP アドレスを表わすオブジェクトです。

neighbor

ARP や NDISC キャッシュ項目を表わすオブジェクトです。

route

ルーティングテーブルの項目を表わすオブジェクトです。

rule

ルーティングポリシーデータベース内のルールを表わすオブジェクトです。

maddress

マルチキャストのアドレスを表わすオブジェクトです。

mroute

マルチキャストのルーティングキャッシュの項目を表わすオブジェクトです。

tunnel

IP 経由でのトンネルを表わすオブジェクトです。

コマンドを指定しない場合は、既定のコマンドが指定されたものとして 扱われます (通常は list です) 。

デバイスの状態を変更するには、 ip link set  デバイス名  コマンド のように 入力します。たとえば eth0 デバイスを無効化したい場合は、 ip link set eth0 down と入力します。再度有効化する 場合は、 ip link set eth0 up と入力してください。

デバイスを有効化したら、次に設定を行ないます。 IP アドレスを設定するには、 ip addr add IP アドレス + dev デバイス名 のように入力します。 たとえば、 eth0 インターフェイスに対して 192.168.12.154/30 のアドレスを 設定し、標準のブロードキャストアドレスを設定 (brd オプション) するには、 ip addr  add 192.168.12.154/30 brd + dev eth0 と入力します。

接続を行なうことができるようにするためには、さらにデフォルトゲートウエイを 設定しなければなりません。お使いのシステムにデフォルトゲートウエイを設定する には、 ip route add ゲートウエイの IP アドレス のように入力します。また、アドレス変換を行ないたい場合は、 nat キーワードを指定し、下記のように入力します: ip route add nat IP アドレス  via 他の IP アドレス

全てのデバイスを表示するには、 ip link ls と 入力してください。稼働中のインターフェイスのみを表示する場合は ip link ls up を、デバイスごとのインターフェイス統計情報を 表示するには、 ip -s link ls デバイス名 のにように入力してください。また、お使いのデバイスに設定したアドレスを 確認するには、 ip addr コマンドを使用します。 ip addr コマンドでは、 MAC アドレスの情報も表示されます。 さらに、全ての経路情報を表示するには、 ip route show コマンドをご利用ください。

上記以外にも ip コマンドには様々な機能が備わっています。 ip コマンドについてさらに詳しい情報は、 ip help と 入力するか、もしくは ip(8) のマニュアルページを お読みください。なお、 help オプションは ip のサブコマンドに対しても動作します。たとえば ip addr コマンドの使い方について知りたい場合は、 ip addr help と入力してください。 ip コマンドのマニュアルは、 /usr/share/doc/packages/iproute2/ip-cref.pdf にもあります。

13.6.2.2. ping を利用した接続テスト

ping コマンドは TCP/IP 接続が正しく動作するかどうかを テストするための標準ツールです。本コマンドは ICMP と呼ばれるプロトコルを 利用し、 ECHO_REQUEST と呼ばれる小さなデータを宛先のホストに送信し、 即時の応答を求めます。うまく動作すれば ping コマンドは その結果を表示し、ネットワークの接続の基本部分が正しく動作していることを 表わします。

また、 ping コマンドは 2 台のコンピュータ間での接続テスト を行なうだけではありません。本コマンドは接続品質に関する基本情報も提供します。 例13.10「ping コマンドの出力」 に示している例は、 ping コマンドの出力例です。最後から 2 行目の部分には、 送信されたパケット数と損失数、および ping コマンドの 実行時間が表示されています。

また、本コマンドで指定する宛先には IP アドレスだけでなくホスト名を指定する こともできます。たとえば ping example.comping 192.168.3.100 のように入力する ことができます。なお、本コマンドは Ctrl+C を押すまで パケットを送信し続けます。

基本的な接続確認だけを行ないたい場合は、 -c オプションを 設定して送信数を制限することもできます。たとえば 3 パケットだけ送信したい 場合は、 ping -c 3 example.com のように入力してください。

例13.10 ping コマンドの出力

ping -c 3 example.com
PING example.com (192.168.3.100) 56(84) bytes of data.
64 bytes from example.com (192.168.3.100): icmp_seq=1 ttl=49 time=188 ms
64 bytes from example.com (192.168.3.100): icmp_seq=2 ttl=49 time=184 ms
64 bytes from example.com (192.168.3.100): icmp_seq=3 ttl=49 time=183 ms
--- example.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 183.417/185.447/188.259/2.052 ms

既定のパケット送信間隔は 1 秒に設定されています。この送信間隔を変更 するには、 -i オプションを指定してください。 たとえば 10 秒間隔で送信する場合は、 ping -i 10 example.com のように入力します。

また、複数のネットワークデバイスを利用している場合は、 ping コマンドに 対して特定のインターフェイスアドレスを利用するように指定したほうが便利 である場合があります。このような場合は、 -I オプション でインターフェイス名を指定してください。たとえば ping  -I wlan1 example.com のように入力します。

ping コマンドについてさらに詳しい情報については、 ping  -h で出力されるヘルプか、もしくは ping (8) のマニュアルページをお読みください。

[Tip]IPv6 アドレスに対する ping

IPv6 アドレスの場合は ping6 コマンドを使用します。 なお、リンクローカルアドレスに対して ping を送信する場合は、 -I オプションを利用してインターフェイスを指定しなければなりません。たとえば 下記のコマンドでは、 eth1 を介して指定したアドレスに 通信ができるかどうかを確認します:

ping6 -I eth1 fe80::117:21ff:feda:a425

13.6.2.3. ifconfig を利用したネットワーク設定

ifconfig コマンドは、ネットワークを設定するための ツールです。

[Note]ifconfig コマンドと ip コマンド

ifconfig プログラムは古いソフトウエアです。できる限り ip コマンドをご利用ください。また、 ip コマンドと比べると ifconfig はインターフェイスの 設定しか行なうことができません。また、インターフェイス名は 9 文字までに 限定されます。

パラメータを何も指定しない場合、 ifconfig は現在有効に 設定されているインターフェイスの状態を表示します。出力例は 例13.11「ifconfig コマンドの出力例」 の通りです。 ifconfig は詳細な情報をうまく整理して出力します。また出力の最初の行には、お使いの デバイスに対する MAC アドレス (HWaddr) が含まれます。

例13.11 ifconfig コマンドの出力例

eth0      Link encap:Ethernet  HWaddr 00:08:74:98:ED:51
          inet6 addr: fe80::208:74ff:fe98:ed51/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:634735 errors:0 dropped:0 overruns:4 frame:0
          TX packets:154779 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000
          RX bytes:162531992 (155.0 Mb)  TX bytes:49575995 (47.2 Mb)
          Interrupt:11 Base address:0xec80

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8559 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8559 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:533234 (520.7 Kb)  TX bytes:533234 (520.7 Kb)    

wlan1     Link encap:Ethernet  HWaddr 00:0E:2E:52:3B:1D
          inet addr:192.168.2.4  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::20e:2eff:fe52:3b1d/64 Scope:Link
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50828 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43770 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:45978185 (43.8 Mb)  TX bytes:7526693 (7.1 MB)

ifconfig を利用するにあたっての詳しいオプション設定などの情報は、 ifconfig -h と入力して表示 することのできるヘルプか、もしくは ifconfig (8) のマニュアルページをお読みください。

13.6.2.4. route を利用したルーティング設定

route コマンドは、 IP ルーティング (経路制御) テーブルを操作するためのプログラムです。ルーティング情報を閲覧する ことができるほか、追加や削除を行なうこともできます。

[Note]route コマンドと ip コマンド

route プログラムは古いソフトウエアです。 できる限り ip コマンドをご利用ください。

route は、ルーティング関連の問題が発生した場合に、 ルーティング設定に関する情報を素早く確実に得るには便利なツールです。 現在のルーティング情報を閲覧するには、 root から route-n と入力します。

例13.12 route -n コマンドの出力例

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.20.0.0       *               255.255.248.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
loopback        *               255.0.0.0       U         0 0          0 lo
default         styx.exam.com   0.0.0.0         UG        0 0          0 eth0

route を利用するにあたっての詳しいオプション設定などの情報は、 route -h と入力して表示 することのできるヘルプか、もしくは route (8) のマニュアルページをお読みください。

13.6.3. 起動時のスクリプト

上記までの章で説明した設定ファイルのほかに、マシンを起動する際に ネットワークプログラムを読み込むための各種スクリプトが存在します。 これらのスクリプトは、システムが マルチユーザのランレベル のいずれかに移行すると、すぐに実行されるものです。これらのスクリプトの うち、いくつかを 表13.10「ネットワークプログラムのスクリプト」 で説明します。

表13.10 ネットワークプログラムのスクリプト

/etc/init.d/network

このスクリプトは、ネットワークインターフェイスの設定を処理するための ものです。 network サービスが開始されなかった場合、 ネットワークインターフェイスは利用できなくなります。

/etc/init.d/xinetd

このスクリプトは、 xinetd を起動するためのものです。 xinetd は システム上でサービスを提供するための使用されるプログラムで、たとえば FTP の接続があった場合に vsftpd を起動したりすることができます。

/etc/init.d/rpcbind

このスクリプトは、RPC プログラム番号をユニバーサルアドレスに変換する rpcbind ユーティリティを起動するためのものです。 NFS サーバなどの RPC サービスで必要になります。

/etc/init.d/nfsserver

このスクリプトは、 NFS サーバを起動するためのものです。

/etc/init.d/postfix

このスクリプトは、 postfix プロセスを制御するためのものです。

/etc/init.d/ypserv

このスクリプトは、 NIS サーバを起動するためのものです。

/etc/init.d/ypbind

このスクリプトは、 NIS クライアントを起動するためのものです。


13.7. ダイアルアップ接続支援としての smpppd

ホームユーザの場合、インターネットに対する専用の回線を持っておらず、ダイアル アップ接続を利用している場合があります。ダイアルアップの方式 (ISDN や DSL) によって、接続を ipppd で操作するのか pppd で操作するのかが変わります。 基本的にはインターネット接続を行なうのに必要なものは、これらのツールが全て です。

ダイアルアップ接続を行なうのに追加の料金がかからない固定料金制の接続をご利用 の場合は、単に関連するデーモンを起動するだけです。デスクトップのアプレットや コマンドラインインターフェイスを利用してダイアルアップ接続を制御してください。 インターネットのゲートウエイが今現在使用中のホストとは異なるものであったりする 場合は、ネットワークホストを経由してダイアルアップ接続を利用することもできます。

こういう場合に smpppd (SUSE Meta PPP Daemon) が役に立ちます。 smpppd は補助 プログラムに対する統一インターフェイスとして動作し、双方向の仲介を行ないます。 smpppd では、 pppd と ipppd のどちらを利用するのかを判断し、ダイアルアップ接続の 操作を行ないます。また、ユーザプログラムに対して様々なプロバイダが利用できるよう 情報を提供するほか、接続状態についての情報を送信することもできます。 smpppd はネットワーク経由でもコントロールできますので、プライベートなサブネット内に 存在するワークステーションから、インターネットへのダイアルアップ接続を コントロールする場合に便利です。

13.7.1. smpppd の設定

smpppd が提供する接続は、 YaST から自動的に設定されます。実際のダイアルアップ プログラムである KInternet と cinternet についても設定が行なわれます。 リモートコントロールなど、 smpppd の追加機能を利用する場合にのみ、手動設定が 必要となります。

smpppd の設定ファイルは /etc/smpppd.conf にあります。 既定ではリモートコントロールは無効に設定されています。この設定ファイルで最も 重要なオプションは、下記の通りです:

open-inet-socket = yes|no

smpppd をネットワーク経由で操作させたい場合は、このオプションを yes に設定してください。 smpppd はポート 3185 で待ち受けます。このパラメータを yes に設定する場合は、 bind-address, host-range, password についてもそれぞれ設定を行なって ください。

bind-address = ip アドレス

ホストに複数の IP アドレスが設定されている場合は、このパラメータを利用して smpppd が受け付ける IP アドレスを指定します。既定では全てのアドレス宛の 接続を受け付けます。

host-range = 最小 IP最大 IP

host-range パラメータでは、ネットワークの範囲を指定 します。 smpppd では、指定した範囲の中にある IP アドレスからの接続だけを 受け入れます。範囲外のアドレスからのアクセスは全て拒否されます。

password = パスワード

パスワードを割り当てると、ネットワーク経由での操作を行なうのにパスワードを 入力しなければならなくなります。ただしここで指定するパスワードには何も 暗号化を行なわないため、設定しないよりは良い、程度のものだとお考えください。 何もパスワードを指定しないと、全てのクライアントから smpppd にアクセスできる ようになります。

slp-register = yes|no

このパラメータを設定すると、 smpppd サービスは SLP を介してアナウンス されるようになります。

smpppd についてさらに詳しい情報については、 smpppd(8)smpppd.conf(5) のマニュアルページを お読みください。

13.7.2. リモートで使用するための qinternet の設定

qinternet は、ローカルやリモートの smpppd を操作することができます。 cinternet はコマンドラインツールで、 KInternet はグラフィカルなツールです。 これらのユーティリティをリモートの smpppd に対して使用するには、設定ファイル /etc/smpppd-c.conf を手作業で編集するか、もしくは qinternet を使用する必要があります。ここのファイルには 4 つのオプションだけがあります:

sites = サイトの一覧

フロントエンドが smpppd を検索する際に利用する、 サイトの一覧 を指定します。フロントエンドは、 ここで指定した順序どおりにオプションを試します。 local を指定するとローカルの smpppd に対して接続を行なう指定となるほか、 gateway を指定するとゲートウエイ上の smpppd に対して 接続を行なおうとします。 config-file を指定すると、 それぞれ /etc/smpppd-c.conf で指定する serverport の 設定に従って接続を行ないます。 slp を指定すると、 SLP 経由で smpppd を見つけるようになります。

server = サーバ

smpppd が動作しているホストを指定します。

port = ポート

smpppd が動作しているポートを指定します。

password = パスワード

smpppd に接続するためのパスワードを指定します。


openSUSE リファレンス 13.1