Solaris のシステム管理 (IP サービス)

第 5 章 TCP/IP ネットワークサービスと IPv4 アドレス指定の構成 (作業)

TCP/IP ネットワークの管理は、2 つの段階で行います。最初の段階ではハードウェアを組み立てます。次に、TCP/IP プロトコルを実装するデーモンや、ファイル、サービスを構成します。

この章では、IPv4 アドレス指定とサービスを実装する TCP/IP をネットワークで構成する方法について説明します。


注 –

この章の作業の多くは、IPv4 のみをサポートするネットワークにも、IPv6 が有効なネットワークにも適用されます。構成作業が 2 つのアドレス指定形式の間で異なる場合、この章には IPv4 の構成手順が記載されています。この章の作業では、同等の IPv6 作業 (第 7 章IPv6 ネットワークの構成 (手順)) を相互参照します。


この章では、次の内容について説明します。

この章で説明する新機能

Solaris 10 8/07 には、次の変更が加えられています。

IPv4 ネットワークを構成する前に (作業マップ)

TCP/IP を構成する前に、次の表に示す作業を完了してください。表では、各作業で実行する内容について説明し、作業の具体的な実行手順が詳しく説明されている現在のマニュアル内の節を示しています。

作業 

説明 

説明 

1. ネットワーク設計者の場合は、ネットワークトポロジを設計します。 

ネットワークの物理レイアウトを決めます。 

「ネットワークトポロジの概要」および 「IPv4 自律システムのトポロジ」

2. ISP または Regional Internet Registry (RIR) からネットワーク番号を入手します。 

このサイトのシステムが外部と通信できるようにするために、登録されているネットワーク番号を入手します。 

「IPv4 アドレス指定スキーマの設計」

3. ネットワークに対する IPv4 アドレス指定スキーマの計画を立てます。必要に応じて、サブネットアドレス指定の計画も含めます。 

ネットワーク番号をアドレス指定計画のベースとして使用します。 

「IPv4 アドレス指定スキーマの設計」

4. ネットワークトポロジに従ってネットワークハードウェアを組み立てます。ハードウェアが正しく動作することを確認します。 

ネットワークトポロジの設計に従ってシステムやネットワークメディア、ルーター、スイッチ、ハブ、ブリッジをセットアップします。 

ハードウェアマニュアルと 「ネットワークトポロジの概要」

5. ネットワークのすべてのシステムに IPv4 アドレスとホスト名を割り当てます。 

Oracle Solaris のインストール時かインストール後に IPv4 アドレスを適切なファイルで指定します。 

「IPv4 アドレス指定スキーマの設計」および 「IPv4 アドレスおよびその他のネットワーク構成パラメータを変更する方法」

6. ネットワークインタフェースとルーターが必要とする構成ソフトウェアがあれば、それを実行します。 

ルーターとマルチホームホストを構成します。 

ルーターについては、「ネットワーク上でのルーターの計画」「IPv4 ルーターの構成」を参照してください。

7. ネットワークでどのネームサービスまたはディレクトリサービスを使用するのかを指定します。 (NIS、LDAP、DNS、またはローカルファイル)。 

選択したネームサービスまたはディレクトリサービス (またはその両方) を構成します。 

『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』

8. 必要なら、ネットワークで使用するドメイン名を選択します。 

ネットワークのドメイン名を選択し、InterNIC に登録します。 

『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』

ホスト構成モードの決定

ネットワーク管理者として、ホストやルーター (該当する場合) で TCP/IP が動作するように構成します。これらのシステムは、ローカルシステム上のファイルまたはネットワーク上のほかのシステムにあるファイルから構成情報を入手するように構成できます。必要な構成情報を次に示します。

TCP/IP 構成情報をローカルファイルから入手するシステムは「ローカルファイルモード」で動作します。TCP/IP 構成情報をリモートネットワークサーバーから入手するシステムは「ネットワーククライアントモード」で動作します。

ローカルファイルモードで実行するシステム

システムがローカルファイルモードで動作するには、TCP/IP 構成ファイルのローカルコピーを持っている必要があります。これらの構成ファイルについては、「TCP/IP 構成ファイル」を参照してください。このシステムが専用のディスクを持っていることが望ましいですが、不可欠というわけではありません。

ほとんどのサーバーはローカルファイルモードで実行します。このようなサーバーの一部を次に示します。

また、ルーターはローカルファイルモードで実行する必要があります。

システムがプリントサーバー専用の場合は、ローカルファイルモードで実行する必要はありません。個々のホストをローカルファイルモードで実行する方がよいかどうかは、ネットワークの規模によって異なります。

ネットワークがきわめて小さい場合は、個々のホストのファイルを管理する作業は比較的簡単です。しかし、数百のホストから成るネットワークの場合は、そのネットワークがいくつかの管理サブドメインに分割されていたとしても、この作業は困難なものとなります。したがって、規模の大きいネットワークの場合は、ローカルファイルモードを使用しても一般に効率は上がりません。ただし、ルーターとサーバーはそれぞれ自身で構成されるものなので、ローカルファイルモードで構成する必要があります。

ネットワーク構成サーバー

「ネットワーク構成サーバー」とは、ネットワーククライアントモードで構成されているホストに TCP/IP 構成情報を提供するサーバーのことです。この種のサーバーは、次の 3 つのブートプロトコルをサポートしています。

ネットワーク構成サーバーは、NFS ファイルサーバーとしても使用できます。

いずれかのホストをネットワーククライアントとして構成する場合は、さらに、ネットワーク上の少なくとも 1 つのシステムをネットワーク構成サーバーとして構成する必要があります。ネットワークをサブネット化する場合は、ネットワーククライアントを持つ各サブネットについて、ネットワーク構成サーバーが少なくとも 1 つは必要です。

ネットワーククライアントとしてのシステム

構成情報をネットワーク構成サーバーから入手するホストは、いずれもネットワーククライアントモードで動作します。ネットワーククライアントとして構成されているシステムには、TCP/IP 構成ファイルのローカルコピーは必要ありません。

ネットワーククライアントモード」を使用すると、大規模ネットワークの管理が大幅に簡素化されます。さらに、個々のホストで行う構成作業が最小限の量で済み、ネットワーク上のすべてのシステムが同じ構成標準に従っていることが保証されます。

ネットワーククライアントモードは、あらゆるタイプのコンピュータに構成できます。たとえば、スタンドアロンシステムでネットワーククライアントモードを構成できます。

混合構成

構成をローカルファイルモードだけに限ったり、ネットワーククライアントモードだけに限ったりする必要はありません。ルーターとサーバーは常にローカルモードで構成する必要があります。ホストについては、ローカルファイルモードとネットワーククライアントモードを任意に組み合わせて使用できます。

IPv4 ネットワークトポロジのシナリオ

図 5–1 は、ネットワーク番号が 192.9.200 である架空のネットワークで動作するホストを示しています。このネットワークには、sahara というネットワーク構成サーバーが 1 つあります。tenerenubian の 2 つのホストはそれぞれ独自にディスクを持っており、ローカルファイルモードで動作します。ホスト faiyum もディスクを持っていますが、このシステムはネットワーククライアントモードで動作します。

最後に、システム timbuktu はルーターとして構成されています。このシステムには 2 つのネットワークインタフェースが組み込まれています。最初のインタフェースは timbuktu という名前です。このインタフェースはネットワーク 192.9.200 に属しています。残りの 1 つは timbuktu-201 という名前です。このインタフェースはネットワーク 192.9.201 に属しています。どちらのネットワークも、組織ドメイン deserts.worldwide.com に含まれています。このドメインは、ローカルファイルをネームサービスとして使用します。

図 5–1 IPv4 ネットワークトポロジに属するホストのシナリオ

この図では、1 台のネットワークサーバーが 4 台のホストにサービスを提供する、サンプルネットワークを示しています。

ネットワークにサブネットを追加する (作業マップ)

サブネットを使用しないネットワークを、サブネットを使用するネットワークに変更する場合は、次の作業マップに示す作業を行います。


注 –

この節の情報は IPv4 サブネットだけに適用されます。IPv6 サブネットの計画については、「IPv6 をサポートするためのネットワークトポロジの準備」「サブネット用の番号付けスキームの作成」を参照してください。


次の表は、サブネットを現在のネットワークに追加するための各種作業の一覧です。表では、各作業で実行する内容について説明し、作業の具体的な実行手順が詳しく説明されている現在のマニュアル内の節を示しています。

作業 

説明 

説明 

1. そのネットワークトポロジでサブネットが必要かどうかを決めます。 

ルーターやホストをそれぞれのサブネットのどこに置くかなど、新しいサブネットトポロジを決めます。 

「ネットワーク上でのルーターの計画」「サブネット化とは」、および 「ネットワーククラス」

2. 新しいサブネット番号を持つ一連の IP アドレスをシステムに割り当ててサブネットのメンバーになります。 

Oracle Solaris のインストール時かそのあとに、新しいサブネット番号を使用する IP アドレスを /etc/hostname.interface ファイルに構成します。

「ネットワークの IP アドレス指定形式の決定」

3. サブネットで使用する可能性があるすべてのシステムに対してサブネットのネットワークマスクを構成します。 

ネットワーククライアントを手動で構成する場合は、/etc/inet/netmasks ファイルを変更します。あるいは、Oracle Solaris インストールプログラムにネットマスクを渡します。

netmasks データベース」「IPv4 アドレス用のネットワークマスクの作成」

4. サブネットに属するすべてのシステムの新しい IP アドレスをデータベースに追加します。 

新しいホストアドレスを反映させるために、すべてのホスト上で /etc/inet/hosts ファイルおよび /etc/inet/ipnodes ファイル (Solaris 10 11/06 以前のリリースの場合) を変更します。

hosts データベース」

5. すべてのシステムをリブートします。 

   

ネットワークを構成する (作業マップ)

次の表は、サブネットなしのネットワーク構成からサブネットを使用するネットワークに変更したあとに実行する追加作業の一覧です。表では、各作業で実行する内容について説明し、作業の具体的な実行手順が詳しく説明されている現在のマニュアル内の節を示しています。

作業 

説明 

説明 

ホストをローカルファイルモード用に構成します 

nodenamehostnamehostsdefaultdomaindefaultrouter、および netmasks ファイルを編集します

「ローカルファイルモードの場合のホストの構成方法」

ネットワーク構成サーバーをセットアップします 

in.tftp デーモンをオンに設定し、 hostsethers、および bootparams ファイルを編集します

「ネットワーク構成サーバーの設定方法」

ホストをネットワーククライアントモード用に構成します 

hostname ファイルを作成し、hosts ファイルを編集します。また、nodename ファイルと defaultdomain ファイルがある場合はこれらを削除します

「ネットワーククライアントモードの場合のホストの構成方法」

ネットワーククライアントの経路制御戦略を指定します 

ホストで静的経路制御を使用するか動的経路制御を使用するかを決めます。 

「単一インタフェースホストで静的経路制御を有効にする方法」および 「単一インタフェースホストで動的経路制御を有効にする方法」

既存のネットワーク構成を変更します  

