JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 ネットワークの構成と管理     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  ネットワーク配備の計画

2.  IPv6 アドレス使用時の考慮点

3.  IPv4 ネットワークの構成

4.  ネットワークでの IPv6 の有効化

5.  TCP/IP ネットワークの管理

6.  IP トンネルの構成

IP トンネルの概要

Oracle Solaris 11 での IP トンネル管理

トンネルのタイプ

IPv6 と IPv4 を組み合わせたネットワーク環境でのトンネル

6to4 トンネル

6to4 トンネルのトポロジ

6to4 トンネルを介したパケットフロー

6to4 リレールーターとの間のトンネルについての考慮事項

6to4 サイトとネイティブ IPv6 サイト間のパケットフロー

トンネルの配備

トンネルを作成するための要件

トンネルと IP インタフェースの要件

dladm コマンドによるトンネルの構成と管理

dladm サブコマンド

トンネルの構成 (タスクマップ)

IP トンネルを作成および構成する方法

6to4 トンネルを構成する方法

6to4 リレールーターとの間の 6to4 トンネルを構成する方法

IP トンネルの構成を変更する方法

IP トンネルの構成を表示する方法

IP トンネルのプロパティーを表示する方法

IP トンネルを削除する方法

7.  IPv4 リファレンス

8.  IPv6 リファレンス

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

dladm コマンドによるトンネルの構成と管理

このセクションでは、dladm コマンドを使用してトンネルを構成する手順について説明します。

dladm サブコマンド

この Oracle Solaris リリースから、トンネルの管理が IP インタフェースの構成から分離されました。IP トンネルのデータリンクの側面は、dladm コマンドで管理されるようになりました。さらに、IP トンネルインタフェースを含む IP インタフェースの構成は、ipadm コマンドで実行されます。

dladm の次のサブコマンドを使用して、IP トンネルを構成します。

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


注 - IP トンネルの管理は、IPsec の構成と密接に関連しています。たとえば、IPsec 仮想プライベートネットワーク (VPN) は、IP トンネリングの主な用途の 1 つです。Oracle Solaris でのセキュリティーの詳細は、『Oracle Solaris 11.1 でのネットワークのセキュリティー保護』の第 6 章「IP セキュリティーアーキテクチャー (概要)」を参照してください。IPsec を構成する場合は、『Oracle Solaris 11.1 でのネットワークのセキュリティー保護』の第 7 章「IPsec の構成 (タスク)」を参照してください。


トンネルの構成 (タスクマップ)

タスク
説明
手順
IP トンネルを作成します。
ネットワーク経由の通信に使用されるトンネルを構成します。
トンネルの構成を変更します。
トンネルの発信元アドレスや着信先アドレスなど、トンネルの元のパラメータを変更します。
トンネルの構成を表示します。
特定のトンネル、またはシステムのすべての IP トンネルの構成情報を表示します。
トンネルを削除します。
トンネルの構成を削除します。

