ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化 Oracle Solaris 11 Information Library (日本語) |
この Oracle Solaris リリースでのネットワーク構成
7. プロファイルでのデータリンクおよびインタフェース構成コマンドの使用
SPARC: インタフェースの MAC アドレスが一意であることを確認する方法
ipadm create-addr コマンドで IP アドレスを割り当てることができない。
IP アドレスの構成中に cannot create address object: Invalid argument provided というメッセージが表示される。
IP インタフェースの構成中に cannot create address: Persistent operation on temporary object というメッセージが表示される。
比較表: ipadm コマンドとその他のネットワークコマンド
ifconfig コマンドのオプションと ipadm コマンドのオプション
ndd コマンドのオプションと ipadm コマンドのオプション
10. Oracle Solaris 上での無線インタフェース通信の構成
インタフェースは別にして、ipadm コマンドを使用すると、プロトコルのプロパティー (チューニング可能パラメータとも呼ばれる) を構成できます。ipadm は、チューニング可能パラメータを設定するために以前のリリースで一般的に使用されていた ndd コマンドを置き換えます。この節では、選択された TCP/IP プロトコルのプロパティーをカスタマイズするための手順と例について説明します。
TCP/IP プロパティーは、インタフェースベースまたはグローバルのどちらにもできます。各プロパティーを特定のインタフェースに適用することも、ゾーン内のすべてのインタフェースにグローバルに適用することもできます。グローバルなプロパティーは、非大域ゾーンごとに異なる設定にすることができます。サポートされるプロトコルのプロパティーの一覧については、ipadm(1M) のマニュアルページを参照してください。
ネットワークが機能するには、通常、TCP/IP インターネットプロトコルのデフォルト設定で十分です。ただし、デフォルト設定が特定のネットワークトポロジに対して十分でない場合は、次の表の手順に、これらの TCP/IP プロパティーをカスタマイズする方法を示しています。
この表は、プロトコルの特定のプロパティーを構成するためのタスクと、それに対応する手順へのリンクを示しています。
表 9-2 選択された TCP/IP プロパティーの設定
|
TCP、UDP、SCTP などのトランスポートプロトコルでは、ポート 1–1023 はデフォルトの特権ポートです。つまり、root ユーザーのアクセス権で実行されるプロセスのみがこれらのポートにバインドできます。ipadm コマンドを使用することにより、この指定されたデフォルト範囲を超えて、あるポートを特権ポートになるように予約することができます。それによって、root プロセスのみがそのポートにバインドできます。この手順では、トランスポートプロトコルの次のプロパティーを使用します。
smallest_nonpriv_port
extra_priv_ports
# ipadm show-prop -p smallest_nonpriv_port protocol
ここで、protocol は、特権ポートを構成する対象のプロトコルタイプです (IP、UDP、ICMP など)。
このコマンド出力で、POSSIBLE フィールドは、通常のユーザーがバインドできるポート番号の範囲を示します。指定されたポートがこの範囲内にある場合は、そのポートを特権ポートとして設定できます。
# ipadm show-prop -p extra_priv_ports protocol
このコマンド出力で、CURRENT フィールドは、どのポートが現在特権ポートとしてマークされているかを示します。指定されたポートがこのフィールドに含まれていない場合は、そのポートを特権ポートとして設定できます。
# ipadm set-prop -p extra_priv_ports=port-number protocol
ポートを特権ポートとして追加するには、次の構文を入力します。
# ipadm set-prop -p extra_priv_ports+=portnumber protocol
注 - プラス記号 (+) の修飾子により、複数のポートを特権ポートになるように割り当てることができます。プラス記号の修飾子を使用すると、これらのポートの一覧を作成できます。この一覧にポートを個別に追加するには、この構文をこの修飾子とともに使用します。この修飾子を使用しない場合は、割り当てるポートにより、以前に特権ポートとして一覧表示されていたほかのすべてのポートが置き換えられます。
ポートを特権ポートとして削除するには、次の構文を入力します。
# ipadm set-prop -p extra_priv_ports-=portnumber protocol
注 - マイナス記号 (-) の修飾子を使用すると、現在特権ポートとして一覧表示されている既存のポートからポートを削除できます。この同じ構文を使用して、ほかのすべての特権ポート (デフォルトポートを含む) を削除します。
# ipadm show-prop -p extra_priv_ports protocol
このコマンド出力で、指定されたポートが現在 CURRENT フィールドに含まれていることを確認します。
例 9-6 特権ポートの設定
この例では、ポート 3001 と 3050 を特権ポートとして設定します。また、現在特権ポートとして一覧表示されているポート 4045 を削除します。
smallest_nonpriv_port プロパティーの出力で、POSSIBLE フィールドはポート 1024 が最小の非特権ポートであり、指定されたポート 3001 と 3050 が使用できる非特権ポートの範囲内にあることを示します。extra_priv_ports プロパティーの出力で、ポート 2049 と 4045 は CURRENT フィールドで特権ポートとしてマークされいます。そのため、ポート 3001 を特権ポートとして設定する処理に進むことができます。
# ipadm show-prop -p smallest_nonpriv_port tcp PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE tcp smallest_nonpriv_port rw 1024 -- 1024 1024-32768 # ipadm show-prop -p extra_priv_ports tcp PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE tcp extra_priv_ports rw 2049,4045 -- 2049,4045 1-65535 # ipadm set-prop -p extra_priv_ports+=3001 tcp # ipadm set-prop -p extra_priv_ports+=3050 tcp # ipadm show-prop -p extra_priv_ports tcp PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE tcp extra_priv_ports rw 2049,4045 3001,3050 2049,4045 1-65535 3001,3050 # ipadm set-prop -p extra_priv_ports-=4045 tcp # ipadm show-prop -p extra_priv_ports tcp PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE tcp extra_priv_ports rw 2049,3001 3001,3050 2049,4045 1-65535 3050
デフォルトでは、複数のインタフェースを備えたシステム (マルチホームホストとも呼ばれる) は、経路指定テーブル内のトラフィックの宛先への一致する最長のルートに基づいてネットワークトラフィックを経路指定します。宛先への等しい長さの複数のルートが存在する場合、Oracle Solaris は、これらのルートにわたってトラフィックを分散させるために等コストマルチパス (ECMP) アルゴリズムを適用します。
この方法でのトラフィックの分散が、場合によっては最適でないことがあります。ある IP パケットが、そのパケット内の IP 発信元アドレスと同じサブネット上に存在しないマルチホームホスト上のインタフェース経由で送信される可能性があります。さらに、送信パケットが特定の受信要求への応答 (ICMP エコー要求など) である場合は、要求と応答が同じインタフェースをたどらない可能性があります。トラフィックのこのようなルーティング構成を非対称ルーティングと呼びます。インターネットサービスプロバイダが RFC 3704 (http://rfc-editor.org/rfc/bcp/bcp84.txt) に記載されているイングレスフィルタリングを実装している場合は、非対称ルーティング構成のために、送信パケットがプロバイダによって破棄されることがあります。
RFC 3704 は、インターネット全体にわたるサービス拒否攻撃の制限を目的にしています。この目的に従うには、ネットワークを対称ルーティング用に構成する必要があります。Oracle Solaris では、IP の hostmodel プロパティーを使用して、この要件を満たすことができます。このプロパティーは、マルチホームホスト経由で受信または送信されている IP パケットの動作を制御します。
次の手順は、ipadm コマンドを使用して、特定のルーティング構成のための hostmodel プロパティーを設定する方法を示しています。
# ipadm set-prop -p hostmodel=value protocol
このプロパティーは、次の 3 つの設定のいずれかに構成できます。
RFC 1122 で定義されている強い終端システム (ES) モデルに対応します。この設定によって、対称ルーティングが実装されます。
RFC 1122 で定義されている弱い ES モデルに対応します。この設定では、マルチホームホストは非対称ルーティングを使用します。
優先ルートを使用してパケットルーティングを構成します。経路指定テーブル内に複数の宛先ルートが存在する場合、優先ルートは、送信パケットの IP 発信元アドレスが構成されているインタフェースを使用するルートです。このようなルートが存在しない場合、送信パケットは、そのパケットの IP 宛先への一致する最長のルートを使用します。
# ipadm show-prop protocol
例 9-7 マルチホームホスト上での対称ルーティングの設定
この例では、マルチホームホスト内のすべての IP トラフィックの対称ルーティングを適用します。
# ipadm set-prop -p hostmodel=strong ip # ipadm show-prop -p hostmodel ip PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE ipv6 hostmodel rw strong -- weak strong, src-priority, weak ipv4 hostmodel rw strong -- weak strong, src-priority, weak