インストール時に設定された、またはそれ以降に構成されたホスト名、IP アドレス、およびその他のパラメータを変更します。 

「IPv4 アドレスおよびその他のネットワーク構成パラメータを変更する方法」

ローカルネットワーク上でのシステム構成

オペレーティングシステムのソフトウェアをインストールするときに、同時にネットワークのソフトウェアもインストールされます。そのときに、いくつかの IP 構成パラメータを対応するファイルに格納して、ブート時に読み取れるようにしておく必要があります。

ネットワークの構成処理では、ネットワーク構成ファイルを作成または編集する必要があります。システムのカーネルが構成情報をどのように入手するかは、設定によって異なります。これらのファイルがローカルに格納されているか (ローカルファイルモード) ネットワーク構成サーバーから入手するか (ネットワーククライアントモード) によって提供方法が変わります。

ネットワーク構成時に提供されるパラメータは次のとおりです。

システムで Oracle Solaris インストールプログラムが複数のインタフェースを検出した場合は、追加のインタフェースをインストール時に構成することもできます。詳しい説明は、『Oracle Solaris 10 9/10 インストールガイド (基本編)』を参照してください。

ここでは、ローカル構成ファイルを作成および編集する手順を説明しています。ネームサービスデータベースを使用した動作については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。

Procedureローカルファイルモードの場合のホストの構成方法

ローカルファイルモードで動作するホスト上の TCP/IP を構成するための手順は、次のとおりです。

  1. Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc ディレクトリに移動します。

  3. /etc/nodename ファイルに正しいホスト名が設定されていることを確認します。

    Oracle Solaris のインストール時にシステムのホスト名を指定したときは、そのホスト名は /etc/nodename ファイルに入ります。そのノード名エントリがシステムの正しいホスト名であることを確認します。

  4. /etc/hostname.interface ファイルがシステムのネットワークインタフェースごとに存在することを確認します。

    /etc/hostname. interface ファイルのファイル構文および基本情報については、「物理インタフェースの管理の基礎」を参照してください。

    Oracle Solaris インストールプログラムでは、インストール時に少なくとも 1 つのインタフェースを構成する必要があります。最初に構成するインタフェースが、自動的に「一次ネットワークインタフェース」になります。インストールプログラムは、一次ネットワークインタフェースと、インストール時に任意で構成するその他のインタフェースの /etc/hostname.interface ファイルを作成します。

    インストール時に追加のインタフェースを構成した場合は、各インタフェースに対応する /etc/hostname.interface ファイルがあることを確認してください。Oracle Solaris のインストール時に複数のインタフェースを構成する必要はありません。ただし、あとでインタフェースをシステムに追加する場合は、それらを手動で構成する必要があります。

    インタフェースを手動で構成する手順については、「Solaris 10 3/05 の管理インタフェース」または 「システムインストール後に物理インタフェースを構成する方法」(Solaris 10 1/06 以降のリリースの場合) を参照してください。

  5. Solaris 10 11/06 以前のリリースの場合は、/etc/inet/ipnodes ファイルのエントリが最新であることを確認します。

    Oracle Solaris 10 インストールプログラムは、/etc/inet/ipnodes ファイルを作成します。このファイルには、インストール時に構成されたすべてのインタフェースのノード名と IPv4 アドレス、および IPv6 アドレス (使用される場合) が含まれます。

    /etc/inet/ipnodes ファイルのエントリには、次の書式を使用します。


    IP-address node-name nicknames...
    

    nicknames は、インタフェースを識別するための追加の名前です。

  6. /etc/inet/hosts ファイルのエントリが最新であることを確認します。

    Oracle Solaris インストールプログラムは、一次ネットワークインタフェース、ループバックアドレス、およびインストール時に構成された追加インタフェース (該当する場合) に対する各エントリを作成します。

    1. /etc/inet/hosts ファイルにすでに存在するエントリが最新であることを確認します。

    2. (省略可能) インストール後にローカルホストに追加されたネットワークインタフェースの IP アドレスとそれに対応する名前を追加します。

    3. (省略可能) /usr ファイルシステムを NFS マウントする場合は、ファイルサーバーの IP アドレス (1 つまたは複数) を追加します。

  7. ホストの完全修飾ドメイン名を /etc/defaultdomain ファイルに入力します。

    たとえば、ホスト tenere がドメイン deserts.worldwide.com に所属していたとします。その場合は、/etc/defaultdomaindeserts.worldwide.com を入力します。詳細は、/etc/defaultdomain ファイル」を参照してください。

  8. ルーターの名前を /etc/defaultrouter ファイルに入力します。

    このファイルについては、/etc/defaultrouter ファイル」を参照してください。

  9. デフォルトのルーターの名前とその IP アドレスを /etc/inet/hosts ファイルに入力します。

    追加の経路制御オプションについては、「ネットワーククライアントモードの場合のホストの構成方法」を参照してください。これらのオプションは、ローカルファイルモード構成にも適用できます。

  10. 該当する場合は、ネットワークのネットワークマスクを追加します。

    • ホストがその IP アドレスを DHCP サーバーから入手する場合は、ネットワークマスクを指定する必要はありません。

    • このクライアントと同じネットワークに NIS サーバーをすでに設定している場合は、そのサーバーの適切なデータベースに netmask 情報を追加できます。

    • それ以外の場合は、次のことを行います。

    1. ネットワーク番号とネットマスクを /etc/inet/netmasks ファイルに入力します。

      次の書式で入力します。


      network-number netmask

      たとえば、Class C ネットワーク番号 192.168.83 の場合は、次のように入力します。


      192.168.83.0    255.255.255.0
      

      CIDR アドレスの場合は、ネットワークの接頭辞をそれと同等の 10 進ドット表記に変換します。ネットワーク接頭辞とその 10 進ドット表記については、表 2–3 を参照してください。たとえば、192.168.3.0/22 という CIDR ネットワーク接頭辞を表現するには、次のような表記を使用します。


      192.168.3.0 255.255.252.0
    2. ローカルファイルが最初に検索されるように、/etc/nsswitch.conf でのネットマスクの検索順序を変更します。


      netmasks:   files nis
  11. システムをリブートします。

Procedureネットワーク構成サーバーの設定方法

インストールサーバーやブートサーバーの設定方法については、『Oracle Solaris 10 9/10 インストールガイド (基本編)』を参照してください。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. ネットワーク構成サーバーとなるサーバーの root (/) ディレクトリに移ります。

  3. /tftpboot ディレクトリを作成することによって、in.tftpd デーモンをオンに設定します。


    # mkdir /tftpboot
    

    このコマンドにより、システムは、TFTP、bootparams、RARP のサーバーに構成されます。

  4. 手順 2 で作成したディレクトリに対するシンボリックリンクを作成します。


    # ln -s /tftpboot/. /tftpboot/tftpboot
    
  5. /etc/inetd.conf ファイルの tftp 行を有効にします。

    エントリが次のようになっているか確認します。


    tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot

    これによって、in.tftpd は、/tftpboot にあるファイルだけから読み取られます。

  6. hosts データベースを編集します。

    ネットワーク上のすべてのクライアントのホスト名と IP アドレスを追加します。

  7. ethers データベースを編集します。

    ネットワーククライアントモードで実行するネットワーク上のすべてのホストについてエントリを作成します。

  8. bootparams データベースを編集します。

    詳細は、bootparams データベース」を参照してください。ワイルドカードエントリを作成するか、またはネットワーククライアントモードで実行するすべてのホストについてエントリを作成します。

  9. /etc/inetd.conf エントリをサービス管理機能 (SMF) のサービスマニフェストに変換し、それによって得られるサービスを使用可能にします。


    # /usr/sbin/inetconv
    
  10. in.tftpd が正しく動作しているか確認します。


    # svcs network/tftp/udp6
    

    次のような出力が表示されます。


    STATE          STIME    FMRI
    online         18:22:21 svc:/network/tftp/udp6:default
in.tftpdデーモンの管理

in.tftpd デーモンはサービス管理機能によって管理されます。in.tftpd に対する管理アクション (有効化、無効化、再起動など) を実行するには、svcadm コマンドを使用します。このサービスを起動したり、再起動したりする責任は inetd に委譲されています。in.tftpd の構成を変更したり、構成情報を表示したりするには、inetadm コマンドを使用します。このサービスのステータスを照会するには、svcs コマンドを使用します。サービス管理機能の概要については、『Solaris のシステム管理 (基本編)』の第 18 章「サービスの管理 (概要)」を参照してください。

ネットワーククライアントの構成

ネットワーククライアントは、その構成情報をネットワーク構成サーバーから受け取ります。したがって、あるホストをネットワーククライアントとして構成するときは、このネットワーク用として、ネットワーク構成サーバーが少なくとも 1 つは設定されていることを確認してください。

Procedureネットワーククライアントモードの場合のホストの構成方法

ネットワーククライアントモードで構成する必要のある各ホストについて、次の手順を行います。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc ディレクトリで nodename ファイルを検索します。

    ある場合は、このファイルを削除してください。

    /etc/nodename を削除すると、システムは hostconfig プログラムを使用して、ネットワーク構成サーバーから、ホスト名、ドメイン名、ルーターアドレスを入手するようになります。「ローカルネットワーク上でのシステム構成」を参照してください。

  3. /etc/hostname.interface ファイルが存在しない場合は、このファイルを作成します。

    そのファイルが空であることを確認してください。/etc/hostname.interface ファイルが空であれば、システムは IPv4 アドレスをネットワーク構成サーバーから入手します。

  4. /etc/inet/hosts ファイルにループバックネットワークインタフェースの localhost 名と IP アドレスだけが含まれていることを確認します。


    # cat /etc/inet/hosts
    # Internet host table
    #
    127.0.0.1       localhost

    この IPv4 ループバックインタフェースの IP アドレスは 127.0.0.1 です。

    詳細は、「ループバックアドレス」を参照してください。このファイルには、ローカルホスト (一次ネットワークインタフェース) の IP アドレスとホスト名が含まれていてはいけません。

  5. /etc/defaultdomain ファイルが存在するかどうかを確認します。

    ある場合は、このファイルを削除してください。

    hostconfig プログラムはドメイン名を自動的に設定します。hostconfig プログラムが設定したドメイン名を無効にするには、代わりのドメイン名を /etc/defaultdomain ファイルに入力します。

  6. クライアントの /etc/nsswitch.conf ファイルに指定されている検索パスがネットワークのネームサービス要件を満たしていることを確認します。

ProcedureIPv4 アドレスおよびその他のネットワーク構成パラメータを変更する方法

この手順では、すでにインストールされているシステムの IPv4 アドレス、ホスト名、およびその他のネットワークパラメータを変更する方法について説明します。サーバーまたはネットワーク接続されたスタンドアロンシステムの IP アドレスを変更する場合は、この手順を使用します。この手順は、ネットワーククライアントやネットワーク機器には適用されません。この手順で作成する構成は、リブート後も保持されます。


注 –

ここで説明する手順は、一次ネットワークインタフェースの IPv4 アドレスを変更する場合にのみ適用されます。別のインタフェースをシステムに追加する場合は、「システムインストール後に物理インタフェースを構成する方法」を参照してください。