IP トンネルを作成および構成する方法

  1. トンネルを作成します。
    # dladm create-iptun [-t] -T type -a [local|remote]=addr,... tunnel-link

    このコマンドで使用可能なオプションまたは引数は、次のとおりです。

    -t

    一時的なトンネルを作成します。このコマンドはデフォルトでは永続的なトンネルを作成します。


    注 - トンネル上で永続的 IP インタフェースを構成するには、永続的なトンネルを作成し、-t オプションは使用しないようにする必要があります。


    -T type

    作成するトンネルのタイプを指定します。この引数は、どのトンネルタイプを作成する場合も必要です。

    -a [local|remote]=address,...

    ローカルアドレスとリモートトンネルアドレスに対応するリテラル IP アドレスまたはホスト名を指定します。これらのアドレスは有効であり、かつシステム内ですでに作成されている必要があります。トンネルのタイプに応じて、アドレスを 1 つだけ指定するか、ローカルアドレスとリモートアドレスの両方を指定します。ローカルアドレスとリモートアドレスの両方を指定する場合は、それらのアドレスをコンマで区切ります。

    • IPv4 トンネルが機能するためには、ローカルとリモートの IPv4 アドレスが必要です。

    • IPv6 トンネルが機能するためには、ローカルとリモートの IPv6 アドレスが必要です。

    • 6to4 トンネルが機能するためには、ローカル IPv4 アドレスが必要です。


    注 - 永続的な IP トンネルデータリンクの構成でホスト名をアドレスとして使用した場合、それらのホスト名が構成ストレージに保存されます。次回以降のシステムブート時に、トンネル作成時に使用された IP アドレスとは異なる IP アドレスに名前が解決された場合、トンネルは新しい構成を取得します。


    tunnel-link

    IP トンネルリンクを指定します。ネットワークリンク管理での意味のある名前のサポートにより、トンネル名が作成対象トンネルのタイプに制限されなくなりました。代わりに、管理者によって選択された名前をトンネルに割り当てることができます。トンネル名は、mytunnel0 のように、文字列と物理接続点 (PPA) 番号から構成されます。意味のある名前の割り当てを制御する規則については、『Oracle Solaris 11 ネットワーキングの紹介』の「有効なリンク名のための規則」を参照してください。

    トンネルリンクを指定しなかった場合には、次の命名規則に従って名前が自動的に提供されます。

    • IPv4 トンネルの場合: ip.tun#

    • IPv6 トンネルの場合: ip6.tun#

    • 6to4 トンネルの場合: ip.6to4tun#

    # は、作成するトンネルタイプで使用可能な PPA 番号のうち、もっとも小さい番号になります。

  2. (オプション) ホップ制限またはカプセル化制限の値を設定します。
    # dladm set-linkprop -p [hoplimit=value] [encaplimit=value] tunnel-link
    hoplimit

    IPv6 上でのトンネリング用のトンネルインタフェースのホップ制限を指定します。hoplimit は、IPv4 上でのトンネリングの IPv4 生存時間 (TTL) フィールドに相当します。

    encaplimit

    1 つのパケットで許可される入れ子のトンネリングのレベル数を指定します。このオプションは IPv6 トンネルにのみ適用されます。

    1 つのパケットで許可される入れ子のトンネリングのレベル数を指定します。このオプションは IPv6 トンネルにのみ適用されます。


    注 - hoplimitencaplimit に設定する値は、許容範囲内にとどまっている必要があります。hoplimitencaplimit はトンネルリンクのプロパティーです。したがって、これらのプロパティーは、ほかのリンクプロパティーと同じ dladm サブコマンドを使って管理します。サブコマンドは、dladm set-linkpropdladm reset-linkprop、および dladm show-linkprop です。dladm コマンドで使用されるリンク管理用のさまざまなサブコマンドについては、dladm(1M) のマニュアルページを参照してください。


  3. トンネル上で IP インタフェースを作成します。
    # ipadm create-ip tunnel-interface

    ここで、tunnel-interface ではトンネルリンクと同じ名前を使用します。

  4. ローカルおよびリモートの IP アドレスをトンネルインタフェースに割り当てます。
    # ipadm create-addr [-t] -a local=address,remote=address interface
    -t

    トンネル上の永続的な IP 構成ではなく一時的な IP 構成を示します。このオプションを使用しない場合、IP インタフェースの構成は永続的な構成になります。

    -a local=address ,remote=address

    トンネルインタフェースの IP アドレスを指定します。localremote で表される発信元と着信先の両方の IP アドレスが必要です。ローカルとリモートのアドレスは、IPv4 または IPv6 のいずれかのアドレスを使用できます。

    interface

    トンネルインタフェースを指定します。

    ipadm コマンドや、トンネルインタフェースなどの IP インタフェースを構成するための各種オプションの詳細は、ipadm(1M) のマニュアルページおよび『Oracle Solaris 11.1 での固定ネットワーク構成を使用したシステムの接続』を参照してください。

  5. /etc/hosts ファイルにトンネル構成情報を追加します。
  6. (オプション) トンネルの IP インタフェース構成のステータスを確認します。
    # ipadm show-addr interface

例 6-1 IPv4 トンネル上での IPv6 インタフェースの作成

この例では、永続的な IPv6 over IPv4 トンネルを作成する方法を示します。

# dladm create-iptun -T ipv4 -a local=63.1.2.3,remote=192.4.5.6 private0
# dladm set-linkprop -p hoplimit=200 private0
# ipadm create-ip private0
# ipadm create-addr -T addrconf private0
# ipadm show-addr private/
ADDROBJ       TYPE     STATE   ADDR
private0/v6   static   ok      fe80::a08:392e/10 --> fe80::8191:9a56

代替アドレスを追加するには、同じ構文を使用します。たとえば、次のようにしてグローバルアドレスを追加できます。

