TCP/IP ネットワークの管理は、2 つの段階で行います。最初の段階ではハードウェアを組み立てます。次に、TCP/IP プロトコルを実装するデーモンや、ファイル、サービスを構成します。
この章では、IPv4 アドレス指定とサービスを実装する TCP/IP をネットワークで構成する方法について説明します。
この章の作業の多くは、IPv4 のみをサポートするネットワークにも、IPv6 が有効なネットワークにも適用されます。構成作業が 2 つのアドレス指定形式の間で異なる場合、この章には IPv4 の構成手順が記載されています。この章の作業では、同等の IPv6 作業 (第 7 章IPv6 ネットワークの構成 (手順)) を相互参照します。
この章では、次の内容について説明します。
Solaris 10 8/07 には、次の変更が加えられています。
routeadm コマンドを使用する代わりに、サービス管理機能 (SMF) を介して経路制御を設定および管理できます。手順については、「IPv4 ネットワーク上でのパケット転送と経路制御」の例および routeadm(1M) のマニュアルページを参照してください。
/etc/inet/ipnodes ファイルは廃止されました。個々の手順で説明されているとおり、/etc/inet/ipnodes は以前の Oracle Solaris 10 リリースにのみ使用してください。
TCP/IP を構成する前に、次の表に示す作業を完了してください。表では、各作業で実行する内容について説明し、作業の具体的な実行手順が詳しく説明されている現在のマニュアル内の節を示しています。
作業 |
説明 |
説明 |
---|---|---|
1. ネットワーク設計者の場合は、ネットワークトポロジを設計します。 |
ネットワークの物理レイアウトを決めます。 | |
2. ISP または Regional Internet Registry (RIR) からネットワーク番号を入手します。 |
このサイトのシステムが外部と通信できるようにするために、登録されているネットワーク番号を入手します。 | |
3. ネットワークに対する IPv4 アドレス指定スキーマの計画を立てます。必要に応じて、サブネットアドレス指定の計画も含めます。 |
ネットワーク番号をアドレス指定計画のベースとして使用します。 | |
4. ネットワークトポロジに従ってネットワークハードウェアを組み立てます。ハードウェアが正しく動作することを確認します。 |
ネットワークトポロジの設計に従ってシステムやネットワークメディア、ルーター、スイッチ、ハブ、ブリッジをセットアップします。 |
ハードウェアマニュアルと 「ネットワークトポロジの概要」 |
5. ネットワークのすべてのシステムに IPv4 アドレスとホスト名を割り当てます。 |
Oracle Solaris のインストール時かインストール後に IPv4 アドレスを適切なファイルで指定します。 |
「IPv4 アドレス指定スキーマの設計」および 「IPv4 アドレスおよびその他のネットワーク構成パラメータを変更する方法」 |
6. ネットワークインタフェースとルーターが必要とする構成ソフトウェアがあれば、それを実行します。 |
ルーターとマルチホームホストを構成します。 |
ルーターについては、「ネットワーク上でのルーターの計画」と 「IPv4 ルーターの構成」を参照してください。 |
7. ネットワークでどのネームサービスまたはディレクトリサービスを使用するのかを指定します。 (NIS、LDAP、DNS、またはローカルファイル)。 |
選択したネームサービスまたはディレクトリサービス (またはその両方) を構成します。 | |
8. 必要なら、ネットワークで使用するドメイン名を選択します。 |
ネットワークのドメイン名を選択し、InterNIC に登録します。 |
ネットワーク管理者として、ホストやルーター (該当する場合) で TCP/IP が動作するように構成します。これらのシステムは、ローカルシステム上のファイルまたはネットワーク上のほかのシステムにあるファイルから構成情報を入手するように構成できます。必要な構成情報を次に示します。
各システムのホスト名
各システムの IP アドレス
各システムが属しているドメインの名前
デフォルトルーター
各システムのネットワークで使用されている IPv4 ネットマスク
TCP/IP 構成情報をローカルファイルから入手するシステムは「ローカルファイルモード」で動作します。TCP/IP 構成情報をリモートネットワークサーバーから入手するシステムは「ネットワーククライアントモード」で動作します。
システムがローカルファイルモードで動作するには、TCP/IP 構成ファイルのローカルコピーを持っている必要があります。これらの構成ファイルについては、「TCP/IP 構成ファイル」を参照してください。このシステムが専用のディスクを持っていることが望ましいですが、不可欠というわけではありません。
ほとんどのサーバーはローカルファイルモードで実行します。このようなサーバーの一部を次に示します。
ネットワーク構成サーバー
NFS サーバー
NIS、LDAP、または DNS のサービスを提供するネームサーバー
メールサーバー
また、ルーターはローカルファイルモードで実行する必要があります。
システムがプリントサーバー専用の場合は、ローカルファイルモードで実行する必要はありません。個々のホストをローカルファイルモードで実行する方がよいかどうかは、ネットワークの規模によって異なります。
ネットワークがきわめて小さい場合は、個々のホストのファイルを管理する作業は比較的簡単です。しかし、数百のホストから成るネットワークの場合は、そのネットワークがいくつかの管理サブドメインに分割されていたとしても、この作業は困難なものとなります。したがって、規模の大きいネットワークの場合は、ローカルファイルモードを使用しても一般に効率は上がりません。ただし、ルーターとサーバーはそれぞれ自身で構成されるものなので、ローカルファイルモードで構成する必要があります。
「ネットワーク構成サーバー」とは、ネットワーククライアントモードで構成されているホストに TCP/IP 構成情報を提供するサーバーのことです。この種のサーバーは、次の 3 つのブートプロトコルをサポートしています。
RARP – Reverse Address Resolution Protocol (RARP) では、Ethernet アドレス (48 ビット) を IPv4 アドレス (32 ビット) にマップします。この操作は ARP の逆です。ネットワーク構成サーバーで RARP を実行すると、ネットワーククライアントモードで動作しているホストは、各自の IP アドレスと TCP/IP 構成ファイルをそのネットワーク構成サーバーから入手します。RARP サービスは、in.rarpd デーモンを使用して使用可能にできます。詳細は、in.rarpd(1M) のマニュアルページを参照してください。
TFTP – Trivial File Transfer Protocol (TFTP) は、リモートシステム間でファイルを転送するアプリケーションです。in.tftpd デーモンが TFTP サービスを実施し、その結果、ネットワーク構成サーバーとそれぞれのネットワーククライアントとの間のファイル転送が可能になります。詳細は、in.tftpd(1M) のマニュアルページを参照してください。
Bootparams – Bootparams プロトコルでは、ネットワークからブートされるクライアントに不可欠なブート用パラメータを提供します。このサービスを実行するのは rpc.bootparamd デーモンです。詳細は、bootparamd(1M) のマニュアルページを参照してください。
ネットワーク構成サーバーは、NFS ファイルサーバーとしても使用できます。
いずれかのホストをネットワーククライアントとして構成する場合は、さらに、ネットワーク上の少なくとも 1 つのシステムをネットワーク構成サーバーとして構成する必要があります。ネットワークをサブネット化する場合は、ネットワーククライアントを持つ各サブネットについて、ネットワーク構成サーバーが少なくとも 1 つは必要です。
構成情報をネットワーク構成サーバーから入手するホストは、いずれもネットワーククライアントモードで動作します。ネットワーククライアントとして構成されているシステムには、TCP/IP 構成ファイルのローカルコピーは必要ありません。
「ネットワーククライアントモード」を使用すると、大規模ネットワークの管理が大幅に簡素化されます。さらに、個々のホストで行う構成作業が最小限の量で済み、ネットワーク上のすべてのシステムが同じ構成標準に従っていることが保証されます。
ネットワーククライアントモードは、あらゆるタイプのコンピュータに構成できます。たとえば、スタンドアロンシステムでネットワーククライアントモードを構成できます。
構成をローカルファイルモードだけに限ったり、ネットワーククライアントモードだけに限ったりする必要はありません。ルーターとサーバーは常にローカルモードで構成する必要があります。ホストについては、ローカルファイルモードとネットワーククライアントモードを任意に組み合わせて使用できます。
図 5–1 は、ネットワーク番号が 192.9.200 である架空のネットワークで動作するホストを示しています。このネットワークには、sahara というネットワーク構成サーバーが 1 つあります。tenere と nubian の 2 つのホストはそれぞれ独自にディスクを持っており、ローカルファイルモードで動作します。ホスト faiyum もディスクを持っていますが、このシステムはネットワーククライアントモードで動作します。
最後に、システム timbuktu はルーターとして構成されています。このシステムには 2 つのネットワークインタフェースが組み込まれています。最初のインタフェースは timbuktu という名前です。このインタフェースはネットワーク 192.9.200 に属しています。残りの 1 つは timbuktu-201 という名前です。このインタフェースはネットワーク 192.9.201 に属しています。どちらのネットワークも、組織ドメイン deserts.worldwide.com に含まれています。このドメインは、ローカルファイルをネームサービスとして使用します。
サブネットを使用しないネットワークを、サブネットを使用するネットワークに変更する場合は、次の作業マップに示す作業を行います。
この節の情報は IPv4 サブネットだけに適用されます。IPv6 サブネットの計画については、「IPv6 をサポートするためのネットワークトポロジの準備」と「サブネット用の番号付けスキームの作成」を参照してください。
次の表は、サブネットを現在のネットワークに追加するための各種作業の一覧です。表では、各作業で実行する内容について説明し、作業の具体的な実行手順が詳しく説明されている現在のマニュアル内の節を示しています。
作業 |
説明 |
説明 |
---|---|---|
1. そのネットワークトポロジでサブネットが必要かどうかを決めます。 |
ルーターやホストをそれぞれのサブネットのどこに置くかなど、新しいサブネットトポロジを決めます。 | |
2. 新しいサブネット番号を持つ一連の IP アドレスをシステムに割り当ててサブネットのメンバーになります。 |
Oracle Solaris のインストール時かそのあとに、新しいサブネット番号を使用する IP アドレスを /etc/hostname.interface ファイルに構成します。 | |
3. サブネットで使用する可能性があるすべてのシステムに対してサブネットのネットワークマスクを構成します。 |
ネットワーククライアントを手動で構成する場合は、/etc/inet/netmasks ファイルを変更します。あるいは、Oracle Solaris インストールプログラムにネットマスクを渡します。 | |
4. サブネットに属するすべてのシステムの新しい IP アドレスをデータベースに追加します。 |
新しいホストアドレスを反映させるために、すべてのホスト上で /etc/inet/hosts ファイルおよび /etc/inet/ipnodes ファイル (Solaris 10 11/06 以前のリリースの場合) を変更します。 | |
5. すべてのシステムをリブートします。 |
次の表は、サブネットなしのネットワーク構成からサブネットを使用するネットワークに変更したあとに実行する追加作業の一覧です。表では、各作業で実行する内容について説明し、作業の具体的な実行手順が詳しく説明されている現在のマニュアル内の節を示しています。
作業 |
説明 |
説明 |
---|---|---|
ホストをローカルファイルモード用に構成します |
nodename、hostname、hosts、 defaultdomain、 defaultrouter、および netmasks ファイルを編集します | |
ネットワーク構成サーバーをセットアップします |
in.tftp デーモンをオンに設定し、 hosts、 ethers、および bootparams ファイルを編集します | |
ホストをネットワーククライアントモード用に構成します |
hostname ファイルを作成し、hosts ファイルを編集します。また、nodename ファイルと defaultdomain ファイルがある場合はこれらを削除します | |
ネットワーククライアントの経路制御戦略を指定します |
ホストで静的経路制御を使用するか動的経路制御を使用するかを決めます。 |
「単一インタフェースホストで静的経路制御を有効にする方法」および 「単一インタフェースホストで動的経路制御を有効にする方法」 |
既存のネットワーク構成を変更します |
インストール時に設定された、またはそれ以降に構成されたホスト名、IP アドレス、およびその他のパラメータを変更します。 |
オペレーティングシステムのソフトウェアをインストールするときに、同時にネットワークのソフトウェアもインストールされます。そのときに、いくつかの IP 構成パラメータを対応するファイルに格納して、ブート時に読み取れるようにしておく必要があります。
ネットワークの構成処理では、ネットワーク構成ファイルを作成または編集する必要があります。システムのカーネルが構成情報をどのように入手するかは、設定によって異なります。これらのファイルがローカルに格納されているか (ローカルファイルモード) ネットワーク構成サーバーから入手するか (ネットワーククライアントモード) によって提供方法が変わります。
すべてのシステムの各ネットワークインタフェースの IP アドレス。
ネットワークにある各システムのホスト名。ホスト名は、ローカルファイルまたはネームサービスデータベースに入力できます。
システムが設置されている、NIS、LDAP、または DNS のドメイン名 (該当する場合)。
デフォルトのルーターアドレス。この情報は、各ネットワークにルーターが 1 つしか接続していないような単純なネットワークトポロジの場合、またはルーターが RDISC (Router Discovery Protocol) や RIP (Routing Information Protocol) などの経路制御プロトコルを実行しない場合に指定します。デフォルトルーターの詳細は、「IPv4 ネットワーク上でのパケット転送と経路制御」を参照してください。Oracle Solaris でサポートされている経路制御プロトコルのリストについては、表 5–1 を参照してください。
サブネットマスク (サブネットを持つネットワークの場合に限り必要)。
システムで Oracle Solaris インストールプログラムが複数のインタフェースを検出した場合は、追加のインタフェースをインストール時に構成することもできます。詳しい説明は、『Oracle Solaris 10 9/10 インストールガイド (基本編)』を参照してください。
ここでは、ローカル構成ファイルを作成および編集する手順を説明しています。ネームサービスデータベースを使用した動作については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。
ローカルファイルモードで動作するホスト上の TCP/IP を構成するための手順は、次のとおりです。
Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
/etc ディレクトリに移動します。
/etc/nodename ファイルに正しいホスト名が設定されていることを確認します。
Oracle Solaris のインストール時にシステムのホスト名を指定したときは、そのホスト名は /etc/nodename ファイルに入ります。そのノード名エントリがシステムの正しいホスト名であることを確認します。
/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 以降のリリースの場合) を参照してください。
Solaris 10 11/06 以前のリリースの場合は、/etc/inet/ipnodes ファイルのエントリが最新であることを確認します。
Oracle Solaris 10 インストールプログラムは、/etc/inet/ipnodes ファイルを作成します。このファイルには、インストール時に構成されたすべてのインタフェースのノード名と IPv4 アドレス、および IPv6 アドレス (使用される場合) が含まれます。
/etc/inet/ipnodes ファイルのエントリには、次の書式を使用します。
IP-address node-name nicknames... |
nicknames は、インタフェースを識別するための追加の名前です。
/etc/inet/hosts ファイルのエントリが最新であることを確認します。
Oracle Solaris インストールプログラムは、一次ネットワークインタフェース、ループバックアドレス、およびインストール時に構成された追加インタフェース (該当する場合) に対する各エントリを作成します。
ホストの完全修飾ドメイン名を /etc/defaultdomain ファイルに入力します。
たとえば、ホスト tenere がドメイン deserts.worldwide.com に所属していたとします。その場合は、/etc/defaultdomain に deserts.worldwide.com を入力します。詳細は、「/etc/defaultdomain ファイル」を参照してください。
ルーターの名前を /etc/defaultrouter ファイルに入力します。
このファイルについては、「/etc/defaultrouter ファイル」を参照してください。
デフォルトのルーターの名前とその IP アドレスを /etc/inet/hosts ファイルに入力します。
追加の経路制御オプションについては、「ネットワーククライアントモードの場合のホストの構成方法」を参照してください。これらのオプションは、ローカルファイルモード構成にも適用できます。
該当する場合は、ネットワークのネットワークマスクを追加します。
ホストがその IP アドレスを DHCP サーバーから入手する場合は、ネットワークマスクを指定する必要はありません。
このクライアントと同じネットワークに NIS サーバーをすでに設定している場合は、そのサーバーの適切なデータベースに netmask 情報を追加できます。
それ以外の場合は、次のことを行います。
ネットワーク番号とネットマスクを /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 |
ローカルファイルが最初に検索されるように、/etc/nsswitch.conf でのネットマスクの検索順序を変更します。
netmasks: files nis |
インストールサーバーやブートサーバーの設定方法については、『Oracle Solaris 10 9/10 インストールガイド (基本編)』を参照してください。
Primary Administrator 役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
ネットワーク構成サーバーとなるサーバーの root (/) ディレクトリに移ります。
/tftpboot ディレクトリを作成することによって、in.tftpd デーモンをオンに設定します。
# mkdir /tftpboot |
このコマンドにより、システムは、TFTP、bootparams、RARP のサーバーに構成されます。
手順 2 で作成したディレクトリに対するシンボリックリンクを作成します。
# ln -s /tftpboot/. /tftpboot/tftpboot |
/etc/inetd.conf ファイルの tftp 行を有効にします。
エントリが次のようになっているか確認します。
tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot |
これによって、in.tftpd は、/tftpboot にあるファイルだけから読み取られます。
hosts データベースを編集します。
ネットワーク上のすべてのクライアントのホスト名と IP アドレスを追加します。
ethers データベースを編集します。
ネットワーククライアントモードで実行するネットワーク上のすべてのホストについてエントリを作成します。
bootparams データベースを編集します。
詳細は、「bootparams データベース」を参照してください。ワイルドカードエントリを作成するか、またはネットワーククライアントモードで実行するすべてのホストについてエントリを作成します。
/etc/inetd.conf エントリをサービス管理機能 (SMF) のサービスマニフェストに変換し、それによって得られるサービスを使用可能にします。
# /usr/sbin/inetconv |
in.tftpd が正しく動作しているか確認します。
# svcs network/tftp/udp6 |
次のような出力が表示されます。
STATE STIME FMRI online 18:22:21 svc:/network/tftp/udp6:default |
in.tftpd デーモンはサービス管理機能によって管理されます。in.tftpd に対する管理アクション (有効化、無効化、再起動など) を実行するには、svcadm コマンドを使用します。このサービスを起動したり、再起動したりする責任は inetd に委譲されています。in.tftpd の構成を変更したり、構成情報を表示したりするには、inetadm コマンドを使用します。このサービスのステータスを照会するには、svcs コマンドを使用します。サービス管理機能の概要については、『Solaris のシステム管理 (基本編)』の第 18 章「サービスの管理 (概要)」を参照してください。
ネットワーククライアントは、その構成情報をネットワーク構成サーバーから受け取ります。したがって、あるホストをネットワーククライアントとして構成するときは、このネットワーク用として、ネットワーク構成サーバーが少なくとも 1 つは設定されていることを確認してください。
ネットワーククライアントモードで構成する必要のある各ホストについて、次の手順を行います。
Primary Administrator 役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
/etc ディレクトリで nodename ファイルを検索します。
ある場合は、このファイルを削除してください。
/etc/nodename を削除すると、システムは hostconfig プログラムを使用して、ネットワーク構成サーバーから、ホスト名、ドメイン名、ルーターアドレスを入手するようになります。「ローカルネットワーク上でのシステム構成」を参照してください。
/etc/hostname.interface ファイルが存在しない場合は、このファイルを作成します。
そのファイルが空であることを確認してください。/etc/hostname.interface ファイルが空であれば、システムは IPv4 アドレスをネットワーク構成サーバーから入手します。
/etc/inet/hosts ファイルにループバックネットワークインタフェースの localhost 名と IP アドレスだけが含まれていることを確認します。
# cat /etc/inet/hosts # Internet host table # 127.0.0.1 localhost |
この IPv4 ループバックインタフェースの IP アドレスは 127.0.0.1 です。
詳細は、「ループバックアドレス」を参照してください。このファイルには、ローカルホスト (一次ネットワークインタフェース) の IP アドレスとホスト名が含まれていてはいけません。
/etc/defaultdomain ファイルが存在するかどうかを確認します。
ある場合は、このファイルを削除してください。
hostconfig プログラムはドメイン名を自動的に設定します。hostconfig プログラムが設定したドメイン名を無効にするには、代わりのドメイン名を /etc/defaultdomain ファイルに入力します。
クライアントの /etc/nsswitch.conf ファイルに指定されている検索パスがネットワークのネームサービス要件を満たしていることを確認します。
この手順では、すでにインストールされているシステムの IPv4 アドレス、ホスト名、およびその他のネットワークパラメータを変更する方法について説明します。サーバーまたはネットワーク接続されたスタンドアロンシステムの IP アドレスを変更する場合は、この手順を使用します。この手順は、ネットワーククライアントやネットワーク機器には適用されません。この手順で作成する構成は、リブート後も保持されます。
ここで説明する手順は、一次ネットワークインタフェースの IPv4 アドレスを変更する場合にのみ適用されます。別のインタフェースをシステムに追加する場合は、「システムインストール後に物理インタフェースを構成する方法」を参照してください。
次の手順では、IPv4 アドレスとサブネットマスクを指定するときに、ほとんどの場合は IPv4 で一般的な 10 進ドット表記を使用しています。この手順で使用されるすべてのファイルでは、CIDR 表記を使用して IPv4 アドレスを指定することもできます。CIDR 表記の概要については、「CIDR 書式の IPv4 アドレス」を参照してください。
Primary Administrator 役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
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 アドレスとそれらに関連付ける名前のエントリを 作成してください。
システムのホスト名を変更する必要がある場合は、/etc/nodename ファイルのホスト名エントリを変更します。
/etc/inet/hosts ファイルまたは同等の hosts データベースで、IP アドレスとホスト名を必要に応じて変更します。
一次ネットワークインタフェースの /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 アドレスに対応するネットマスクを指定します。たとえば、前述の /8 は 255.0.0.0 というネットマスクになります。
ホスト名。
/etc/hostname.interface ファイルでシステムのホスト名を使用する場合は、そのホスト名とそれに関連付けられている IPv4 アドレスが hosts データベースにも指定されていることを確認します。
サブネットマスクが変更されている場合は、次のファイルにあるサブネットエントリを変更します。
/etc/netmasks
(省略可能) /etc/hostname.interface
サブネットアドレスが変更されている場合は、/etc/defaultrouter ファイルに指定されているデフォルトルーターの IP アドレスを新しいサブネットのデフォルトルーターの IP アドレスに変更します。
システムを再起動します。
# reboot -- -r |
この例では、別のサブネットに移動されたシステムについて、次のネットワークパラメータをどのように変更するかを示しています。
一次ネットワークインタフェース eri0 の IP アドレス (10.0.0.14 から 192.168.55.14 に変更)。
ホスト名 (myhost から mynewhostname に変更)。
ネットマスク (255.0.0.0 から 255.255.255.0 に変更)。
デフォルトルーターのアドレス (192.168.55.200 に変更)。
システムの現在の状態を確認します。
# 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 |
この例では、現在のセッションだけに適用するために、ホストの名前、一次ネットワークインタフェースの 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 |
この例では、現在のセッションだけに適用するために、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 ネットワーク上のルーターとホストに対して転送と経路制御を設定する手順および例を示します。
「パケット転送」は、ネットワーク上のシステム間で情報を共有するための基本的な方法です。転送元インタフェースと転送先インタフェース間で、パケットが転送されます。通常、2 つのインタフェースのシステムは異なります。ローカルでないインタフェースにコマンドを発行するかメッセージを送信すると、システムによりこれらのパケットがローカルネットワーク上に転送されます。その後、パケットヘッダー内に指定された宛先 IP アドレスを持つインタフェースが、ローカルネットワークからパケットを取得します。着信先アドレスがローカルネットワーク上に存在しない場合、パケットは隣接するネットワークに転送 (ホップ) されます。デフォルトでは、パケット転送は Oracle Solaris のインストール時に自動的に設定されます。
「経路制御」は、システムがパケットの送信先を決定する処理のことです。システム上の経路制御プロトコルは、ローカルネットワーク上のほかのシステムを「検出」します。送信元システムと送信先システムが同じローカルネットワーク上にある場合、これらのシステム間でパケットが通過する経路は「直接ルート」と呼ばれます。パケットが送信元システムのあとに少なくとも 1 つのホップを通過しなければならない場合、送信元システムと送信先システムの間の経路は「間接ルート」と呼ばれます。経路制御プロトコルは、転送先インタフェースへのパスを取得して、既知の送信ルートに関するデータをシステムの「経路制御テーブル」内に保持します。
「ルーター」は、複数の物理インタフェースを備える、特別に構成されたシステムです。ルーターは、この物理インタフェースを介して複数のローカルネットワークに接続されます。このため、ルーターは、経路制御プロトコルを実行するかどうかに関係なく、ホームの LAN を越えてパケットを転送できます。ルーターによるパケット転送方法の詳細は、「ネットワーク上でのルーターの計画」を参照してください。
「経路制御プロトコル」は、システムでの経路制御活動を処理し、経路制御情報をほかのホストと交換することで、リモートネットワークへの既知のルートを維持管理します。経路制御プロトコルはルーターとホストの両方で実行できます。ホストの経路制御プロトコルは、ほかのルーターやホストの経路制御デーモンと通信します。ホストはこれらのプロトコルを利用して、パケットの転送先を決定します。ネットワークインタフェースが使用可能な場合、システムは経路制御デーモンとの通信を自動的に行います。これらのデーモンは、ネットワーク上のルーターの状態を監視し、ローカルネットワーク上のホストにルーターのアドレスを通知します。すべてではありませんが、一部の経路制御プロトコルは統計情報も保持します。この統計を使って、経路制御パフォーマンスを計測できます。パケット転送とは異なり、Oracle Solaris システム上で経路制御を明示的に設定する必要があります。
この節では、パケット転送の管理および IPv4 ルーターとホスト上での経路制御のタスクについて説明します。IPv6 が有効なネットワークでの経路制御については、「IPv6 ルーターの構成」を参照してください。
経路制御プロトコルは、内部ゲートウェイプロトコル (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 | |
ICMP (Internet Control Message Protocol) ルーター発見 |
in.routed |
ホストがネットワーク上のルーターの存在を検索するために使用します |
「単一インタフェースホストで静的経路制御を有効にする方法」および 「単一インタフェースホストで動的経路制御を有効にする方法」 |
RIPng (Routing Information Protocol, next generation) プロトコル |
in.ripngd |
IPv6 パケットの経路制御および経路制御テーブルの維持を行う IGP | |
ND (Neighbor Discovery) プロトコル |
in.ndpd |
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 経路制御プロトコルを使用する自律システムを示します。
この図は、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 のマニュアル を参照してください。
複数のルーターとネットワークを持つサイトでは、通常そのネットワークトポロジは単一の経路制御ドメイン、つまり「自律システム (AS: Autonomous System)」として管理されます。次の図に、小規模な AS と見なすことのできる典型的なネットワークトポロジを示します。この節では、すべての例にこのトポロジを使用します。
この図は、3 つのローカルネットワーク 10.0.5.0、172.20.1.0、および 192.168.5 に分割された AS を示しています。4 台のルーターが、パケット転送と経路制御の役目を分担しています。この AS には、次の種類のシステムが含まれています。
「ボーダールーター」は、インターネットなどの外部ネットワークに AS を接続します。ボーダールーターは、ローカル AS 上で実行中の IGP 外部のネットワークとの相互接続を行います。ボーダールーターは、BGP (Border Gateway Protocol) などの EGP を実行して、ISP のルーターなどの外部ルーターと情報を交換できます。図 5–3 では、ボーダールーターのインタフェースは、内部ネットワーク 10.0.5.0 およびサービスプロバイダへの高速ルーターに接続されています。
ボーダールーターの構成については、オープンソースの Quagga のマニュアル で BGP に関する部分を参照してください。
BGP を使用して AS をインターネットに接続する場合は、地域のインターネットレジストリから自律システム番号 (ASN) を取得するようにしてください。ASN の取得方法に関するガイドラインは、American Registry for Internet Numbers (ARIN) などの地域レジストリから提供されています。たとえば、 ARIN Number Resource Policy Manual には、米国およびカナダの自律システムの ASN を取得する方法が記載されています。または、使用している ISP が ASN を代行取得できる場合もあります。
「デフォルトルーター」は、ローカルネットワーク上のすべてのシステムに関する経路制御情報を維持管理します。通常、これらのルーターは、RIP などの IGP を実行します。図 5–3 では、ルーター 1 のインタフェースは内部ネットワーク 10.0.5.0 および内部ネットワーク 192.168.5 に接続されています。ルーター 1 は、192.168.5 のデフォルトルーターとしても機能します。ルーター1 は、192.168.5 上の全システムの経路制御情報を維持し、ボーダールーターなどのほかのルーターへの経路制御を行います。ルーター 2 のインタフェースは、内部ネットワーク 10.0.5.0 および内部ネットワーク 172.20.1 に接続します。
デフォルトルーターを構成する例については、例 5–4 を参照してください。
「パケット転送ルーター」は、パケットを転送しますが、経路制御プロトコルは実行しません。このタイプのルーターは、ある単一のネットワークに接続されたインタフェースのひとつからパケットを受信します。その後、これらのパケットは、ルーターの別のインタフェースを経由して別のローカルネットワークに転送されます。図 5–3 では、ルーター 3 はパケット転送ルーターで、ネットワーク 172.20.1 および 192.168.5 に接続されています。
「マルチホームホスト」は、同一のネットワークセグメントに接続された複数のインタフェースを備えています。マルチホームホストはパケットの転送が可能です。これは、Oracle Solaris を実行するすべてのシステムでデフォルトに設定されています。図 5–3 のマルチホームホストは、両方のインタフェースがネットワーク 192.168.5 に接続されています。マルチホームホストを構成する例については、例 5–6 を参照してください。
「単一インタフェースホスト」は、パケット転送だけでなく、重要な構成情報の受信もローカルルーターに依存します。図 5–3 では、192.168.5 ネットワーク上のホスト A は動的経路制御を実装しており、172.20.1 ネットワーク上のホスト B は静的経路制御を実装しています。動的経路制御を実行するホストを構成する方法については、「単一インタフェースホストで動的経路制御を有効にする方法」を参照してください。静的経路制御を実行するホストを構成する方法については、「単一インタフェースホストで静的経路制御を有効にする方法」を参照してください。
この節では、IPv4 ルーターを構成する手順と例を説明します。IPv6 対応のルーターを構成する方法については、「IPv6 対応のルーターを構成する方法」を参照してください。
ルーターは複数のネットワーク間のインタフェースを提供するため、ルーターの物理ネットワークインタフェースごとに一意の名前および IP アドレスを割り当てる必要があります。これで、各ルーターは、その一次ネットワークインタフェースのホスト名と IP アドレスに加えて、増設した各ネットワークインタフェースについて少なくとも 1 つずつ、一意な名前と IP アドレスを持つことになります。
次の手順を使えば、物理インタフェースが 1 つだけのシステム (デフォルトではホスト) をルーターとして構成することもできます。システムを PPP リンクの 1 つのエンドポイントとして使用するような場合、単一インタフェースのシステムをルーターとして構成する場合があります (『Solaris のシステム管理 (ネットワークサービス)』の「ダイアルアップ PPP リンクの計画」を参照)。
Oracle Solaris システムのインストール時にルーターのすべてのインタフェースを構成できます。手順については、『Oracle Solaris 10 9/10 インストールガイド (基本編)』を参照してください。
次の手順では、システムのインストール後にルーターのインタフェースを構成していることを想定しています。
ルーターをネットワークに物理的に設置してから、ローカルファイルモードで動作するようにルーターを構成します。詳細は、「ローカルファイルモードの場合のホストの構成方法」を参照してください。これで、ネットワーク構成サーバーがダウンしても、ルーターが確実にブートされるようになります。
ルーターとして構成されるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
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 |
インストール時に、ルーター上のどのインタフェースが構成され、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 |
# ifconfig interface plumb up |
たとえば、qfe1 の場合は、次のように入力します。
# ifconfig qfe1 plumb up |
ifconfig コマンドを使用して明示的に構成されたインタフェースは、リブート後には保持されません。
インタフェースに IPv4 アドレスとネットマスクを割り当てます。
IPv4 ルーターがその IP アドレスを DHCP 経由で受け取るように構成することもできますが、これは十分に経験を積んだ DHCP システム管理者だけが行うようにしてください。
# ifconfig interface IPv4-address netmask+netmask |
たとえば、IP アドレス 192.168.84.3 を qfe1 に割り当てるには、次のいずれかを実行します。
従来の IPv4 の表記法を使用して、次のように入力します。
# ifconfig qfe1 192.168.84.3 netmask + 255.255.255.0 |
CIDR の表記法を使用して、次のように入力します。
# ifconfig qfe1 192.168.84.3/24 |
接頭辞 /24 により、自動的にネットマスク 255.255.255.0 が qfe1 に割り当てられます。CIDR の接頭辞と、それと同等の 10 進ドット表記のネットマスクの表については、図 2–2 を参照してください。
(省略可能) リブート後もインタフェースの構成が保持されるようにするには、追加の物理インタフェースごとに /etc/hostname.interface ファイルを作成します。
たとえば、/etc/hostname.qfe1 ファイルと /etc/hostname.qfe2 ファイルを作成します。次に、ホスト名 timbuktu を /etc/hostname.qfe1 ファイルに入力し、ホスト名 timbuktu-201 を /etc/hostname.qfe1 ファイルに入力します。個々のインタフェースを構成する方法の詳細については、「システムインストール後に物理インタフェースを構成する方法」を参照してください。
このファイルを作成したあとは、必ず構成リブートを実行してください。
# reboot -- -r |
各インタフェースのホスト名と 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 |
インタフェース timbuktu と timbuktu-201 は、同じシステムにあります。timbuktu-201 のネットワークアドレスが、timbuktu のネットワークインタフェースとは異なる点に注意してください。この違いは、ネットワーク 192.168.201 の物理ネットワークメディアが timbuktu-201 ネットワークインタフェースに接続されているのに対し、ネットワーク 192.168.200 のメディアは timbuktu インタフェースに接続されているためです。
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 |
このルーターがサブネット化されたいずれかのネットワークに接続されている場合は、ネットワーク番号とネットマスクを /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 |
ルーターで IPv4 パケット転送を使用可能にします。
次のいずれかのコマンドを使用して、パケット転送を有効にします。
routeadm コマンドを次のように使用します。
# routeadm -e ipv4-forwarding -u |
次のサービス管理機能 (SMF) コマンドを使用します。
# svcadm enable ipv4-forwarding |
これで、ルーターは、ローカルネットワークの外にもパケットを転送できます。さらにルーターは、ルートを手動で経路制御テーブルに追加できる機能である、「静的経路制御」もサポートします。このシステムで静的経路制御を使用する場合は、 ルーターの構成はこれで終わりです。ただし、システム経路制御テーブルで、ルートを維持管理する必要があります。ルートの追加方法については、「ルートの設定」および route(1M) のマニュアルページを参照してください。
(任意) 経路制御プロトコルを起動する。
経路制御デーモン /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–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 のデフォルトルーターの構成はまだ完了していません。次の作業を行う必要があります。
172.10.1.10 の各ホストを変更して、それぞれの経路制御情報をこの新しいデフォルトルーターから取得するようにします。詳細については、「単一インタフェースホストで静的経路制御を有効にする方法」を参照してください。
ルーター 2 の経路制御テーブルで、ボーダールーターへの静的ルートを定義します。詳細については、「経路制御テーブルと経路制御の種類」を参照してください。
ルーターとホストの両方で「経路制御テーブル」が管理されます。各システムの経路制御デーモンは、すべての既知のルートを使用してテーブルを更新します。システムのカーネルは、パケットをローカルネットワークに転送する前に、経路制御テーブルを読み取ります。経路制御テーブルには、システムのデフォルトのローカルネットワークも含め、システムで知られているネットワークの 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) のマニュアルページを参照してください。
ローカルネットワークまたは自律システムの経路制御を設定するときは、特定のルーターやホストでどの種類の経路制御をサポートするかを検討してください。
次の表に、経路制御の種類と、それぞれの種類の経路制御を適用するのに最も適したネットワークの条件を示します。
図 5–3 に示された AS は、静的経路制御と動的経路制御の両方を組み合わせて使用しています。
IPv4 ネットワークに動的経路制御を実装するには、routeadm コマンドまたは svcadm コマンドを使用して in.routed 経路制御デーモンを起動します。手順については、「IPv4 ルーターの構成方法」を参照してください。動的経路制御は、ほとんどのネットワークおよび自律システムに最適な方法です。ただし、使用しているネットワークトポロジやネットワーク上の特定のシステムで、静的経路制御が必要になる場合もあります。その場合は、システムの経路制御テーブルを手動で編集して、ゲートウェイへの既知のルートを反映させる必要があります。次の手順は、静的ルートを追加する方法を示しています。
同じ宛先へのルートが 2 つあっても、システムで負荷分散やフェイルオーバーが自動的に行われるわけではありません。これらの機能が必要な場合は、第 30 章IPMP の紹介 (概要)に説明されている IPMP を使用します。
通常のユーザーアカウントを使用して、次の形式の 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 |
Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
(省略可能) 経路制御テーブル内の既存のエントリを消去します。
# route flush |
リブート後も保持されるルートを追加します。
# route -p add -net network-address -gateway gateway-address |
リブート後も保持される必要のあるルートを作成します。現在のセッションだけに有効なルートを作成する場合は、-p オプションを使用しないでください。
そのあとに指定されているルートを追加することを示します。
network-address で指定されたアドレスを持つネットワークへのルートであることを示します。
指定されたルートのゲートウェイシステムの IP アドレスが gateway-address であることを示します。
次の例は、システムに静的ルートを追加する方法を示しています。このシステムは、図 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 パケットを転送しません。ただし、経路制御プロトコルを実行するようにマルチホームホストを構成することはできます。一般に、次のような種類のシステムをマルチホームホストとして構成します。
NFS サーバー、特に大規模なデータセンターとして機能する NFS サーバーを複数のネットワークに接続することによって、多数のユーザー間でファイルを共有できるようになります。この種のサーバーは経路制御テーブルを備えている必要はありません。
データベースサーバーは、NFS サーバーと同様に、多数のユーザーに資源を提供する目的で複数のネットワークインタフェースを持つことができます。
ファイアウォールゲートウェイは、企業のネットワークとインターネットなどの公共ネットワークとの間の接続を提供するシステムです。管理者は、セキュリティーの手段としてファイアウォールを設定します。ファイアウォールとして構成されたホストは、ホストのインタフェースに接続されたネットワーク間でのパケット交換を行いません。ただしこの場合でも、承認ユーザーに対する ssh など、ホストは標準的な TCP/IP サービスを提供します。
いずれかのインタフェース上に異なる種類のファイアウォールがあるマルチホームホストの場合は、ホストのパケットが意図せずに中断されることがないよう注意してください。この問題は、特にステートフルなファイアウォールで発生します。解決策の 1 つは、ステートレスなファイアウォールを構成することです。ファイアウォールの詳細は、『Solaris のシステム管理 (セキュリティサービス)』の「ファイアウォールシステム」またはサードパーティーのファイアウォールのマニュアルを参照してください。
予定するマルチホームホストで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
Oracle Solaris インストールの一部として構成されなかった追加の各ネットワークインタフェースを、構成して plumb します。
詳細は、「システムインストール後に物理インタフェースを構成する方法」を参照してください。
マルチホームホストで 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" |
システムでパケット転送が有効になっている場合は、パケット転送をオフに設定します。
次のコマンドのいずれかを使用します。
routeadm コマンドの場合は、次のように入力します。
# routeadm -d ipv4-forwarding -u |
SMF を使用する場合は、次のように入力します。
# svcadm disable ipv4-forwarding |
(省略可能) マルチホームホストの動的経路制御をオンに設定します。
次のいずれかのコマンドを使用して、in.routed デーモンを有効にします。
routeadm コマンドの場合は、次のように入力します。
# routeadm -e ipv4-routing -u |
SMF を使用する場合は、次のように入力します。
# svcadm enable route:default |
次の例は、図 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 つ以上のローカルデフォルトルーターから取得する場合は、静的経路制御を使用するようにホストを構成する必要があります。それ以外の場合は、ホストで動的経路制御を使用することをお勧めします。次の手順では、両方の種類の経路制御を有効にする方法を示します。
この手順は、単一インタフェースホストで静的経路制御を有効にします。静的経路制御を使用するホストは、RIP などの動的経路制御プロトコルをいっさい実行しません。代わりに、ホストはデフォルトルーターのサービスを利用して経路制御情報を取得する必要があります。「IPv4 自律システムのトポロジ」の図には、いくつかのデフォルトルーターとそのクライアントホストが示されています。特定のホストをインストールするときにデフォルトルーターの名前を指定した場合、そのホストはすでに、静的経路制御を使用するように構成されています。
次の手順を使用して、マルチホームホストで静的経路制御を設定することもできます。
/etc/defaultrouter ファイルの詳細については、「/etc/defaultrouter ファイル」を参照してください。静的経路制御と経路制御テーブルの詳細については、「経路制御テーブルと経路制御の種類」を参照してください。
単一インタフェースのホスト上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
ホストに /etc/defaultrouter ファイルが存在するかどうかを確認します。
# cd /etc # ls | grep defaultrouter |
テキストエディタを開き、/etc/defaultrouter ファイルを作成または変更します。
デフォルトルーターのエントリを追加します。
# vi /etc/defaultrouter router-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" |
デフォルトルーターのエントリをローカルの /etc/inet/hosts ファイルに追加します。
/etc/inet/hosts の構成については、「IPv4 アドレスおよびその他のネットワーク構成パラメータを変更する方法」を参照してください。
次の例は、単一インタフェースホスト 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 |
動的経路制御は、ホストで経路制御を管理するためのもっとも簡単な方法です。動的経路制御を使用するホストは、IPv4 の場合は in.routed デーモンで提供される経路制御プロトコルを実行し、IPv6 の場合は in.ripngd デーモンで提供される経路制御プロトコルを実行します。単一インタフェースホストで IPv4 動的経路制御を有効にするには、次の手順を使用します。動的経路制御の詳細は、「IPv4 ネットワーク上でのパケット転送と経路制御」を参照してください。
ホスト上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
/etc/defaultrouter ファイルがあることを確認します。
# cd /etc # ls | grep defaultrouter |
/etc/defaultrouter が存在する場合は、その中のエントリをすべて削除します。
/etc/defaultrouter ファイルが空の場合、ホストは自動的に動的経路制御を使用します。
ホストでパケット転送と経路制御が有効になっているかどうかを確認します。
# 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" |
パケット転送が有効になっている場合は、パケット転送をオフに設定します。
次のコマンドのいずれかを使用します。
routeadm コマンドの場合は、次のように入力します。
# routeadm -d ipv4-forwarding -u |
SMF を使用する場合は、次のように入力します。
# svcadm disable ipv4-forwarding |
次のコマンドのいずれかを使用します。
routeadm コマンドの場合は、次のように入力します。
# routeadm -e ipv4-routing -u |
SMF を使用する場合は、次のように入力します。
# svcadm enable route:default |
これで、IPv4 動的経路制御が有効になりました。ホストの経路制御テーブルは、in.routed デーモンによって動的に管理されます。
次の例は、単一インタフェースホスト 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 インターネットサービスデーモン」を参照してください。
トランスポート層プロトコルが関係する操作には、次の操作があります。
すべての着信 TCP 接続を記録する
トランスポート層プロトコル (たとえば、SCTP) の上で動作するサービスを追加する
アクセス制御のために TCP ラッパー機能を構成する
inetd デーモンの詳細は、inetd(1M) のマニュアルページを参照してください。
ローカルシステムで「ネットワーク管理者」役割になるか、スーパーユーザーになります。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
inetd で管理されるすべてのサービスに対して TCP トレースを使用可能にします。
# inetadm -M tcp_trace=TRUE |
SCTP トランスポートプロトコルは、TCP に類似した方法でアプリケーション層プロトコルにサービスを提供します。ただし、SCTP では 2 つのシステム間での通信が可能です。これらのシステムは、片方または両方がマルチホームであってもかまいません。SCTP 接続は「アソシエーション」と呼ばれます。アソシエーションでは、アプリケーションがデータを分割し、1 つまたは複数のメッセージストリームとして伝送します (マルチストリーム化)。SCTP 接続は、複数の IP アドレスを持つエンドポイントに到達できます。これは、テレフォニーアプリケーションにとって特に重要です。IP Filter や IPsec を使用する場合、SCTP のマルチホーム機能はセキュリティーの点で考慮を要します。考慮点については、sctp(7P) のマニュアルページを参照してください。
デフォルトで SCTP は Oracle Solaris に組み込まれています。したがって、構成を別に行う必要はありません。ただし、SCTP を使用するためには、一定のアプリケーション層サービスを明示的に構成しなければならない場合があります。このようなアプリケーションの例としては、echo や discard があります。次の手順は、ワンツーワンスタイルの SCTP ソケットを使用する echo サービスの追加方法を示しています。
さらに、次の手順を使えば、TCP や UDP のトランスポート層プロトコル用のサービスを追加できます。
次の作業では、inetd デーモンによって管理される SCTP inet サービスを SMF リポジトリに追加します。さらに、作業の後半では、サービス管理機能 (SMF) コマンドを使ってこのサービスを追加します。
SMF コマンドについては、『Solaris のシステム管理 (基本編)』の「SMF コマンド行管理ユーティリティー」を参照してください。
構文については、SMF コマンドのマニュアルページを参照してください (手順を参照)。
SMF の詳細は、smf(5) のマニュアルページを参照してください。
次の手順を実行する前に、サービスのマニフェストファイルを作成してください。この手順では、例として、echo サービス用のマニフェスト echo.sctp.xml を使用します。
システムファイルに対する書き込みアクセス権を持つユーザーアカウントでローカルシステムにログインします。
/etc/services ファイルを編集し、新しいサービスの定義を追加します。
service-name |port/protocol | aliases |
新しいサービスを追加します。
サービスマニフェストが格納されているディレクトリに移り、次のように入力します。
# 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 |
サービスマニフェストが追加されているか確認します。
# 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) のマニュアルページを参照してください。
出力は、新しいサービスマニフェストが使用不可になっていることを示しています。
サービスの属性をリストして、変更を加える必要があるかどうかを決めます。
# 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 |
新しいサービスを使用可能にします。
# inetadm -e FMRI |
サービスが使用可能になっていることを確認します。
たとえば、新しい echo サービスの場合、次のように入力します。
# inetadm | grep sctp_stream . . enabled online svc:/network/echo:sctp_stream |
次の例では、使用するコマンドと、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 |
「TCP ラッパー」は tcpd プログラムによって実装されます。TCP ラッパーは、送られてくるサービス要求とサービスデーモンの間で動作することによって、ftpd などのサービスデーモンにセキュリティー対策を追加します。TCP ラッパーは、正常および異常な接続の試みを記録します。さらに、TCP ラッパーはアクセス制御の機能を備えています。したがって、要求の発行元がどこかによって接続を許可することも拒否することもできます。TCP ラッパーを使えば、SSH、Telnet、FTP などのデーモンを保護できます。さらに、sendmail アプリケーションでも TCP ラッパーを使用できます。詳細は、『Solaris のシステム管理 (ネットワークサービス)』の「sendmail の version 8.12 からの TCP ラッパーのサポート」を参照してください。
ローカルシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
TCP ラッパーを使用可能にします。
# inetadm -M tcp_wrappers=TRUE |
TCP ラッパーのアクセス制御ポリシーを構成します (hosts_access(3) のマニュアルページを参照)。
このマニュアルページは、Oracle Solaris CD-ROM と一緒にパッケージ化されている SFW CD-ROM の /usr/sfw/man ディレクトリにあります。
この節では、物理インタフェースの管理に必要な次の作業について説明します。
システムをインストールしたあとで物理インタフェースを追加する。
ネットワークアダプタに仮想ローカルエリアネットワーク (VLAN) を追加する。
この節では、Solaris 10 3/05 OS ユーザーのみを対象として、インタフェースの構成情報について説明します。Oracle Solaris 10 の更新を使用している場合は、Chapter 6, ネットワークインタフェースの管理 (作業)を参照してください。Oracle Solaris の新機能すべての一覧や Oracle Solaris リリースの説明については、『Oracle Solaris 10 9/10 の新機能』を参照してください。
Oracle Solaris ベースのシステムには通常、物理インタフェースと論理インタフェースの 2 つのタイプのインタフェースがあります。「物理インタフェース」はドライバとコネクタからなり、コネクタには、Ethernet ケーブルなどのネットワークメディアを接続します。「論理インタフェース」は、既存の物理インタフェースの上に論理的に構成されます。既存の物理インタフェースとは、トンネル用に構成されたインタフェースや IPv6 アドレスを使用するように構成されたインタフェースなどです。この節では、インストールされた物理インタフェースの構成方法について説明します。論理インタフェースの構成方法の説明は、論理インタフェースを必要とする機能のための作業に含まれています。たとえば、「IPv6 over IPv4 トンネルを手動で構成する方法」を参照してください。
物理インタフェースのタイプには、システムに組み込まれているインタフェースも、別個に購入したインタフェースも含まれます。それぞれのインタフェースは「ネットワークインタフェースカード」(NIC) の上で動作します。
「組み込み NIC」は、システムの購入時にすでにシステムに組み込まれています。組み込み NIC で動作するインタフェースの例としては、eri0 や hme0 などの「一次ネットワークインタフェース」があります。システムの一次ネットワークインタフェースは、インストール時に構成する必要があります。
eri や hme などの NIC にはインタフェースが 1 つしかありません。ただし、多くの種類の NIC には複数のインタフェースがあります。qfe カードなどの複数インタフェース NIC には、qfe0 から qfe3 まで 4 つのインタフェースがあります。Oracle Solaris インストールプログラムは、インストール時に存在するすべてのインタフェースを検出し、それらを構成するかどうか確認します。これらのインタフェースの構成は、ブート時に行うことも、後日に行うこともできます。
NIC は「ネットワークアダプタ」とも呼ばれます。
システムには、組み込み NIC のほかに、別個に購入した NIC を追加できます。別個に購入した NIC は、製造元のマニュアルに従って物理的に取り付けてください。次に、NIC で動作するインタフェースを構成し、それらのインタフェースをデータトラフィックの受け渡しに使用できるようにします。
次に、インストール後に追加インタフェースをシステム上に構成する理由を示します。
システムをアップグレードしてマルチホームホストにする。マルチホームホストについての詳細は、「マルチホームホストの構成」を参照してください。
ホストをルーターに変更する。ルーターの構成については、「IPv4 ルーターの構成」を参照してください。
IPMP グループにインタフェースを追加する。IPMP グループに属するインタフェースについては、「IPMP インタフェースの構成」を参照してください。
追加インタフェース用に使用する IPv4 アドレスを決めます。
構成する物理インタフェースはシステム上に存在していなければなりません。別個に購入した NIC ハードウェアのインストールについては、NIC に添付されている製造元のマニュアルを参照してください。
次の手順では、新しいインタフェースを物理的に取り付けたあと、すでに再起動 (boot-r) を実行してあるとします。
次の手順は Solaris 10 3/05 OS のユーザーにのみ該当します。Oracle Solaris 10 の更新を使用している場合は、「システムインストール後に物理インタフェースを構成する方法」を参照してください。
インタフェースがあるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
# ifconfig interface plumb up |
たとえば、qfe0 の場合は、次のように入力します。
# ifconfig qfe0 plumb up |
ifconfig コマンドを使用して明示的に構成されたインタフェースは、リブート後には保持されません。
インタフェースに IPv4 アドレスとネットマスクを割り当てます。
# ifconfig interface IPv4-address netmask+netmask |
たとえば、qfe0 の場合は、次のように入力します。
# ifconfig qfe0 10.0.0.32 netmask + 255.255.255.0 |
新しく構成したインタフェースが plumb されて構成済みの状態 (「UP」) であることを確認します。
# ifconfig -a |
表示される各インタフェースの状態行を確認します。たとえば次のように出力の状態行に UP フラグが含まれていることを確認します。
qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 |
(省略可能) リブート後もインタフェースの構成が保持されるようにするには、次の手順を実行します。
構成するインタフェースごとに、/etc/hostname.interface ファイルを作成します。
たとえば、qfe0 インタフェースを追加する場合には、次のファイルを作成します。
# vi /etc/hostname.qfe0 |
/etc/hostname.interface ファイルを編集します。
少なくとも、インタフェースの IPv4 アドレスをファイルに追加します。ネットマスクやほかの構成情報もファイルに追加できます。
インタフェースに IPv6 アドレスを追加するには、「ホストとサーバーの IPv6 インタフェース構成の変更」を参照してください。
新しいインタフェース用のエントリを /etc/inet/hosts ファイルに追加します。
再構成用ブートを実行します。
# reboot -- -r |
/etc/hostname.interface ファイルで作成したインタフェースが構成されていることを確認します。
# ifconfig -a |
次の例では、2 つのインタフェース qfe0 と qfe1 を追加します。これらのインタフェースは、一次ネットワークインタフェース 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 |
IPv6 アドレスをインタフェースに構成する場合は、「現在のセッションの IPv6 インタフェースを有効にする方法」を参照してください。
Network Multipathing (IPMP) を使用するインタフェースに対してフェイルオーバー検出とフェイルバックを設定する場合は、第 31 章IPMP の管理 (手順)を参照してください。
次の手順は Solaris 10 3/05 OS のユーザーにのみ該当します。Oracle Solaris 10 の更新を使用している場合は、「物理インタフェースを削除する方法」を参照してください。
削除するインタフェースがあるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
物理インタフェースを削除します。
次の形式の ifconfig コマンドを使用します。
# ifconfig interfacedown unplumb |
たとえば、eri1 を削除する場合には、次のように入力します。
# ifconfig eri1 down unplumb |
この節では、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 ビット識別子です。ネットワークインタフェース (たとえば、ce0、ce1、ce2 など) ごとに、最大で 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 の形式を示しています。
この節では、Solaris 10 3/05 OS ユーザーのみを対象として、VLAN の構成情報について説明します。Oracle Solaris 10 の更新を使用している場合は、「VLAN を構成する方法」を参照してください。
Primary Administrator 役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
システムでどのようなタイプのインタフェースが使用されているか判別します。
システムによっては、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 |
サーバーの各アダプタに構成する 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 としてそれぞれ、ce123000 と ce224000 を使用します。
たとえば、次の ifconfig の例を使用できます。
# ifconfig ce123000 plumb up # ifconfig ce224000 plumb up |
VLAN デバイス ce123000 と ce224000 を持つシステム上で 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 |
スイッチで、VLAN のタグ付けと VLAN ポートを、サーバーに設定した VLAN と一致するように設定します。
手順 4 の例では、スイッチに VLAN ポート 123 と 224 または VLAN ポート 10 と 11 を設定します。
VLAN タグとポートの具体的な設定方法については、スイッチに添付されているマニュアルを参照してください。