次の手順では、IPv4 アドレスとサブネットマスクを指定するときに、ほとんどの場合は IPv4 で一般的な 10 進ドット表記を使用しています。この手順で使用されるすべてのファイルでは、CIDR 表記を使用して IPv4 アドレスを指定することもできます。CIDR 表記の概要については、「CIDR 書式の IPv4 アドレス」を参照してください。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. Solaris 10 11/06 以前のリリースの場合のみ、/etc/inet/ipnodes ファイルまたは同等の ipnodes データベースで、IP アドレスを変更します。

    システムに追加するすべての IP アドレスに、次の構文を使用します。


    IP-address host-name, nicknames
    IP-address interface-name, nicknames
    

    最初のエントリには、一次ネットワークインタフェースの IP アドレスとシステムのホスト名を含めるようにしてください。ホスト名のニックネームを追加することもできます。物理インタフェースをシステムに追加するときは、/etc/inet/ipnodes にそれらのインタフェースの IP アドレスとそれらに関連付ける名前のエントリを 作成してください。

  3. システムのホスト名を変更する必要がある場合は、/etc/nodename ファイルのホスト名エントリを変更します。

  4. /etc/inet/hosts ファイルまたは同等の hosts データベースで、IP アドレスとホスト名を必要に応じて変更します。

  5. 一次ネットワークインタフェースの /etc/hostname.interface ファイルで、IP アドレスを変更します。

    /etc/hostname.interface ファイルの一次ネットワークインタフェースエントリには、次のいずれかを使用できます。

    • 一般的な 10 進ドット形式の IPv4 アドレス

      構文は次のとおりです。


      IPv4 address subnet mask
      

      ネットマスクエントリは省略可能です。指定しなかった場合は、デフォルトのネットマスクが指定されていると見なされます。

      次に例を示します。


      # vi hostname.eri0
      10.0.2.5 netmask 255.0.0.0
      
    • CIDR 表記の IPv4 アドレス (ネットワーク構成で使用されている場合)。


      IPv4 address/network prefix
      

      次に例を示します。


      # vi hostname.eri0
      10.0.2.5/8
      

      CIDR 接頭辞には、その IPv4 アドレスに対応するネットマスクを指定します。たとえば、前述の /8255.0.0.0 というネットマスクになります。

    • ホスト名。

      /etc/hostname.interface ファイルでシステムのホスト名を使用する場合は、そのホスト名とそれに関連付けられている IPv4 アドレスが hosts データベースにも指定されていることを確認します。

  6. サブネットマスクが変更されている場合は、次のファイルにあるサブネットエントリを変更します。

    • /etc/netmasks

    • (省略可能) /etc/hostname.interface

  7. サブネットアドレスが変更されている場合は、/etc/defaultrouter ファイルに指定されているデフォルトルーターの IP アドレスを新しいサブネットのデフォルトルーターの IP アドレスに変更します。

  8. システムを再起動します。


    # reboot -- -r
    

例 5–1 リブート後も保持する方法で IPv4 アドレスとその他のネットワークパラメータを変更する

この例では、別のサブネットに移動されたシステムについて、次のネットワークパラメータをどのように変更するかを示しています。

システムの現在の状態を確認します。


# hostname
myhost
# ifconfig -a

lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.0.14 netmask ff000000 broadcast 10.255.255.255
        ether 8:0:20:c1:8b:c3 

次に、システムのホスト名と eri0 の IP アドレスを各ファイルで変更します。


# vi /etc/nodename
mynewhostname

In Solaris 10 11/06 and earlier Solaris 10 releases only, do the following:
# vi /etc/inet/ipnodes
192.168.55.14   mynewhostname      #moved system to 192.168.55 net

# vi /etc/inet/hosts
#
# Internet host table
#
127.0.0.1       localhost
192.168.55.14   mynewhostname        loghost
# vi /etc/hostname.eri0
192.168.55.14   netmask  255.255.255.0

最後に、ネットマスクおよびデフォルトルーターの IP アドレスを変更します。


# vi /etc/netmasks.
.
.
192.168.55.0    255.255.255.0
# vi /etc/defaultrouter
192.168.55.200        #moved system to 192.168.55 net
#

これらの変更が完了したら、システムをリブートします。


# reboot -- -r

設定したばかりの構成がリブート後も保持されていることを確認します。


# hostname
mynewhostname
# ifconfig -a

lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.55.14 netmask ffffff00 broadcast 10.255.255.255
        ether 8:0:20:c1:8b:c3 


例 5–2 現在のセッションの IP アドレスとホスト名を変更する

この例では、現在のセッションだけに適用するために、ホストの名前、一次ネットワークインタフェースの IP アドレス、およびサブネットマスクを変更する方法を示しています。システムをリブートすると、以前の IP アドレスとサブネットマスクに戻ります。一次ネットワークインタフェース eri0 の IP アドレスが 10.0.0.14 から 192.168.34.100 に変わります。


# ifconfig -a

lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.0.14 netmask ff000000 broadcast 10.255.255.255
        ether 8:0:20:c1:8b:c3 
# ifconfig eri0 192.168.34.100 netmask 255.255.255.0 broadcast + up
# vi /etc/nodename
mynewhostname

# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.34.100 netmask ffffff00 broadcast 10.255.255.255
        ether 8:0:20:c1:8b:c3 
# hostname
mynewhostname


例 5–3 現在のセッションの IPv4 アドレスを変更する (CIDR 表記を使用)

この例では、現在のセッションだけに適用するために、CIDR 表記を使用してホスト名と IP アドレスを変更する方法を示しています。システムをリブートすると、以前の IP アドレスとサブネットマスクに戻ります。一次ネットワークインタフェース eri0 の IP アドレスが 10.0.0.14 から 192.168.6.25/27 に変わります。


# ifconfig -a

lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.0.14 netmask ff000000 broadcast 10.255.255.255
        ether 8:0:20:c1:8b:c3 
# ifconfig eri0 192.168.6.25/27 broadcast + up
# vi /etc/nodename
mynewhostname
# ifconfig -a

lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.06.25 netmask ffffffe0 broadcast 10.255.255.255
        ether 8:0:20:c1:8b:c3 
# hostname
mynewhostname

IPv4 アドレスに CIDR 表記を使用するときは、ネットマスクを指定する必要はありません。ifconfig は、指定されたネットワーク接頭辞を使用して、ネットマスクを決定します。たとえば、ifconfig は、192.168.6.0/27 ネットワークに対して ffffffe0 というネットマスクを設定します。より一般的な /24 接頭辞指定を使用した場合は、ffffff00 というネットマスクが設定されます。新しい IP アドレスを構成するときに、ifconfig/24 接頭辞指定を使用することとネットマスク 255.255.255.0 を指定することは同等です。


参照

一次ネットワークインタフェース以外のインタフェースの IP アドレスを変更する場合は、『Solaris のシステム管理 (基本編)』「システムインストール後に物理インタフェースを構成する方法」を参照してください。

IPv4 ネットワーク上でのパケット転送と経路制御

この節では、IPv4 ネットワーク上のルーターとホストに対して転送と経路制御を設定する手順および例を示します。

パケット転送」は、ネットワーク上のシステム間で情報を共有するための基本的な方法です。転送元インタフェースと転送先インタフェース間で、パケットが転送されます。通常、2 つのインタフェースのシステムは異なります。ローカルでないインタフェースにコマンドを発行するかメッセージを送信すると、システムによりこれらのパケットがローカルネットワーク上に転送されます。その後、パケットヘッダー内に指定された宛先 IP アドレスを持つインタフェースが、ローカルネットワークからパケットを取得します。着信先アドレスがローカルネットワーク上に存在しない場合、パケットは隣接するネットワークに転送 (ホップ) されます。デフォルトでは、パケット転送は Oracle Solaris のインストール時に自動的に設定されます。

「経路制御」は、システムがパケットの送信先を決定する処理のことです。システム上の経路制御プロトコルは、ローカルネットワーク上のほかのシステムを「検出」します。送信元システムと送信先システムが同じローカルネットワーク上にある場合、これらのシステム間でパケットが通過する経路は「直接ルート」と呼ばれます。パケットが送信元システムのあとに少なくとも 1 つのホップを通過しなければならない場合、送信元システムと送信先システムの間の経路は「間接ルート」と呼ばれます。経路制御プロトコルは、転送先インタフェースへのパスを取得して、既知の送信ルートに関するデータをシステムの「経路制御テーブル」内に保持します。

ルーター」は、複数の物理インタフェースを備える、特別に構成されたシステムです。ルーターは、この物理インタフェースを介して複数のローカルネットワークに接続されます。このため、ルーターは、経路制御プロトコルを実行するかどうかに関係なく、ホームの LAN を越えてパケットを転送できます。ルーターによるパケット転送方法の詳細は、「ネットワーク上でのルーターの計画」を参照してください。

「経路制御プロトコル」は、システムでの経路制御活動を処理し、経路制御情報をほかのホストと交換することで、リモートネットワークへの既知のルートを維持管理します。経路制御プロトコルはルーターとホストの両方で実行できます。ホストの経路制御プロトコルは、ほかのルーターやホストの経路制御デーモンと通信します。ホストはこれらのプロトコルを利用して、パケットの転送先を決定します。ネットワークインタフェースが使用可能な場合、システムは経路制御デーモンとの通信を自動的に行います。これらのデーモンは、ネットワーク上のルーターの状態を監視し、ローカルネットワーク上のホストにルーターのアドレスを通知します。すべてではありませんが、一部の経路制御プロトコルは統計情報も保持します。この統計を使って、経路制御パフォーマンスを計測できます。パケット転送とは異なり、Oracle Solaris システム上で経路制御を明示的に設定する必要があります。

この節では、パケット転送の管理および IPv4 ルーターとホスト上での経路制御のタスクについて説明します。IPv6 が有効なネットワークでの経路制御については、「IPv6 ルーターの構成」を参照してください。

Oracle Solaris でサポートされている経路制御プロトコル

経路制御プロトコルは、内部ゲートウェイプロトコル (IGP)、外部ゲートウェイプロトコル (EGP)、またはそれらの組み合わせに分類されます。「内部ゲートウェイプロトコル」は、一般的な管理制御下で、ネットワーク上のルーター間で経路制御情報を交換します。図 5–3 は、ルーターが経路制御情報を交換するために IGP を実行するネットワークトポロジを示します。「外部ゲートウェイプロトコル」を使用すると、ローカルのインターネットワークを外部ネットワークに接続するルーターは、外部ネットワーク上の別のルーターと情報を交換できます。たとえば、企業ネットワークを ISP に接続するルーターは、EGP を実行して、ISP の対応するルーターと経路制御情報を交換します。BGP (Border Gateway Protocol) は、さまざまな組織や IGP 間での経路制御情報送信に使用される、一般的な EGP です。

次の表に、Oracle Solaris 経路制御プロトコルおよび各プロトコルに関連するマニュアルの場所についての情報を示します。

表 5–1 Oracle Solaris 経路制御プロトコル