# ipadm create-addr -a local=2001:db8:4728::1, \
remote=2001:db8:4728::2 private0
# ipadm show-addr private0/
ADDROBJ          TYPE       STATE   ADDR
private0/v6      addrconf   ok      fe80::a08:392e/10 --> fe80::8191:9a56
private0/v6a     static     ok      2001:db8:4728::1 --> 2001:db8:4728::2

IPv6 アドレスの接頭辞 2001:db8 は、ドキュメントの例で特別に使用される特殊な IPv6 接頭辞です。

例 6-2 IPv4 トンネル上での IPv4 インタフェースの作成

この例では、永続的な IPv4 over IPv4 トンネルを作成する方法を示します。

# dladm create-iptun -T ipv4 -a local=63.1.2.3,remote=192.4.5.6 vpn0
# ipadm create-ip vpn0
# ipadm create-addr -a local=10.0.0.1,remote=10.0.0.2 vpn0
# ipadm show-addr
ADDROBJ   TYPE     STATE   ADDR
lo0/v4    static   ok      127.0.0.1
vpn0/v4   static   ok      10.0.0.1-->10.0.0.2

さらに、このトンネル上を通過するパケットに対してセキュリティー保護された接続を提供するために、IPsec ポリシーを構成することもできます。IPsec の構成については、『Oracle Solaris 11.1 でのネットワークのセキュリティー保護』の第 7 章「IPsec の構成 (タスク)」を参照してください。

例 6-3 IPv6 トンネル上での IPv6 インタフェースの作成

この例では、永続的な IPv6 over IPv6 トンネルを作成する方法を示します。

# dladm create-iptun -T ipv6 -a local=2001:db8:feed::1234,remote=2001:db8:beef::4321 \
tun0
# ipadm create-ip tun0
# ipadm create-addr -T addrconf tun0
# ipadm show-addr
ADDROBJ   TYPE       STATE   ADDR
lo0/v6    static     ok      ::1/128
tun0/v6   addrconf   ok      2001:db8:feed::1234 --> 2001:db8:beef::4321

グローバルアドレスや代替のローカルおよびリモートアドレスなどのアドレスを追加するには、次のように ipadm コマンドを使用します。

# ipadm create-addr \
-a local=2001:db8::4728:56bc,remote=2001:db8::1428:57ab tun0
# ipadm show-addr tun0
ADDROBJ    TYPE      STATE ADDR
tun0/v6    addrconf  ok    2001:db8:feed::1234 --> 2001:db8:beef::4321
tun0/v6a   static    ok    2001:db8::4728:56bc --> 2001:db8::1428:57ab

6to4 トンネルを構成する方法

6to4 トンネルでは、6to4 ルーターは、ネットワークの 6to4 サイト内のノードに対して IPv6 ルーターとして機能する必要があります。このため、6to4 ルーターを構成するときには、そのルーターを、その物理インタフェース上で IPv6 ルーターとしても構成する必要があります。IPv6 ルーティングの詳細は、「IPv6 のルーティング」を参照してください。

  1. 6to4 トンネルを作成します。
    # dladm create-iptun -T 6to4 -a local=address tunnel-link

    このコマンドで使用可能なオプションまたは引数は、次のとおりです。

    -a local=address

    トンネルのローカルアドレスを指定します。これが有効なアドレスであるためには、それがすでにシステム内に存在している必要があります。

    tunnel-link

    IP トンネルリンクを指定します。ネットワークリンク管理での意味のある名前のサポートにより、トンネル名が作成対象トンネルのタイプに制限されなくなりました。代わりに、管理者が選択した名前をトンネルに割り当てることができます。トンネル名は、mytunnel0 のように、文字列と PPA 番号から構成されます。意味のある名前の割り当てを制御する規則については、『Oracle Solaris 11 ネットワーキングの紹介』の「有効なリンク名のための規則」を参照してください。

  2. トンネルの IP インタフェースを作成します。
    # ipadm create-ip tunnel-interface

    ここで、tunnel-interface ではトンネルリンクと同じ名前を使用します。

  3. (オプション) トンネルで使用するための代替 IPv6 アドレスを追加します。
  4. 6to4 ルーティングを通知するために /etc/inet/ndpd.conf ファイルを編集して次の 2 行を追加します。
    if subnet-interface AdvSendAdvertisements 1
    IPv6-address subnet-interface

    1 行目は、広告を受け取るサブネットを指定します。subnet-interface は、サブネットが接続されているリンクを表します。2 行目の IPv6 アドレスの接頭辞は、6to4 トンネルの IPv6 アドレスで使用される 6to4 接頭辞 2000 になっている必要があります。

    ndpd.conf ファイルの詳細は、ndpd.conf(4) のマニュアルページを参照してください。

  5. IPv6 転送を有効にします。
    # ipadm set-prop -p forwarding=on ipv6
  6. ルーターをリブートします。

    あるいは、sighup/etc/inet/in.ndpd デーモンに発行しても、ルーター広告の送信を開始できます。これによって、各サブネット上の 6to4 接頭辞を受信する IPv6 ノードは、新しい 6to4 派生アドレスを自動構成します。

  7. ノードに使用される 6to4 派生の新しいアドレスを 6to4 サイトで使用されるネームサービスに追加します。

    手順については、「ネームサービスの IPv6 サポート用の構成」を参照してください。

