ipaddrsel - IPv6 デフォルトアドレス選択の構成
/usr/sbin/ipaddrsel
/usr/sbin/ipaddrsel -f file
/usr/sbin/ipaddrsel -d
ipaddrsel ユーティリティーは、IPv6 デフォルトアドレス選択ポリシーテーブルを構成するために使用します。このポリシーテーブルは、IPv6 の発信元アドレス選択および着信先アドレス順序付けで名前を AF_INET6 アドレスに解決するときに使用される最長接頭辞一致検索テーブルです。発信元アドレス選択でポリシーテーブルを使用する方法については、inet6(7P) を参照してください。着信先アドレス順序付けでポリシーテーブルを使用する方法については、getaddrinfo(3SOCKET) を参照してください。
変更されていないポリシーテーブルは、すべての一般的な IPv6 配備で有効です。このテーブルは、IPv6 発信元アドレス選択または着信先アドレス順序付けメカニズムのデフォルト動作では不十分な状況が存在する場合にのみ変更します。このような状況の例については、Examplesのセクションを参照してください。提供されたデフォルトのテーブルを変更する前に、アドレス指定方法を慎重に検討すべきです。
引数を指定せずに ipaddrsel コマンドを発行すると、現在使用しているアドレス選択ポリシーが表示されます。出力の形式は、–f オプションに指定できる構成ファイルの形式と互換性があります。
–f オプションに指定できる構成ファイルには、コメント行とポリシーエントリのいずれかを含めることができます。コメント行は、最初の空白以外の文字が「#」であり、ipaddrsel ユーティリティーによって無視されます。ポリシーエントリ行の形式は次のとおりです。
prefix/prefix_length precedence label [# comment]
prefix は、inet(3SOCKET) と一致する形式の IPv6 接頭辞です。prefix_length は、0 から 128 までの整数です。IPv6 の発信元アドレス選択および着信先アドレス順序付けアルゴリズムでは、このテーブル内の接頭辞を使用して接頭辞最長一致検索を実行することによって、アドレスの優先度またはラベルが決定されます (IP ルーティングテーブルを使用して接頭辞最長一致検索を実行することによって、着信先の次ホップが決定されるのとよく似ています)。
この優先度は、着信先アドレス順序付けメカニズムが名前検索で返されたアドレスをソートする方法を表す負でない整数です。一般に、優先度の高いアドレスは優先度の低いアドレスより前になります。ただし、好ましくない発信元アドレスを含む着信先など、ほかの要因によってこれらの優先度値がオーバーライドされることがあります。
このラベルは、NULL 終端を含まない最大 15 文字の文字列です。このラベルを使用すると、特定の発信元アドレスの接頭辞を同じラベルの着信先アドレスの接頭辞とともに使用できるようになります。特に、特定の着信先アドレスについては、IPv6 発信元アドレス選択アルゴリズムによって、ラベルがその着信先と同じである発信元アドレスが優先されます。
ラベルのあとには省略可能なコメントを付けることができます。
このファイルには、デフォルトのポリシーエントリ (prefix および prefix_length が ::0/0 であるエントリ) が含まれている必要があります。これは、可能なすべてのアドレスがポリシーと一致するようにするためです。
ippadrsel ユーティリティーは、次のオプションをサポートします。
アドレス選択ポリシーテーブルを file に指定したポリシーで置換します。
カーネルのアドレス選択ポリシーテーブルをデフォルトのテーブルに戻します。この方法で ipaddrsel を呼び出すと、現在実行中のカーネルのポリシーテーブルのみが変更され、構成ファイル /etc/inet/ipaddrsel.conf は変更されません。構成ファイルをそのデフォルト設定に戻すには、ipaddrsel –d を使用し、ipaddrsel の出力を /etc/inet/ipaddrsel.conf にリダイレクトすることによって、テーブルの内容を構成ファイルにダンプします。
example# ipaddrsel -d example# ipaddrsel > /etc/inet/ipaddrsel.conf
次の例は、/etc/inet/ipaddrsel.conf に格納されているデフォルトポリシーです。
# Prefix Precedence Label ::1/128 50 Loopback ::/96 20 IPv4_Compatible ::ffff:0.0.0.0/96 10 IPv4 2002::/16 30 6to4 ::/0 40 Default使用例 2 リンクローカルアドレスおよびサイトローカルアドレスに低い優先度を割り当てる
デフォルトでは、着信先アドレス順序付けルールによって、小さいスコープを持つアドレスが大きいスコープを持つアドレスより前にソートされます。たとえば、名前がグローバルアドレスとサイトローカルアドレスに解決される場合は、サイトローカルアドレスがグローバルアドレスより前に順序付けられます。管理者は、次のテーブルに示すように、小さいスコープを持つアドレスに低い優先度を割り当てることによって、この順序付けルールをオーバーライドできます。
# Prefix Precedence Label ::1/128 50 Loopback ::/0 40 Default 2002::/16 30 6to4 fec0::/10 27 Site-Local fe80::/10 23 Link-Local ::/96 20 IPv4_Compatible ::ffff:0.0.0.0/96 10 IPv4使用例 3 IPv4 の着信先に高い優先度を割り当てる
名前の検索では、デフォルトで IPv6 アドレスが IPv4 アドレスより前に順序付けられます。デフォルトのテーブルでは、::ffff:0.0.0.0/96 がもっとも低い優先度を持っています。次の例では、IPv4 アドレスが高い優先度を割り当てられ、IPv6 の着信先より前に順序付けられます。
# Prefix Precedence Label ::1/128 50 Loopback ::/0 40 Default 2002::/16 30 6to4 ::/96 20 IPv4_Compatible ::ffff:0.0.0.0/96 60 IPv4使用例 4 特定の発信元アドレスが使用されるようにする
この例では、特定のネットワーク内の着信先と通信する場合にのみ、特定の発信元アドレスが使用されるようになります。
次のポリシーテーブルは、ローカルシステム上の特定の発信元アドレス 2001:1111:1111::1 にラベル 5 を割り当てます。このテーブルは、ネットワーク 2001:2222:2222::/48 に同じラベルを割り当てます。このポリシーの結果、発信元アドレス 2001:1111:1111::1 は、ネットワーク 2001:2222:2222::/48 に含まれる着信先と通信する場合にのみ使用されます。この例では、このネットワークは特定のクライアントのネットワークを表す ClientNet です。
# Prefix Precedence Label ::1/128 50 Loopback 2001:1111:1111::1/128 40 ClientNet 2001:2222:2222::/48 40 ClientNet ::/0 40 Default 2002::/16 30 6to4 ::/96 20 IPv4_Compatible ::ffff:0.0.0.0/96 10 IPv4
この例は、ローカルシステムに 1 つの物理インタフェースがあり、その物理インタフェースにグローバル接頭辞が割り当てられていることを前提としています。
ipaddrsel は、次の終了値を返します。
ipaddrsel が正常に完了しました。
エラーが発生した。障害が発生した場合、カーネルの現在のポリシーテーブルは変更されません。
ブート時にインストールされる IPv6 デフォルトアドレス選択ポリシーを含むファイル。このファイルは、インターネットサービスが起動する前に読み込まれます。
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
nscd(1M), inet(3SOCKET), getaddrinfo(3SOCKET), ipaddrsel.conf(4), attributes(5), inet6(7P)
nscd(1M) によって保持される ipnodes キャッシュには、着信先アドレス順序付けアルゴリズムを使用して順序付けられたアドレスが含まれており、それがブートシーケンスで nscd より前に ipaddrsel が呼び出される理由の 1 つになっています。nscd の起動後に ipaddrsel を使用してアドレス選択ポリシーを変更した場合は、次のコマンドを呼び出して、nscd の ipnodes キャッシュを無効にすべきです:
example# /usr/sbin/nscd -i ipnodes