プロトコル 

関連するデーモン 

説明 

説明 

経路制御情報プロトコル (RIP) 

in.routed

IPv4 パケットの経路制御および経路制御テーブルの維持を行う IGP 

「IPv4 ルーターの構成方法」

ICMP (Internet Control Message Protocol) ルーター発見 

in.routed

ホストがネットワーク上のルーターの存在を検索するために使用します 

「単一インタフェースホストで静的経路制御を有効にする方法」および 「単一インタフェースホストで動的経路制御を有効にする方法」

RIPng (Routing Information Protocol, next generation) プロトコル 

in.ripngd

IPv6 パケットの経路制御および経路制御テーブルの維持を行う IGP 

「IPv6 対応のルーターを構成する方法」

ND (Neighbor Discovery) プロトコル 

in.ndpd

IPv6 ルーターの存在を通知し、ネットワーク上の IPv6 ホストの存在を検索します 

「IPv6 インタフェースの構成」

Oracle Solaris 10 では、オープンソースの Quagga 経路制御プロトコル群もサポートされます。これらのプロトコルは、SFW 統合ディスクから入手できますが、メインの Oracle Solaris ディストリビューションには含まれていません。次の表に、Quagga プロトコルを示します。

表 5–2 OpenSolaris Quagga プロトコル

プロトコル 

デーモン  

説明 

RIP プロトコル 

ripd

IPv4 距離ベクトル型 IGP。IPv4 パケットの経路制御および近傍への経路制御テーブルの通知を行います。 

RIPng 

ripngd

IPv6 距離ベクトル型 IGP。IPv6 パケットの経路制御および経路制御テーブルの維持を行います。 

OSPF (Open Shortest Path First) プロトコル 

ospfd

パケットの経路制御および高可用性ネットワークのための IPv4 リンク状態型 IGP。 

BGP (Border Gateway Protocol) 

bgpd

管理ドメインを越える経路制御のための IPv4 および IPv6 EGP。 

次の図に、Quagga 経路制御プロトコルを使用する自律システムを示します。

図 5–2 Quagga プロトコルを実行する企業ネットワーク

この図は、Quagga 経路制御プロトコルを実行する企業ネットワークを示しています。この図については本文中で説明しています。

この図は、2 つの経路制御ドメイン A と B に分割された企業ネットワークの自律システムを示しています。「経路制御ドメイン」とは、管理上の目的で、あるいはドメインで単一の経路制御プロトコルが使用されているという理由から、密接した経路制御ポリシーを持っているインターネットワークのことです。この図のドメインはどちらも、Quagga プロトコル群の経路制御プロトコルを実行します。

経路制御ドメイン A は OSPF ドメインであり、単一の OSPF ドメイン ID で管理されます。このドメイン内のシステムはすべて、内部ゲートウェイプロトコルとして OSPF を実行します。内部のホストおよびルーターに加え、ドメイン A には 2 つのボーダールーターがあります。

ボーダールーター R1 は、企業ネットワークを ISP に接続し、最終的にはインターネットに接続します。企業ネットワークと外部の間の通信を容易にするために、R1 はその外部に面したネットワークインタフェース上で BGP を実行します。ボーダールーター R5 は、ドメイン A とドメイン B を接続します。ドメイン B のシステムはすべて、内部ゲートウェイプロトコルとして RIP を使用して管理されます。したがって、ボーダールーター R5 は、ドメイン A に面したインタフェース上では OSPF を実行し、ドメイン B に面したインタフェース上では RIP を実行する必要があります。

Quagga プロトコルの詳細は、Open Solaris Quagga を参照してください。これらのプロトコルの構成手順については、Quagga のマニュアル を参照してください。

IPv4 自律システムのトポロジ

複数のルーターとネットワークを持つサイトでは、通常そのネットワークトポロジは単一の経路制御ドメイン、つまり「自律システム (AS: Autonomous System)」として管理されます。次の図に、小規模な AS と見なすことのできる典型的なネットワークトポロジを示します。この節では、すべての例にこのトポロジを使用します。

図 5–3 複数の IPv4 ルーターを備えた自律システム

この自律システムのトポロジ図については、次の本文中で説明しています。

この図は、3 つのローカルネットワーク 10.0.5.0172.20.1.0、および 192.168.5 に分割された AS を示しています。4 台のルーターが、パケット転送と経路制御の役目を分担しています。この AS には、次の種類のシステムが含まれています。

IPv4 ルーターの構成

この節では、IPv4 ルーターを構成する手順と例を説明します。IPv6 対応のルーターを構成する方法については、「IPv6 対応のルーターを構成する方法」を参照してください。

ルーターは複数のネットワーク間のインタフェースを提供するため、ルーターの物理ネットワークインタフェースごとに一意の名前および IP アドレスを割り当てる必要があります。これで、各ルーターは、その一次ネットワークインタフェースのホスト名と IP アドレスに加えて、増設した各ネットワークインタフェースについて少なくとも 1 つずつ、一意な名前と IP アドレスを持つことになります。

次の手順を使えば、物理インタフェースが 1 つだけのシステム (デフォルトではホスト) をルーターとして構成することもできます。システムを PPP リンクの 1 つのエンドポイントとして使用するような場合、単一インタフェースのシステムをルーターとして構成する場合があります (『Solaris のシステム管理 (ネットワークサービス)』「ダイアルアップ PPP リンクの計画」を参照)。


注 –

Oracle Solaris システムのインストール時にルーターのすべてのインタフェースを構成できます。手順については、『Oracle Solaris 10 9/10 インストールガイド (基本編)』を参照してください。


ProcedureIPv4 ルーターの構成方法

次の手順では、システムのインストール後にルーターのインタフェースを構成していることを想定しています。

始める前に

ルーターをネットワークに物理的に設置してから、ローカルファイルモードで動作するようにルーターを構成します。詳細は、「ローカルファイルモードの場合のホストの構成方法」を参照してください。これで、ネットワーク構成サーバーがダウンしても、ルーターが確実にブートされるようになります。

  1. ルーターとして構成されるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. Solaris 10 1/06 リリース以降では、dladm show-link コマンドを使って、ルーターに物理的に取り付けられているインタフェースを判定します。


    # dladm show-link
    

    次の dladm show-link コマンドの出力例は、4 つのインタフェースを持つ qfe NIC と 2 つの bge インタフェースがシステム上で物理的に使用可能であることを示しています。


    qfe0             type: legacy    mtu: 1500       device: qfe0
    qfe1             type: legacy    mtu: 1500       device: qfe1
    qfe2             type: legacy    mtu: 1500       device: qfe0
    qfe3             type: legacy    mtu: 1500       device: qfe1
    bge0             type: non-vlan  mtu: 1500       device: bge0
    bge1             type: non-vlan  mtu: 1500       device: bge1
  3. インストール時に、ルーター上のどのインタフェースが構成され、plumb されたのかを確認します。


    # ifconfig -a
    

    次の ifconfig -a コマンドの出力例は、インストール時にインタフェース qfe0 が構成されたことを示しています。このインタフェースは 172.16.0.0 ネットワークにあります。qfe NIC の残りのインタフェースである qfe1 - qfe3、および bge インタフェースは構成されていません。


    lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000 
    qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
            inet 172.16.26.232 netmask ffff0000 broadcast 172.16.26.255
            ether 0:3:ba:11:b1:15 
             
  4. 別のインタフェースを構成して plumb します。


    # ifconfig interface plumb up
    

    たとえば、qfe1 の場合は、次のように入力します。


    # ifconfig qfe1 plumb up
    

    注 –

    ifconfig コマンドを使用して明示的に構成されたインタフェースは、リブート後には保持されません。


  5. インタフェースに IPv4 アドレスとネットマスクを割り当てます。


    注意 – 注意 –

    IPv4 ルーターがその IP アドレスを DHCP 経由で受け取るように構成することもできますが、これは十分に経験を積んだ DHCP システム管理者だけが行うようにしてください。



    # ifconfig interface IPv4-address netmask+netmask
    

    たとえば、IP アドレス 192.168.84.3qfe1 に割り当てるには、次のいずれかを実行します。

    • 従来の IPv4 の表記法を使用して、次のように入力します。


      # ifconfig qfe1 192.168.84.3 netmask + 255.255.255.0
      
    • CIDR の表記法を使用して、次のように入力します。


      # ifconfig qfe1 192.168.84.3/24
      

      接頭辞 /24 により、自動的にネットマスク 255.255.255.0qfe1 に割り当てられます。CIDR の接頭辞と、それと同等の 10 進ドット表記のネットマスクの表については、図 2–2 を参照してください。

  6. (省略可能) リブート後もインタフェースの構成が保持されるようにするには、追加の物理インタフェースごとに /etc/hostname.interface ファイルを作成します。

    たとえば、/etc/hostname.qfe1 ファイルと /etc/hostname.qfe2 ファイルを作成します。次に、ホスト名 timbuktu/etc/hostname.qfe1 ファイルに入力し、ホスト名 timbuktu-201/etc/hostname.qfe1 ファイルに入力します。個々のインタフェースを構成する方法の詳細については、「システムインストール後に物理インタフェースを構成する方法」を参照してください。

    このファイルを作成したあとは、必ず構成リブートを実行してください。


    # reboot -- -r
    
  7. 各インタフェースのホスト名と IP アドレスを /etc/inet/hosts ファイルに追加します。

    次に例を示します。


    172.16.26.232      deadsea        #interface for network 172.16.0.0
    192.168.200.20     timbuktu       #interface for network 192.168.200
    192.168.201.20     timbuktu-201   #interface for network 192.168.201
    192.168.200.9      gobi
    192.168.200.10     mojave
    192.168.200.110    saltlake
    192.168.200.12     chilean

    インタフェース timbuktutimbuktu-201 は、同じシステムにあります。timbuktu-201 のネットワークアドレスが、timbuktu のネットワークインタフェースとは異なる点に注意してください。この違いは、ネットワーク 192.168.201 の物理ネットワークメディアが timbuktu-201 ネットワークインタフェースに接続されているのに対し、ネットワーク 192.168.200 のメディアは timbuktu インタフェースに接続されているためです。

  8. Solaris 10 11/06 以前の Solaris 10 リリースの場合のみ、新しいインタフェースのそれぞれの IP アドレスとホスト名を、/etc/inet/ipnodes ファイルまたは同等の ipnodes データベースに追加します。

    次に例を示します。


    vi /etc/inet/ipnodes
    172.16.26.232      deadsea        #interface for network 172.16.0.0
    192.168.200.20     timbuktu       #interface for network 192.168.200
    192.168.201.20     timbuktu-201   #interface for network 192.168.201
    
  9. このルーターがサブネット化されたいずれかのネットワークに接続されている場合は、ネットワーク番号とネットマスクを /etc/inet/netmasks ファイルに追加します。

    • 192.168.83.0 など、従来の IPv4 アドレス表記法の場合は、次のように入力します。


      192.168.83.0    255.255.255.0
    • CIDR アドレスの場合は、/etc/inet/netmask ファイルのエントリに接頭辞の 10 進ドット表記のバージョンを使用します。ネットワークの接頭辞とそれと同等の 10 進ドット表記については、図 2–2 を参照してください。たとえば、192.168.3.0/22 という CIDR ネットワーク接頭辞を表現するには、/etc/netmasks ファイルで次のエントリを使用します。


      192.168.3.0 255.255.252.0
  10. ルーターで IPv4 パケット転送を使用可能にします。

    次のいずれかのコマンドを使用して、パケット転送を有効にします。

    • routeadm コマンドを次のように使用します。


      # routeadm -e ipv4-forwarding -u
      
    • 次のサービス管理機能 (SMF) コマンドを使用します。


      # svcadm enable ipv4-forwarding
      

    これで、ルーターは、ローカルネットワークの外にもパケットを転送できます。さらにルーターは、ルートを手動で経路制御テーブルに追加できる機能である、「静的経路制御」もサポートします。このシステムで静的経路制御を使用する場合は、 ルーターの構成はこれで終わりです。ただし、システム経路制御テーブルで、ルートを維持管理する必要があります。ルートの追加方法については、「ルートの設定」および route(1M) のマニュアルページを参照してください。

  11. (任意) 経路制御プロトコルを起動する。

    経路制御デーモン /usr/sbin/in.routed は自動的に経路制御テーブルを更新します。このプロセスのことを「動的経路制御」と呼びます。次のいずれかの方法で、デフォルトの IPv4 経路制御プロトコルをオンに設定します。

    • routeadm コマンドを次のように使用します。


      # routeadm -e ipv4-routing -u
      
    • 次の SMF コマンドを使用して、RIP などの経路制御プロトコルを起動します。


      # svcadm enable route:default
      

      in.routed デーモンに関連付けられている SMF FMRI は svc:/network/routing/route です。

    routeadm コマンドの詳細については、routeadm(1M) のマニュアルページを参照してください。