例 6-4 6to4 トンネルの作成

この例ではサブネットのインタフェースが bge0 になっていますが、このインタフェースは、該当の手順で /etc/inet/ndpd.conf 内で参照されます。

この例では 6to4 トンネルを作成する方法を示します。6to4 トンネル上で構成できるのは IPv6 インタフェースだけです。

# dladm create-iptun -T 6to4 -a local=192.168.35.10 tun0
# ipadm create-ip tun0
# ipadm show-addr
ADDROBJ       TYPE     STATE   ADDR
lo0/v4        static   ok      127.0.0.1/8
net0/v4       static   ok      192.168.35.10/24
lo0/v6        static   ok      ::1/128
tun0/_a       static   ok      2002:c0a8:57bc::1/64

# ipadm create-addr -a 2002:c0a8:230a::2/16 tun0
# ipadm create-addr -a 2002:c0a8:230a::3/16 tun0
# ipadm show-addr tun0
ADDROBJ       TYPE     STATE   ADDR
lo0/v4        static   ok      127.0.0.1/8
net0/v4       static   ok      192.168.35.10/24
lo0/v6        static   ok      ::1/128
tun0/_a       static   ok      2002:c0a8:57bc::1/64
tun0/v6       static   ok      2002:c0a8:230a::2/16
tun0/v6a      static   ok      2002:c0a8:230a::3/16

# vi /etc/inet/ndpd.conf
if bge0 AdvSendAdvertisements 1
2002:c0a8:57bc::1/64 bge0

# ipadm set-prop -p forwarding=on ipv6

6to4 トンネルでは IPv6 アドレスの接頭辞は 2002 です。

6to4 リレールーターとの間の 6to4 トンネルを構成する方法


注意

注意 - セキュリティー上の大きな問題のため、Oracle Solaris では、6to4 リレールーターのサポートはデフォルトでは無効になっています。『Troubleshooting Network Issues』の「Security Issues When Tunneling to a 6to4 Relay Router」を参照してください。


始める前に

6to4 リレールーターとの間のトンネルを有効にする前に、次のタスクを完了しておく必要があります。

  1. 次のどちらか一方を使用し、6to4 リレールーターとの間のトンネルを有効にします。
    • エニーキャスト 6to4 リレールーターとの間のトンネルを有効にします。

      # /usr/sbin/6to4relay -e

      -e オプションは、6to4 ルーターとエニーキャスト 6to4 リレールーターの間にトンネルを設定します。エニーキャスト 6to4 リレールーターは既知の IPv4 アドレス 192.88.99.1 を持っています。サイトに物理的にもっとも近いエニーキャストリレールーターが、6to4 トンネルのエンドポイントになります。このリレールーターは、6to4 サイトとネイティブ IPv6 サイト間のパケット転送を処理します。

      エニーキャスト 6to4 リレールーターの詳細については、RFC 3068, "An Anycast Prefix for 6to4 Relay Routers" を参照してください。

    • 特定の 6to4 リレールーターとの間のトンネルを有効にします。

      # /usr/sbin/6to4relay -e -a relay-router-address

      -a オプションは、特定のルーターアドレスが続くことを示します。relay-router-address には、トンネルを有効にするために使用する特定の 6to4 リレールーターの IPv4 アドレスを指定してください。

    6to4 リレールーターとの間のトンネルは、6to4 トンネル擬似インタフェースが削除されるまでアクティブな状態を維持します。

  2. 6to4 リレールーターとの間のトンネルが必要なくなったときには、このトンネルを削除します。
    # /usr/sbin/6to4relay -d
  3. (オプション) リブートを行なっても 6to4 リレールーターとの間のトンネルが持続するように設定します。

    サイトによっては、6to4 ルーターがリブートするたびに 6to4 リレールーターとの間のトンネルを元に戻さざるをえない場合があるでしょう。このようなシナリオをサポートするには、次を行う必要があります。

    1. /etc/default/inetinit ファイルを編集します。

      変更が必要な行は、ファイルの最後にあります。

    2. ACCEPT6TO4RELAY=NO という行の値 “NO” を “YES” に変更します。
    3. (オプション) 特定の 6to4 リレールーターとの間で、リブートを行なっても持続するトンネルを構築します。

      パラメータ RELAY6TO4ADDR のために、アドレス 192.88.99.1 を、使用したい 6to4 リレールーターの IPv4 アドレスに変更してください。

