トンネルモードでは、内側の IP パケットによって、その内容を保護する IPsec ポリシーが決まります。
この手順は、IPsec によって 2 つのサーバー間でネットワークトラフィックをセキュリティー保護する方法の手順の応用です。設定については、IPsec で VPN を保護するタスクのためのネットワークトポロジの説明を参照してください。
特定のコマンドを実行する理由の詳細については、IPsec によって 2 つのサーバー間でネットワークトラフィックをセキュリティー保護する方法の対応する手順を参照してください。
この手順では、2 つのシステムを接続するだけでなく、これら 2 つのシステムに接続している 2 つのイントラネットを接続します。この手順における 2 つのシステムはゲートウェイとして機能します。
始める前に
各システムは大域ゾーンまたは排他的 IP ゾーンである。詳細は、IPsec と Oracle Solaris ゾーンを参照してください。
特定の権利を持つユーザーは、root でなくてもこれらのコマンドを実行できます。
構成コマンドを実行するには、Network IPsec Management 権利プロファイルが割り当てられている管理者になる必要があります。
IPsec 関連のシステムファイルを編集して鍵を作成するには、pfedit コマンドを使用します。
hosts ファイルを編集するには、root 役割になるか、そのファイルを編集するための明示的なアクセス権を持っている必要があります。
詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。
リモートで管理する場合は、Example 7–1 およびOracle Solaris 11.2 での Secure Shell アクセスの管理 のSecure Shell を使用して ZFS をリモートで管理する方法でセキュアなリモートログイン手順を確認してください。
# routeadm -d ipv4-routing # ipadm set-prop -p forwarding=off ipv4 # routeadm -u
IP 転送をオフにすると、このシステムを介したあるネットワークから別のネットワークへのパケット転送ができなくなります。routeadm コマンドの説明については、routeadm(1M) のマニュアルページを参照してください。
# ipadm set-prop -p hostmodel=strong ipv4
IP 厳密宛先マルチホームを有効にするには、システムの宛先アドレスのうちの 1 つに宛てたパケットが正しい宛先アドレスに到着する必要があります。
hostmodel パラメータを strong に設定したときは、ある特定のインタフェースに到着するパケットには、そのインタフェースのローカル IP アドレスの 1 つが指定されている必要があります。その他のパケットは、システムのほかのローカルアドレスが指定されているものも含めてすべて捨てられます。
ssh サービスが実行中であることを確認します。
% svcs | grep network … online Aug_09 svc:/network/ssh:default
その他の例については、トンネルモードを使用して VPN を IPsec で保護する例を参照してください。
このポリシーでは、ローカル LAN 上のシステムとゲートウェイの内部 IP アドレスの間に IPsec 保護は必要でないため、bypass 文を追加します。
# LAN traffic to and from this host can bypass IPsec. {laddr 10.16.16.6 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-2. {tunnel tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
# LAN traffic to and from this host can bypass IPsec. {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-2. {tunnel tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
IKEv2 の構成の構成手順のいずれかに従って、IKE を構成します。IKE 構成ファイルの構文については、ikev2.config(4) のマニュアルページを参照してください。IKEv1 プロトコルのみをサポートしているシステムと通信している場合は、IKEv1 の構成および ike.config(4) のマニュアルページを参照してください。
# ipsecconf -c /etc/inet/ipsecinit.conf
エラーがあれば修正し、ファイルの構文を確認してから続行します。
# svcadm refresh ipsec/policy
IPsec ポリシーはデフォルトで有効になっているので、「リフレッシュ」を行います。IPsec ポリシーを無効にしてある場合は有効にしてください。
# svcadm enable ipsec/policy
次のコマンドは、内部および外部インタフェースを構成し、tun0 トンネルを作成し、そのトンネルに IP アドレスを割り当てます。
# ipadm create-ip net1 # ipadm create-addr -T static -a local=10.1.3.3 net1/inside # dladm create-iptun -T ipv4 -a local=192.168.13.213,remote=192.168.116.16 tun0 # ipadm create-ip tun0 # ipadm create-addr -T static \ -a local=10.1.3.3,remote=10.16.16.6 tun0/v4tunaddr
最初のコマンドは、IP インタフェース net1 を作成します。2 番目のコマンドは、net1 にアドレスを追加します。3 番目のコマンドは、IP インタフェース tun0 を作成します。4 番目のコマンドは、トンネルリンク内でカプセル化されている IP アドレスを追加します。詳細は、dladm(1M) および ipadm(1M) のマニュアルページを参照してください。
# ipadm create-ip net1 # ipadm create-addr -T static -a local=10.16.16.6 net1/inside # dladm create-iptun -T ipv4 -a local=192.168.116.16,remote=192.168.13.213 tun0 # ipadm create-ip tun0 # ipadm create-addr -T static \ -a local=10.16.16.6,remote=10.1.3.3 tun0/v4tunaddr
これらのコマンドの詳細については、dladm(1M) と ipadm(1M) のマニュアルページ、および Oracle Solaris 11.2 でのネットワークコンポーネントの構成と管理 のIPv4 インタフェースを構成する方法を参照してください。カスタマイズ名については、Oracle Solaris 11.2 でのネットワークコンポーネントの構成と管理 のOracle Solaris のネットワークデバイスとデータリンク名を参照してください。
# ipadm set-ifprop -m ipv4 -p forwarding=on net1 # ipadm set-ifprop -m ipv4 -p forwarding=on tun0 # ipadm set-ifprop -m ipv4 -p forwarding=off net0
IP 転送とは、別のインタフェースから到着したパケットを転送できることを意味します。IP 転送はまた、送信するパケットがもともとは別のインタフェースから発信されたパケットである可能性も意味します。パケットを正しく転送するには、受信インタフェースと送信インタフェースの IP 転送を有効にしておきます。
net1 インタフェースはイントラネットの「内部」にあるため、net1 の IP 転送は有効にしておきます。tun0 はインターネットを通してこれら 2 つのシステムを接続するため、tun0 の IP 転送は有効にしておく必要があります。net0 インタフェースの IP 転送は無効になっているため、インターネット上の「外部」の脅威によってパケットが保護イントラネットに侵入するのを防ぐことができます。
# ipadm set-addrprop -p private=on net0
net0 の IP 転送が無効になっていても、ルーティングプロトコルの実装によっては、このインタフェースを通知することがあります。たとえば、in.routed プロトコルは、イントラネット内のピアにパケットが転送される際に net0 を有効なインタフェースとして通知する場合があります。インタフェースの「private」フラグを設定して、このような通知が行われないようにします。
# svcadm restart svc:/network/initial:default
デフォルトルートは、インターネットに直接アクセスできるルーターでなければなりません。
# route -p add net default 192.168.13.5
# route -p add net default 192.168.116.4
net0 インタフェースはイントラネットの一部ではありませんが、インターネットを介してそのピアシステムにアクセスする必要があります。net0 は、自身のピアを見つけるために、インターネット経路制御情報を必要とします。インターネットの残りの要素にとって、VPN システムは、ルーターというよりもホストのような存在です。したがって、デフォルトルーターを使用するか、ルーター発見プロトコルを実行すれば、ピアシステムを見つけることができます。詳細は、route(1M) および in.routed(1M) のマニュアルページを参照してください。