例 5–4 ネットワークのデフォルトルーターを構成する

この例では、複数のインタフェースを持つシステムを、デフォルトルーターにアップグレードする方法を示します。目標は、図 5–3 に示されたルーター 2 を、ネットワーク 172.20.1.0 のデフォルトルーターにすることです。ルーター 2 には有線ネットワーク接続が 2 つあり、1 つはネットワーク 172.20.1.0、もう 1 つはネットワーク 10.0.5.0 に接続されています。この例では、ルーターはローカルファイルモードで動作するものとします。このモードについては、「ローカルファイルモードの場合のホストの構成方法」を参照してください。

スーパーユーザーになるか、同等の役割になったあと、システムのインタフェースの状態を調べます。Solaris 10 1/06 以降では、dladm コマンドを次のように使用できます。


# dladm show-link
ce0             type: legacy    mtu: 1500       device: ce0 
bge0            type: non-vlan  mtu: 1500       device: bge0 
bge1            type: non-vlan  mtu: 1500       device: bge1

# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
ce0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 172.20.1.10 netmask ffff0000 broadcast 172.20.10.100
        ether 8:0:20:c1:1b:c6 

dladm show-link の出力は、システムで 3 つのリンクが使用可能であることを示しています。ce0 インタフェースだけが plumb されています。デフォルトルーターの構成を始めるために、まず bge0 インタフェースを 10.0.5.0 ネットワークに物理的に接続します。次に、このインタフェースを plumb し、リブート後も保持されるようにします。


# ifconfig bge0 plumb up
# ifconfig bge0 10.0.5.10
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
ce0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 172.20.1.10 netmask ffff0000 broadcast 172.255.255.255
        ether 8:0:20:c1:1b:c6 
bge0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.5.10 netmask ff000000 broadcast 10.255.255.255
        ether 8:0:20:e5:95:c4
 # vi /etc/hostname.bge0
10.0.5.10
255.0.0.0

再構成用ブートコマンドを使用して、システムをリブートします。


# reboot -- -r

続いて、新たに plumb したこのインタフェースの情報とその接続先ネットワークの情報を使用して、次のネットワークデータベースを設定します。


# vi /etc/inet/hosts
127.0.0.1       localhost
172.20.1.10        router2        #interface for network 172.20.1
10.0.5.10          router2-out    #interface for network 10.0.5
# vi /etc/inet/netmasks
172.20.1.0    255.255.0.0
10.0.5.0      255.0.0.0

最後に、SMF を使用してパケット転送を有効にしてから、in.routed 経路制御デーモンを有効にします。


# svcadm enable ipv4-forwarding
# svcadm enable route:default

これで、IPv4 パケット転送と RIP による動的経路制御がルーター 2 で有効になりました。ただし、ネットワーク 172.20.1.0 のデフォルトルーターの構成はまだ完了していません。次の作業を行う必要があります。


経路制御テーブルと経路制御の種類

ルーターとホストの両方で「経路制御テーブル」が管理されます。各システムの経路制御デーモンは、すべての既知のルートを使用してテーブルを更新します。システムのカーネルは、パケットをローカルネットワークに転送する前に、経路制御テーブルを読み取ります。経路制御テーブルには、システムのデフォルトのローカルネットワークも含め、システムで知られているネットワークの IP アドレスがリストされています。このテーブルには、既知の各ネットワークに対するゲートウェイシステムの IP アドレスもリストされています。「ゲートウェイ」とは、発信されるパケットを受け取り、ローカルネットワークより 1 つ外側のホップに転送するシステムのことです。次に、IPv4 専用ネットワーク上にあるシステムの単純な経路制御テーブルを示します。


Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
default              172.20.1.10          UG       1    532   ce0
224.0.0.0            10.0.5.100           U        1      0   bge0
10.0.0.0             10.0.5.100           U        1      0   bge0
127.0.0.1            127.0.0.1            UH       1     57   lo0

Oracle Solaris システムでは、2 種類の経路制御を設定できます。静的なものと動的なものです。1 つのシステムに、これらの経路制御のどちらか一方を設定することも、両方を設定することもできます。「動的経路制御」を実装するシステムは、IPv4 ネットワークの場合は RIP、IPv6 ネットワークの場合は RIPng などの経路制御プロトコルを利用して、経路制御テーブルを管理します。「静的経路制御」だけを実行するシステムは、経路制御情報の取得や経路制御テーブルの更新を経路制御プロトコルに依存しません。その代わり、システムの既知のルートを、route コマンドを使って手動で管理する必要があります。詳細は、route(1M) のマニュアルページを参照してください。

ローカルネットワークまたは自律システムの経路制御を設定するときは、特定のルーターやホストでどの種類の経路制御をサポートするかを検討してください。

次の表に、経路制御の種類と、それぞれの種類の経路制御を適用するのに最も適したネットワークの条件を示します。

経路制御の種類 

最適な使用対象 

静的 

小規模なネットワーク、デフォルトルーターから経路を取得するホスト、および、隣接する数ホップの範囲にある 1 つか 2 つのルーターに関する情報のみを必要とするデフォルトルーター。

動的 

より規模の大きいインターネットワーク、多数のホストを含むローカルネットワーク上のルーター、および、大規模な自律システム上のホスト。動的経路制御は、ほとんどのネットワークのシステムに最適です。

静的経路制御と動的経路制御の組み合わせ 

静的に経路制御されるネットワークと動的に経路制御されるネットワークを接続するルーター、および、内部の自律システムと外部のネットワークを接続するボーダールーター。1 つのシステムで静的経路制御と動的経路制御の両方を組み合わせることは、一般的に行われています。 

図 5–3 に示された AS は、静的経路制御と動的経路制御の両方を組み合わせて使用しています。

ルートの設定

IPv4 ネットワークに動的経路制御を実装するには、routeadm コマンドまたは svcadm コマンドを使用して in.routed 経路制御デーモンを起動します。手順については、「IPv4 ルーターの構成方法」を参照してください。動的経路制御は、ほとんどのネットワークおよび自律システムに最適な方法です。ただし、使用しているネットワークトポロジやネットワーク上の特定のシステムで、静的経路制御が必要になる場合もあります。その場合は、システムの経路制御テーブルを手動で編集して、ゲートウェイへの既知のルートを反映させる必要があります。次の手順は、静的ルートを追加する方法を示しています。


注 –

同じ宛先へのルートが 2 つあっても、システムで負荷分散やフェイルオーバーが自動的に行われるわけではありません。これらの機能が必要な場合は、第 30 章IPMP の紹介 (概要)に説明されている IPMP を使用します。


Procedure経路制御テーブルに静的ルートを追加する方法

  1. 経路制御テーブルの現在の状態を表示します。

    通常のユーザーアカウントを使用して、次の形式の netstat コマンドを実行します。


    % netstat -rn
    

    次のような出力が表示されます。


    Routing Table: IPv4
      Destination           Gateway           Flags  Ref   Use   Interface
    -------------------- -------------------- ----- ----- ------ ---------
    192.168.5.125        192.168.5.10          U      1   5879   ipge0
    224.0.0.0            198.168.5.10          U      1  0       ipge0
    default              192.168.5.10          UG     1  91908
    127.0.0.1            127.0.0.1             UH     1  811302   lo0
  2. Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  3. (省略可能) 経路制御テーブル内の既存のエントリを消去します。


    # route flush
    
  4. リブート後も保持されるルートを追加します。


    # route -p add -net network-address -gateway gateway-address
    
    -p

    リブート後も保持される必要のあるルートを作成します。現在のセッションだけに有効なルートを作成する場合は、-p オプションを使用しないでください。

    add

    そのあとに指定されているルートを追加することを示します。

    -net network-address

    network-address で指定されたアドレスを持つネットワークへのルートであることを示します。

    -gateway gateway-address

    指定されたルートのゲートウェイシステムの IP アドレスが gateway-address であることを示します。


例 5–5 経路制御テーブルに静的ルートを追加する

次の例は、システムに静的ルートを追加する方法を示しています。このシステムは、図 5–3 で示されている、172.20.1.0 ネットワークのデフォルトルーターであるルーター 2 です。例 5–4 では、ルーター 2 は動的経路制御用に構成されています。ネットワーク 172.20.1.0 上のホストのデフォルトルーターとしてルーター 2 の機能を向上させるには、AS のボーダールーター 10.0.5.150 への静的ルートを追加する必要があります。

ルーター 2 の経路制御テーブルを表示するために、次の手順を実行します。


# netstat -rn
Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
default              172.20.1.10          UG        1    249 ce0
224.0.0.0            172.20.1.10          U         1      0 ce0
10.0.5.0             10.0.5.20            U         1     78 bge0
127.0.0.1            127.0.0.1            UH        1     57 lo0

この経路制御テーブルは、ルーター 2 に既知のルートが 2 つあることを示しています。デフォルトのルートは、ルーター 2 の 172.20.1.10 インタフェースをゲートウェイとして使用します。2 番目のルート 10.0.5.0 は、ルーター 2 で実行中の in.routed デーモンによって検出されました。このルートのゲートウェイはルーター 1 で、その IP アドレスは 10.0.5.20 です。

ネットワーク 10.0.5.0 にはボーダールーターとして機能するゲートウェイがあります。このネットワークへのルートをもう 1 つ追加するには、次の手順を実行します。