例 6-5 6to4 リレールーターサポートのステータス情報の取得

/usr/bin/6to4relay コマンドを使用し、6to4 リレールーターのサポートが有効になっているかどうかを確認できます。次の例は、6to4 リレールーターのサポートを無効にした場合 (これが Oracle Solaris のデフォルト) の出力です。

# /usr/sbin/6to4relay
6to4relay: 6to4 Relay Router communication support is disabled.

6to4 リレールーターのサポートを有効にすると、次のメッセージが表示されます。

# /usr/sbin/6to4relay
6to4relay: 6to4 Relay Router communication support is enabled.
IPv4 remote address of Relay Router=192.88.99.1

IP トンネルの構成を変更する方法

例 6-6 トンネルのアドレスとプロパティーの変更

この例は 2 つの手順から構成されています。まず、IPv4 トンネル vpn0 のローカルとリモートのアドレスが一時的に変更されます。あとでシステムがリブートされるときに、このトンネルはまた元のアドレスを使用するようになります。2 番目の手順では、vpn0hoplimit を 60 に変更します。

# dladm modify-iptun -t -a local=10.8.48.149,remote=192.1.2.3 vpn0

# dladm set-linkprop -p hoplimit=60 vpn0

IP トンネルの構成を表示する方法

例 6-7 すべてのトンネルに関する情報の表示

この例では、システム上に存在しているトンネルは、1 つだけです。

# dladm show-iptun
LINK     TYPE     FLAGS     LOCAL          REMOTE
tun0     6to4     --       192.168.35.10   --
vpn0     ipv4     --       10.8.48.149     192.1.2.3

例 6-8 選択されたフィールドをマシンによる解析が可能な形式で表示する

この例では、トンネル情報を含む特定のフィールドのみが表示されています。

# dladm show-iptun -p -o link,type,local
tun0:6to4:192.168.35.10
vpn0:ipv4:10.8.48.149

IP トンネルのプロパティーを表示する方法

例 6-9 トンネルのプロパティーの表示

この例では、トンネルのすべてのリンクプロパティーを表示する方法を示します。

# dladm show-linkprop tun0
LINK     PROPERTY     PERM     VALUE     DEFAULT     POSSIBLE
tun0     autopush     --       --        --          -- 
tun0     zone         rw       --        --          -- 
tun0     state        r-       up        up          up,down 
tun0     mtu          r-       65515     --          576-65495 
tun0     maxbw        rw       --        --          -- 
tun0     cpus         rw       --        --          -- 
tun0     priority     rw       high      high        low,medium,high 
tun0     hoplimit     rw       64        64          1-255

IP トンネルを削除する方法

  1. トンネル上に構成されている IP インタフェースを、インタフェースのタイプに応じて適切な構文を使用して unplumb します。
    # ipadm delete-ip tunnel-link

    注 - トンネルを正常に削除するには、そのトンネル上で既存の IP インタフェースが plumb されていてはいけません。


  2. IP トンネルを削除します。
    # dladm delete-iptun tunnel-link

    このコマンドのオプションは -t だけです。これにより、トンネルは一時的に削除されます。システムをリブートするときに、トンネルが復元されます。

例 6-10 IPv6 インタフェースが構成された IPv6 トンネルの削除

この例では、永続的なトンネルが永遠に削除されます。

# ipadm delete-ip ip6.tun0
# dladm delete-iptun ip6.tun0