# route -p add -net 10.0.5.0/24 -gateway 10.0.5.150/24
add net 10.0.5.0: gateway 10.0.5.150

これで、IP アドレス 10.0.5.150/24 を持つボーダールーターへのルートが、経路制御テーブルに追加されました。


# netstat -rn
Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
default              172.20.1.10          UG        1    249 ce0
224.0.0.0            172.20.1.10          U         1      0 ce0
10.0.5.0             10.0.5.20            U         1     78 bge0
10.0.5.0             10.0.5.150           U         1    375 bge0
127.0.0.1            127.0.0.1            UH        1     57 lo0

マルチホームホストの構成

Oracle Solaris では、複数のインタフェースを持つシステムは「マルチホームホスト」であると見なされます。マルチホームホストは IP パケットを転送しません。ただし、経路制御プロトコルを実行するようにマルチホームホストを構成することはできます。一般に、次のような種類のシステムをマルチホームホストとして構成します。

Procedureマルチホームホストの作成方法

  1. 予定するマルチホームホストで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. Oracle Solaris インストールの一部として構成されなかった追加の各ネットワークインタフェースを、構成して plumb します。

    詳細は、「システムインストール後に物理インタフェースを構成する方法」を参照してください。

  3. マルチホームホストで IP 転送が使用可能になっていないことを確認します。


    # routeadm
     
    

    オプションを指定せずに routeadm コマンドを実行すると、経路制御デーモンの状態が報告されます。次の routeadm の出力は、IPv4 転送が有効になっていることを示しています。


       Configuration   Current              Current
                         Option   Configuration        System State
    ---------------------------------------------------------------
                   IPv4 routing   disabled             disabled
                   IPv6 routing   disabled             disabled
                IPv4 forwarding   enabled              disabled
                IPv6 forwarding   disabled             disabled
    
                Routing services   "route:default ripng:default"
  4. システムでパケット転送が有効になっている場合は、パケット転送をオフに設定します。

    次のコマンドのいずれかを使用します。

    • routeadm コマンドの場合は、次のように入力します。


      # routeadm -d ipv4-forwarding -u
      
    • SMF を使用する場合は、次のように入力します。


      # svcadm disable ipv4-forwarding
      
  5. (省略可能) マルチホームホストの動的経路制御をオンに設定します。

    次のいずれかのコマンドを使用して、in.routed デーモンを有効にします。

    • routeadm コマンドの場合は、次のように入力します。


      # routeadm -e ipv4-routing -u
      
    • SMF を使用する場合は、次のように入力します。


      # svcadm enable route:default
      

例 5–6 マルチホームホストの構成

次の例は、図 5–3 に示されているマルチホームホストを構成する方法を示しています。この例で、システムのホスト名は hostc です。このホストには 2 つのインタフェースがあり、両方ともネットワーク 192.168.5.0 に接続されています。

まず、システムのインタフェースの状態を表示します。


# dladm show-link
hme0           type: legacy    mtu: 1500       device: hme0 
qfe0           type: legacy    mtu: 1500       device: qfe0 
qfe1           type: legacy    mtu: 1500       device: qfe1 
qfe2           type: legacy    mtu: 1500       device: qfe2 
qfe3           type: legacy    mtu: 1500       device: qfe3
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
hme0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
      inet 192.168.5.82 netmask ff000000 broadcast 192.255.255.255
      ether 8:0:20:c1:1b:c6 
 

dladm show-link コマンドの報告は、hostc にはインタフェースが 2 つあり、可能なリンクが合計 5 つあることを示しています。ただし、hme0 だけが plumb されています。hostc をマルチホームホストとして構成するには、qfe NIC の qfe0 または別のリンクを追加する必要があります。まず、qfe0 インタフェースを 192.168.5.0 ネットワークに物理的に接続します。次に、qfe0 インタフェースを plumb し、リブート後も保持されるようにします。


# ifconfig qf0 plumb up
# ifconfig qfe0 192.168.5.85
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
hme0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.5.82 netmask ff0000 broadcast 192.255.255.255
        ether 8:0:20:c1:1b:c6 
qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.5.85 netmask ff000000 broadcast 192.255.255.255
        ether 8:0:20:e1:3b:c4
 # vi /etc/hostname.qfe0
192.168.5.85
255.0.0.0

再構成用ブートコマンドを使用して、システムをリブートします。


# reboot -- -r

次に、qfe0 インタフェースを hosts データベースに追加します。


# vi /etc/inet/hosts
127.0.0.1           localhost
192.168.5.82        host3    #primary network interface for host3
192.168.5.85        host3-2  #second interface

その後、host3 でのパケット転送と経路制御の状態を確認します。


# routeadm
              Configuration   Current              Current
                     Option   Configuration        System State
---------------------------------------------------------------
               IPv4 routing   enabled              enabled
               IPv6 routing   disabled             disabled
            IPv4 forwarding   enabled              enabled
            IPv6 forwarding   disabled             disabled

           Routing services   "route:default ripng:default"

routeadm コマンドの報告は、in.routed デーモンによる動的経路制御とパケット転送が現在有効になっていることを示しています。ただし、パケット転送を無効にする必要があります。


# svcadm disable ipv4-forwarding

「マルチホームホストの作成方法」で説明されているように、routeadm コマンドを使用してパケット転送をオフに設定することもできます。パケット転送を無効にすると、host3 はマルチホームホストになります。


単一インタフェースシステムの経路制御の設定

単一インタフェースホストは、何らかの形式の経路制御を実装する必要があります。ホストがそのルートを 1 つ以上のローカルデフォルトルーターから取得する場合は、静的経路制御を使用するようにホストを構成する必要があります。それ以外の場合は、ホストで動的経路制御を使用することをお勧めします。次の手順では、両方の種類の経路制御を有効にする方法を示します。

Procedure単一インタフェースホストで静的経路制御を有効にする方法

この手順は、単一インタフェースホストで静的経路制御を有効にします。静的経路制御を使用するホストは、RIP などの動的経路制御プロトコルをいっさい実行しません。代わりに、ホストはデフォルトルーターのサービスを利用して経路制御情報を取得する必要があります。「IPv4 自律システムのトポロジ」の図には、いくつかのデフォルトルーターとそのクライアントホストが示されています。特定のホストをインストールするときにデフォルトルーターの名前を指定した場合、そのホストはすでに、静的経路制御を使用するように構成されています。


注 –

次の手順を使用して、マルチホームホストで静的経路制御を設定することもできます。


/etc/defaultrouter ファイルの詳細については、/etc/defaultrouter ファイル」を参照してください。静的経路制御と経路制御テーブルの詳細については、「経路制御テーブルと経路制御の種類」を参照してください。

  1. 単一インタフェースのホスト上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. ホストに /etc/defaultrouter ファイルが存在するかどうかを確認します。


    # cd /etc
    # ls | grep defaultrouter
    
  3. テキストエディタを開き、/etc/defaultrouter ファイルを作成または変更します。

  4. デフォルトルーターのエントリを追加します。


    # vi  /etc/defaultrouter
    router-IP
           
    

    ここで、router-IP は、ホストが使用するデフォルトルーターの IP アドレスを示しています。

  5. 経路制御とパケット転送がホストで実行されていないことを確認します。


    # routeadm
       Configuration   Current              Current
                         Option   Configuration        System State
    ---------------------------------------------------------------
                   IPv4 routing   disabled             disabled
                   IPv6 routing   disabled             disabled
                IPv4 forwarding   disabled            disabled
                IPv6 forwarding   disabled             disabled
    
               Routing services   "route:default ripng:default"
  6. デフォルトルーターのエントリをローカルの /etc/inet/hosts ファイルに追加します。

    /etc/inet/hosts の構成については、「IPv4 アドレスおよびその他のネットワーク構成パラメータを変更する方法」を参照してください。


例 5–7 単一インタフェースホストのデフォルトルーターと静的経路制御を設定する

次の例は、単一インタフェースホスト hostb に静的経路制御を設定する方法を示しています。このホストは、図 5–3 に示されているネットワーク 172.20.1.0 上にあります。hostb は、そのデフォルトルーターとしてルーター 2 を使用する必要があります。

まず、スーパーユーザーまたは同等の役割として hostb にログインします。次に、ホストに /etc/defaultrouter ファイルが存在するかどうかを調べます。


# cd /etc
# ls | grep defaultrouter

grep で検出されなかったので、/etc/defaultrouter ファイルを作成する必要があります。


# vi /etc/defaultrouter
172.20.1.10

/etc/defaultrouter ファイルのエントリは、172.20.1.0 ネットワークに接続されているルーター 2 のインタフェースの IP アドレスです。次に、ホストでパケット転送や経路制御が現在有効になっているかどうかを確認します。


# routeadm
   Configuration   Current              Current
                     Option   Configuration        System State
---------------------------------------------------------------
               IPv4 routing   disabled             disabled
               IPv6 routing   disabled             disabled
            IPv4 forwarding   enabled              enabled
            IPv6 forwarding   disabled             disabled

           Routing services   "route:default ripng:default"

この特定のホストでは、パケット転送が有効になっています。次のように、これをオフに設定します。


# svcadm disable ipv4-forwarding

最後に、ホストの /etc/inet/hosts ファイルにこの新しいデフォルトルーターのエントリが存在することを確認します。


# vi /etc/inet/hosts
127.0.0.1           localhost
172.20.1.18         host2    #primary network interface for host2
172.20.1.10         router2  #default router for host2

Procedure単一インタフェースホストで動的経路制御を有効にする方法

動的経路制御は、ホストで経路制御を管理するためのもっとも簡単な方法です。動的経路制御を使用するホストは、IPv4 の場合は in.routed デーモンで提供される経路制御プロトコルを実行し、IPv6 の場合は in.ripngd デーモンで提供される経路制御プロトコルを実行します。単一インタフェースホストで IPv4 動的経路制御を有効にするには、次の手順を使用します。動的経路制御の詳細は、「IPv4 ネットワーク上でのパケット転送と経路制御」を参照してください。

  1. ホスト上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc/defaultrouter ファイルがあることを確認します。


    # cd /etc
    # ls | grep defaultrouter
    
  3. /etc/defaultrouter が存在する場合は、その中のエントリをすべて削除します。

    /etc/defaultrouter ファイルが空の場合、ホストは自動的に動的経路制御を使用します。

  4. ホストでパケット転送と経路制御が有効になっているかどうかを確認します。


    # routeadm
       Configuration   Current              Current
                         Option   Configuration        System State
    ---------------------------------------------------------------
                   IPv4 routing   disabled             disabled
                   IPv6 routing   disabled             disabled
                IPv4 forwarding   enabled              enabled
                IPv6 forwarding   disabled             disabled
    
               Routing services   "route:default ripng:default"
  5. パケット転送が有効になっている場合は、パケット転送をオフに設定します。

    次のコマンドのいずれかを使用します。

    • routeadm コマンドの場合は、次のように入力します。


      # routeadm -d ipv4-forwarding -u
      
    • SMF を使用する場合は、次のように入力します。


      # svcadm disable ipv4-forwarding
      
  6. ホストで経路制御プロトコルを有効にします。

    次のコマンドのいずれかを使用します。

    • routeadm コマンドの場合は、次のように入力します。


      # routeadm -e ipv4-routing -u
      
    • SMF を使用する場合は、次のように入力します。


      # svcadm enable route:default
      

    これで、IPv4 動的経路制御が有効になりました。ホストの経路制御テーブルは、in.routed デーモンによって動的に管理されます。


例 5–8 単一インタフェースホストで動的経路制御を実行する

次の例は、単一インタフェースホスト hosta に動的経路制御を設定する方法を示しています。このホストは、図 5–3 に示されているネットワーク 192.168.5.0 上にあります。hosta は、そのデフォルトルーターとしてルーター 1 を現在使用しています。ただし、これからは hosta で動的経路制御を実行する必要があります。

まず、スーパーユーザーまたは同等の役割として hosta にログインします。次に、ホストに /etc/defaultrouter ファイルが存在するかどうかを調べます。


# cd /etc
# ls | grep defaultrouter
defaultrouter

grep で検出されたので、hosta には /etc/defaultrouter ファイルが存在します。


# vi /etc/defaultrouter
192.168.5.10

このファイルには 192.168.5.10 というエントリがあります。これはルーター 1 の IP アドレスです。静的経路制御を有効にするには、このエントリを削除します。次に、ホストでパケット転送と経路制御がすでに有効になっているかどうかを確認する必要があります。


# routeadm   Configuration   Current              Current
                     Option   Configuration        System State
---------------------------------------------------------------
               IPv4 routing   disabled             disabled
               IPv6 routing   disabled             disabled
            IPv4 forwarding   disabled             disabled
            IPv6 forwarding   disabled             disabled

           Routing services   "route:default ripng:default"

hosta では、経路制御とパケット転送の両方がオフに設定されています。次のように経路制御をオンに設定して、hosta の動的経路制御の設定を完了します。


# svcadm enable route:default

トランスポート層サービスの監視と変更

トランスポート層プロトコル TCP、SCTP、および UDP は、Oracle Solaris の標準パッケージの一部です。 通常、これらのプロトコルは、ユーザーの介入なしで正常に動作します。ただし、サイトの条件によっては、トランスポート層プロトコルの上で動作するサービスをログまたは変更しなければならない場合があります。次に、サービス管理機能 (SMF) を使ってこれらのサービスのプロファイルを変更する必要があります。SMF については、『Solaris のシステム管理 (基本編)』の第 18 章「サービスの管理 (概要)」を参照してください。

inetd デーモンは、システムが起動されると、標準的なインターネットサービスを起動します。これらのサービスは、TCP や SCTP、UDP をそのトランスポート層プロトコルとして使用するアプリケーションなどです。SMF コマンドを使えば、既存のインターネットサービスの組み合わせを変更したり、新しいサービスを追加したりできます。inetd についての詳細は、inetd インターネットサービスデーモン」を参照してください。

トランスポート層プロトコルが関係する操作には、次の操作があります。

inetd デーモンの詳細は、inetd(1M) のマニュアルページを参照してください。

Procedureすべての着信 TCP 接続の IP アドレスを記録する方法

  1. ローカルシステムで「ネットワーク管理者」役割になるか、スーパーユーザーになります。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. inetd で管理されるすべてのサービスに対して TCP トレースを使用可能にします。


    # inetadm -M tcp_trace=TRUE
    

ProcedureSCTP プロトコルを使用するサービスを追加する方法

SCTP トランスポートプロトコルは、TCP に類似した方法でアプリケーション層プロトコルにサービスを提供します。ただし、SCTP では 2 つのシステム間での通信が可能です。これらのシステムは、片方または両方がマルチホームであってもかまいません。SCTP 接続は「アソシエーション」と呼ばれます。アソシエーションでは、アプリケーションがデータを分割し、1 つまたは複数のメッセージストリームとして伝送します (マルチストリーム化)。SCTP 接続は、複数の IP アドレスを持つエンドポイントに到達できます。これは、テレフォニーアプリケーションにとって特に重要です。IP Filter や IPsec を使用する場合、SCTP のマルチホーム機能はセキュリティーの点で考慮を要します。考慮点については、sctp(7P) のマニュアルページを参照してください。

デフォルトで SCTP は Oracle Solaris に組み込まれています。したがって、構成を別に行う必要はありません。ただし、SCTP を使用するためには、一定のアプリケーション層サービスを明示的に構成しなければならない場合があります。このようなアプリケーションの例としては、echodiscard があります。次の手順は、ワンツーワンスタイルの SCTP ソケットを使用する echo サービスの追加方法を示しています。


注 –

さらに、次の手順を使えば、TCP や UDP のトランスポート層プロトコル用のサービスを追加できます。


次の作業では、inetd デーモンによって管理される SCTP inet サービスを SMF リポジトリに追加します。さらに、作業の後半では、サービス管理機能 (SMF) コマンドを使ってこのサービスを追加します。

始める前に

次の手順を実行する前に、サービスのマニフェストファイルを作成してください。この手順では、例として、echo サービス用のマニフェスト echo.sctp.xml を使用します。

  1. システムファイルに対する書き込みアクセス権を持つユーザーアカウントでローカルシステムにログインします。

  2. /etc/services ファイルを編集し、新しいサービスの定義を追加します。

    サービスを定義する構文は次のとおりです。


    service-name |port/protocol | aliases
    
  3. 新しいサービスを追加します。

    サービスマニフェストが格納されているディレクトリに移り、次のように入力します。


    # cd dir-name
    # svccfg import service-manifest-name
    

    svccfg の詳しい構文については、svccfg(1M) のマニュアルページを参照してください。

    現在 service.dir ディレクトリにあるマニフェスト echo.sctp.xml を使用して、SCTP の新しい echo サービスを追加するとします。その場合、次のように入力します。


    # cd service.dir
    # svccfg import echo.sctp.xml
    
  4. サービスマニフェストが追加されているか確認します。


    # svcs FMRI
    

    FMRI 引数には、サービスマニフェストの Fault Managed Resource Identifier (FMRI) を使用します。たとえば、SCTP の echo サービスの場合は、次のコマンドを使用します。


    # svcs svc:/network/echo:sctp_stream
    

    次のような出力が表示されます。


    	STATE          STIME    FMRI
    disabled       16:17:00 svc:/network/echo:sctp_stream

    svcs コマンドの詳細は、svcs(1) のマニュアルページを参照してください。

    出力は、新しいサービスマニフェストが使用不可になっていることを示しています。

  5. サービスの属性をリストして、変更を加える必要があるかどうかを決めます。


    # inetadm -l FMRI
    

    inetadm コマンドの詳細は、inetadm(1m) のマニュアルページを参照してください。

    たとえば、SCTP echo サービスの場合は、次のように入力します。


    # inetadm -l svc:/network/echo:sctp_stream
    SCOPE    NAME=VALUE
    	         name="echo"
    	         endpoint_type="stream"
    	         proto="sctp"
    	         isrpc=FALSE
    	         wait=FALSE
    	         exec="/usr/lib/inet/in.echod -s"
             .
             .
             default  tcp_trace=FALSE
           	default  tcp_wrappers=FALSE
  6. 新しいサービスを使用可能にします。


    # inetadm -e FMRI
    
  7. サービスが使用可能になっていることを確認します。

    たとえば、新しい echo サービスの場合、次のように入力します。


    # inetadm | grep sctp_stream
    .
    .
    	enabled   online         svc:/network/echo:sctp_stream

例 5–9 SCTP トランスポートプロトコルを使用するサービスの追加

次の例では、使用するコマンドと、echo サービスで SCTP トランスポート層プロトコルを使用するために必要なファイルエントリを示します。


$ cat /etc/services
.
.
echo            7/tcp
echo            7/udp
echo            7/sctp

# cd service.dir

	# svccfg import echo.sctp.xml

# svcs network/echo*
	STATE          STIME    FMRI
	disabled       15:46:44 svc:/network/echo:dgram
	disabled       15:46:44 svc:/network/echo:stream
	disabled       16:17:00 svc:/network/echo:sctp_stream

# inetadm -l svc:/network/echo:sctp_stream
	SCOPE    NAME=VALUE
	         name="echo"
	         endpoint_type="stream"
	         proto="sctp"
	         isrpc=FALSE
	         wait=FALSE
	         exec="/usr/lib/inet/in.echod -s"
	         user="root"
	default  bind_addr=""
	default  bind_fail_max=-1
	default  bind_fail_interval=-1
	default  max_con_rate=-1
	default  max_copies=-1
	default  con_rate_offline=-1
	default  failrate_cnt=40
	default  failrate_interval=60
	default  inherit_env=TRUE
	default  tcp_trace=FALSE
	default  tcp_wrappers=FALSE

# inetadm -e svc:/network/echo:sctp_stream

# inetadm | grep echo
	disabled  disabled       svc:/network/echo:stream
	disabled  disabled       svc:/network/echo:dgram
	enabled   online         svc:/network/echo:sctp_stream

ProcedureTCP ラッパーを使って TCP サービスのアクセスを制御する方法

TCP ラッパー」は tcpd プログラムによって実装されます。TCP ラッパーは、送られてくるサービス要求とサービスデーモンの間で動作することによって、ftpd などのサービスデーモンにセキュリティー対策を追加します。TCP ラッパーは、正常および異常な接続の試みを記録します。さらに、TCP ラッパーはアクセス制御の機能を備えています。したがって、要求の発行元がどこかによって接続を許可することも拒否することもできます。TCP ラッパーを使えば、SSH、Telnet、FTP などのデーモンを保護できます。さらに、sendmail アプリケーションでも TCP ラッパーを使用できます。詳細は、『Solaris のシステム管理 (ネットワークサービス)』「sendmail の version 8.12 からの TCP ラッパーのサポート」を参照してください。

  1. ローカルシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. TCP ラッパーを使用可能にします。


    # inetadm -M tcp_wrappers=TRUE
    
  3. TCP ラッパーのアクセス制御ポリシーを構成します (hosts_access(3) のマニュアルページを参照)。

    このマニュアルページは、Oracle Solaris CD-ROM と一緒にパッケージ化されている SFW CD-ROM の /usr/sfw/man ディレクトリにあります。

Solaris 10 3/05 の管理インタフェース

この節では、物理インタフェースの管理に必要な次の作業について説明します。

この節で説明する新機能

この節では、Solaris 10 3/05 OS ユーザーのみを対象として、インタフェースの構成情報について説明します。Oracle Solaris 10 の更新を使用している場合は、Chapter 6, ネットワークインタフェースの管理 (作業)を参照してください。Oracle Solaris の新機能すべての一覧や Oracle Solaris リリースの説明については、『Oracle Solaris 10 9/10 の新機能』を参照してください。

Solaris 10 3/05 での物理インタフェースの構成

Oracle Solaris ベースのシステムには通常、物理インタフェースと論理インタフェースの 2 つのタイプのインタフェースがあります。「物理インタフェース」はドライバとコネクタからなり、コネクタには、Ethernet ケーブルなどのネットワークメディアを接続します。「論理インタフェース」は、既存の物理インタフェースの上に論理的に構成されます。既存の物理インタフェースとは、トンネル用に構成されたインタフェースや IPv6 アドレスを使用するように構成されたインタフェースなどです。この節では、インストールされた物理インタフェースの構成方法について説明します。論理インタフェースの構成方法の説明は、論理インタフェースを必要とする機能のための作業に含まれています。たとえば、「IPv6 over IPv4 トンネルを手動で構成する方法」を参照してください。

物理インタフェースのタイプには、システムに組み込まれているインタフェースも、別個に購入したインタフェースも含まれます。それぞれのインタフェースは「ネットワークインタフェースカード」(NIC) の上で動作します。

組み込み NIC」は、システムの購入時にすでにシステムに組み込まれています。組み込み NIC で動作するインタフェースの例としては、eri0hme0 などの「一次ネットワークインタフェース」があります。システムの一次ネットワークインタフェースは、インストール時に構成する必要があります。

erihme などの NIC にはインタフェースが 1 つしかありません。ただし、多くの種類の NIC には複数のインタフェースがあります。qfe カードなどの複数インタフェース NIC には、qfe0 から qfe3 まで 4 つのインタフェースがあります。Oracle Solaris インストールプログラムは、インストール時に存在するすべてのインタフェースを検出し、それらを構成するかどうか確認します。これらのインタフェースの構成は、ブート時に行うことも、後日に行うこともできます。


注 –

NIC は「ネットワークアダプタ」とも呼ばれます。


システムには、組み込み NIC のほかに、別個に購入した NIC を追加できます。別個に購入した NIC は、製造元のマニュアルに従って物理的に取り付けてください。次に、NIC で動作するインタフェースを構成し、それらのインタフェースをデータトラフィックの受け渡しに使用できるようにします。

次に、インストール後に追加インタフェースをシステム上に構成する理由を示します。

Procedureインストール後に物理インタフェースを追加する方法 (Solaris 10 3/05 のみ)

始める前に

追加インタフェース用に使用する IPv4 アドレスを決めます。

構成する物理インタフェースはシステム上に存在していなければなりません。別個に購入した NIC ハードウェアのインストールについては、NIC に添付されている製造元のマニュアルを参照してください。

次の手順では、新しいインタフェースを物理的に取り付けたあと、すでに再起動 (boot-r) を実行してあるとします。


注 –

次の手順は Solaris 10 3/05 OS のユーザーにのみ該当します。Oracle Solaris 10 の更新を使用している場合は、「システムインストール後に物理インタフェースを構成する方法」を参照してください。


  1. インタフェースがあるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 別のインタフェースを構成して plumb します。


    # ifconfig interface plumb up
    

    たとえば、qfe0 の場合は、次のように入力します。


    # ifconfig qfe0 plumb up
    

    注 –

    ifconfig コマンドを使用して明示的に構成されたインタフェースは、リブート後には保持されません。


  3. インタフェースに IPv4 アドレスとネットマスクを割り当てます。


    # ifconfig interface IPv4-address netmask+netmask
    

    たとえば、qfe0 の場合は、次のように入力します。


    # ifconfig qfe0 10.0.0.32 netmask + 255.255.255.0
    
  4. 新しく構成したインタフェースが plumb されて構成済みの状態 (「UP」) であることを確認します。


    # ifconfig -a
    

    表示される各インタフェースの状態行を確認します。たとえば次のように出力の状態行に UP フラグが含まれていることを確認します。


    qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
  5. (省略可能) リブート後もインタフェースの構成が保持されるようにするには、次の手順を実行します。

    1. 構成するインタフェースごとに、/etc/hostname.interface ファイルを作成します。

      たとえば、qfe0 インタフェースを追加する場合には、次のファイルを作成します。


      # vi /etc/hostname.qfe0
      
    2. /etc/hostname.interface ファイルを編集します。

      少なくとも、インタフェースの IPv4 アドレスをファイルに追加します。ネットマスクやほかの構成情報もファイルに追加できます。


      注 –

      インタフェースに IPv6 アドレスを追加するには、「ホストとサーバーの IPv6 インタフェース構成の変更」を参照してください。


    3. 新しいインタフェース用のエントリを /etc/inet/hosts ファイルに追加します。

    4. 再構成用ブートを実行します。


      # reboot -- -r
      
    5. /etc/hostname.interface ファイルで作成したインタフェースが構成されていることを確認します。


      # ifconfig -a
      

例 5–10 システムのインストール後にインタフェースを構成

次の例では、2 つのインタフェース qfe0qfe1 を追加します。これらのインタフェースは、一次ネットワークインタフェース hme0 と同じネットワークに接続されます。これらのインタフェース構成は、システムの次回リブート時まで保持されます。リブート後も保持されるインタフェースを構成する方法の例は、例 6–2 を参照してください。ただし、その例で使用されている dladm コマンドは Solaris 10 1/06 OS 以降でのみ使用できます。


# ifconfig qfe0 plumb up
# ifconfig qfe1 plumb up
# ifconfig qfe0 10.0.0.32 netmask 255.0.0.0
# ifconfig qfe1 10.0.0.33 netmask 255.0.0.0

# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
hme0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.0.14 netmask ff000000 broadcast 10.255.255.255
        ether 8:0:20:c1:8b:c3 
qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 10.0.0.32 netmask ff000000 broadcast 10.255.255.255
        ether 8:0:20:c8:f4:1d 
qfe1: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4
        inet 10.0.0.33 netmask ff000000 broadcast 10.255.255.255
        ether 8:0:20:c8:f4:1e 

参照

Procedure物理インタフェースを削除する方法 (Solaris 10 3/05 のみ)


注 –

次の手順は Solaris 10 3/05 OS のユーザーにのみ該当します。Oracle Solaris 10 の更新を使用している場合は、「物理インタフェースを削除する方法」を参照してください。


  1. 削除するインタフェースがあるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 物理インタフェースを削除します。

    次の形式の ifconfig コマンドを使用します。


    # ifconfig interfacedown unplumb
    

    たとえば、eri1 を削除する場合には、次のように入力します。


    # ifconfig eri1 down unplumb
    

VLAN の構成 (Solaris 10 3/05 のみ)


注 –

この節では、Solaris 10 3/05 OS ユーザーのみを対象として、VLAN の構成情報について説明します。Oracle Solaris 10 の更新を使用している場合は、「仮想ローカルエリアネットワークの管理」を参照してください。


仮想ローカルエリアネットワーク (VLAN) は通常、一連のネットワークユーザーグループを管理可能なブロードキャストドメインに分割し、作業グループからなる一連の論理セグメントを作成し、各論理セグメントにセキュリティーポリシーを適用するために使用されます。アダプタに複数の VLAN を定義すれば、1 つのアダプタを持つサーバーが複数の IP サブネットに論理的に存在できます。デフォルトでは、サーバーにある VLAN 対応の各アダプタに 512 の VLAN を定義できます。

ネットワークに複数の VLAN が必要ない場合は、デフォルト構成を使用できます。その場合には、それ以上の構成は必要ありません。

VLAN の概要については、「VLAN トポロジの概要」を参照してください。

VLAN はさまざまな基準に従って作成できますが、各 VLAN には VLAN タグ、つまり VLAN ID (VID) を割り当てる必要があります。VID は、固有の VLAN を識別する 1 から 4094 までの 12 ビット識別子です。ネットワークインタフェース (たとえば、ce0ce1ce2 など) ごとに、最大で 512 個の VLAN を作成できます。一般には IP サブネットが広く使用されているため、VLAN ネットワークインタフェースを設定する際には IP サブネットを使用します。したがって、物理ネットワークインタフェースの VLAN インタフェースに割り当てられた各 VID は異なるサブネットに属します。

Ethernet フレームにタグを付けるためには、フレームにタグヘッダーを追加する必要があります。ヘッダーは、宛先 MAC アドレスとソース MAC アドレスのすぐあとに挿入されます。タグヘッダーは、2 バイトの Ethernet Tag Protocol Identifier (TPID, 0x8100) と 2 バイトの Tag Control Information (TCI) からなります。次の図は Ethernet Tag Header の形式を示しています。

図 5–4 Ethernet Tag Header の形式

図には、その直前に説明されている Ethernet タグヘッダーのレイアウトが表示されています。

Procedure静的 VLAN を構成する方法 (Solaris 10 3/05 のみ)


注 –

この節では、Solaris 10 3/05 OS ユーザーのみを対象として、VLAN の構成情報について説明します。Oracle Solaris 10 の更新を使用している場合は、「VLAN を構成する方法」を参照してください。


  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. システムでどのようなタイプのインタフェースが使用されているか判別します。

    システムによっては、VLAN に必要な ce という文字がネットワークアダプタに使用されていない場合があります。


    # ifconfig -a
    lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4>
    mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000 
    hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4>
    mtu 1500 index 2
            inet 129.156.200.77 netmask ffffff00 broadcast
    129.156.200.255
  3. サーバーの各アダプタに構成する VLAN ごとに 1 つの hostname.cenum ファイル (IPv6 の場合、hostname6.cenum ファイル) を作成します。

    名前には、VID と物理接続点 (PPA) の両方を含む、次のような命名形式を使用します。

    VLAN logical PPA = 1000 * VID + Device PPA ce123000 = 1000*123 + 0

    次の例を参照してください。 hostname.ce123000

    VLAN logical PPA = 1000 * VID + Device PPA ce11000 = 1000*11 + 0

    次の例を参照してください。 hostname.ce11000

    この形式で構成できる PPA の最大数 (インスタンス数) は /etc/path_to_inst で 1000 に限定されます。

    たとえば、あるサーバーが Sun Gigabit Ethernet/P 3.0 アダプタ (インスタンスは 0) を持ち、2 つの VLAN (VID は 123 と 224) に属している場合、2 つの VLAN の PPA としてそれぞれ、ce123000ce224000 を使用します。

  4. VLAN 仮想デバイスを構成します。

    たとえば、次の ifconfig の例を使用できます。


    # ifconfig ce123000 plumb up
    # ifconfig ce224000 plumb up
    

    VLAN デバイス ce123000ce224000 を持つシステム上で ifconfig -a を実行した場合、次のようなメッセージが表示されます。


    # ifconfig -a
    lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000 
    hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
            inet 129.144.131.91 netmask ffffff00 broadcast 129.144.131.255
            ether 8:0:20:a4:4f:b8 
    ce123000: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
            inet 199.199.123.3 netmask ffffff00 broadcast 199.199.123.255
            ether 8:0:20:a4:4f:b8 
    ce224000: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4
            inet 199.199.224.3 netmask ffffff00 broadcast 199.199.224.255
            ether 8:0:20:a4:4f:b8 
  5. スイッチで、VLAN のタグ付けと VLAN ポートを、サーバーに設定した VLAN と一致するように設定します。

    手順 4 の例では、スイッチに VLAN ポート 123 と 224 または VLAN ポート 10 と 11 を設定します。

    VLAN タグとポートの具体的な設定方法については、スイッチに添付されているマニュアルを参照してください。