# 設定例集#106: ”クロスパス（Xpass）”動的IPサービスによるIPv4・IPv6インターネットへの同時接続（ひかり電話契約なし）

DS-Lite（Dual Stack Lite）によってIPv4 over IPv6トンネルを構築し、NTT東日本・NTT西日本が提供するフレッツ 光ネクスト回線を利用したIPv6 IPoE接続経由でIPv6インターネットだけでなく、IPv4インターネットにも接続するための設定例です。
本例はアルテリア・ネットワークス株式会社が提供する”クロスパス（Xpass）”動的IPサービスを利用した接続設定例となります。

## 構成

ルーターの基本設定
WAN側物理インターフェース | eth1
WAN側（eth1）IPv6アドレス | リンクローカルアドレス
LAN側（vlan1）IPv6アドレス | ルーター通知（RA）で取得したIPv6プレフィックスにもとづいて設定

ここでは、次の方針で設定を行います。

- ルーターのWAN側インターフェース（eth1）で受信したルーター通知（RA）パケットのIPv6プレフィックスにもとづいてLAN側インターフェース（vlan1）にIPv6アドレスを設定します。また、受信したRAの送信元IPv6アドレスをIPv6のデフォルトゲートウェイとして登録します。WAN側インターフェースではリンクローカルアドレスを使用します。
- DHCPv6でDNSサーバーアドレスを取得します。
- NDプロキシー機能により、WAN側からLAN側端末へのNS（Neighbor Solicitation）パケットに対し、ルーターが自身のMACアドレスでNA（Neighbor Advertisement）を代理応答します。
  Note

  NDプロキシー機能は本構成に特化した機能です。本構成以外での動作はサポート対象外です。

- LAN側に接続されたコンピューターは、ルーターのLAN側インターフェースから送信されるRAによってIPv6アドレス、デフォルトゲートウェイ、DNSサーバーアドレスを自動設定します。
- ルーターのLAN側インターフェースでDHCPv4サーバーを動作させ、LAN側コンピューターに対してIPv4アドレスをリースするほか、デフォルトゲートウェイ、DNSサーバーアドレスとしてルーター自身のIPv4アドレスを通知します。
- ルーターのDNSリレー機能をオンにして、LAN側コンピューターからのDNSリクエストをDNSサーバーに転送します。
- ファイアウォールを利用して、外部からの不正アクセスを遮断しつつ、内部からは自由にIPv6インターネット、サービス情報サイト（NGN IPv6閉域網）やIPv4インターネットへのアクセスができるようにします。

## 設定開始前に

### 自動設定の確認と削除

本設定例に掲載されているコマンドは、設定がまったく行われていない本製品の初期状態（スタートアップコンフィグなしで起動した状態）から入力することを前提としています。
そのため、通常は erase startup-config を実行し、スタートアップコンフィグが存在しない状態で起動してから、設定を始めてください。
ただし、本製品はスタートアップコンフィグなしで起動した場合でも、特定の条件を満たすと自動的な設定を行うことがあるため、その場合は設定例にしたがってコマンドを入力しても、コマンドがエラーになったり、全体として意図した動作にならない可能性があります。
これを避けるため、設定開始にあたっては次のいずれかの方法をとることをおすすめします。

- ネットワークケーブルを接続せずに起動する。
  起動時に自動設定が実行されるための条件の一つに、特定インターフェースのリンクアップがあります。
  ネットワークケーブルを接続しない状態で起動することにより、自動設定の適用を回避できます。
- 自動設定を手動で削除してから設定を行う。
  前記の方法を採用できず自動設定が適用されてしまった場合は、「自動的な設定内容の削除」にしたがって、これらを手動で削除してから設定を開始してください。

自動設定が行われる条件などの詳細については、AMF応用編のAMFネットワーク未検出時の拡張動作をご参照ください。

### システム時刻の設定

ログなどの記録日時を正確に保ち、各種機能を適切に動作させるため、システム時刻は正確にあわせて運用することをおすすめします。
ご使用の環境にあわせ、次のいずれかの方法でシステム時刻を設定してください。

- 手動で設定する方法 - 「運用・管理」/「システム」
- NTPで自動設定する方法 - 「運用・管理」/「NTP」

## ルーターの設定

1. LANポートにおいて初期状態で有効化されているスパニングツリープロトコル（RSTP）を無効化します。これにはspanning-tree enableコマンドをno形式で実行します。
   スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」をご覧ください。

       no spanning-tree rstp enable

2. DNS問い合わせ機能を有効にします。これには、ip domain-lookupコマンドを使います。

       ip domain-lookup

3. WANポートeth1にリンクローカルアドレスを自動設定し、RAを受信できるようにします。ただし本例では、実際にRAにもとづくアドレスを設定するのはLAN側インターフェースであるため、初期設定で有効になっているアドレス自動設定（SLAAC）は無効化します。また、WANポートで受信したNSに代理応答するためLAN側インターフェース（vlan1）へのNDプロキシー機能を有効にします。これには、ipv6 enable、ipv6 nd accept-ra-pinfo、ipv6 nd proxy interfaceコマンドを使います。

       interface eth1
        ipv6 enable
        no ipv6 nd accept-ra-pinfo
        ipv6 nd proxy interface vlan1

4. LAN側インターフェースvlan1に対し、IPv4アドレスを固定設定します。また、WANポートで受信したRAにもとづくIPv6アドレスを自動設定するよう設定します。これにはip addressコマンドとipv6 address autoconfigコマンドを使います。
   また、IPv6設定情報をLAN側クライアントに通知するため、RAの送信を有効にします。これには、ipv6 nd suppress-ra、ipv6 nd dns-serverコマンドを使います。
   IPv6インターフェースの詳細は「IPv6」/「IPv6インターフェース」をご覧ください。

       interface vlan1
        ip address 192.168.10.1/24
        ipv6 address autoconfig eth1
        no ipv6 nd suppress-ra
        ipv6 nd dns-server vlan1

5. IPv6パケット転送機能を有効化します。これにはipv6 forwardingコマンドを使います。

       ipv6 forwarding

6. LAN側ネットワークに接続されているコンピューターのためにDHCPサーバー機能の設定を行います。
   DHCPサーバー機能の詳細は「IP付加機能」/「DHCPサーバー」をご覧ください。
   これには、ip dhcp poolコマンドでDHCPプールを作成し、以下の情報を設定します。
   ・サブネット（network）
   ・リースするIPアドレス（range）
   ・デフォルトゲートウェイ（default-router）
   ・DNSサーバーアドレス（dns-server）
   ・リース時間（lease）

       ip dhcp pool pool10
        network 192.168.10.0 255.255.255.0
        range 192.168.10.100 192.168.10.131
        dns-server 192.168.10.1
        default-router 192.168.10.1
        lease 0 2 0

7. DHCPサーバーを有効化します。これには、service dhcp-serverコマンドを使います。

       service dhcp-server

8. DS-Liteトンネルインターフェースtunnel0を作成します。
   DS-Liteの詳細は「IPv6」/「DS-Lite」をご覧ください。
   ・トンネルインターフェースから送信するデリバリーパケットの始点（自装置）アドレス（tunnel source）
   ・トンネルインターフェースから送信するデリバリーパケットの終点（対向装置）アドレス（tunnel destination）
   ・トンネリング方式（tunnel mode ds-lite）
   ・IPv4アドレス（ip address）
   ・MSS書き換え（ip tcp adjust-mss）

       interface tunnel0
        tunnel source vlan1
        tunnel destination dgw.xpass.jp
        tunnel mode ds-lite
        ip address 192.0.0.2/29
        ip tcp adjust-mss pmtu

9. IPv4のデフォルト経路をtunnel0に向けます。これにはip routeコマンドを使います。
   IP経路設定の詳細は「IP」/「経路制御」をご覧ください。

       ip route 0.0.0.0/0 tunnel0

10. ファイアウォールのルール作成時に使うエンティティー（通信主体）を定義します。
    エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。
    IPv4の内部ネットワークを表すゾーン「ipv4-internal」を作成します。
    これには、zone、network、ip subnetの各コマンドを使います。

        zone ipv4-internal
         network dhcp
          ip subnet 0.0.0.0/0 interface vlan1
         network lan
          ip subnet 192.168.10.0/24 interface vlan1

11. IPv4インターネットを表すゾーン「ipv4-internet」を作成します。
    前記コマンドに加え、ここではhost、ip addressの各コマンドも使います。

        zone ipv4-internet
         network wan
          ip subnet 0.0.0.0/0 interface tunnel0
          host tunnel0
           ip address 192.0.0.2

12. IPv6の内部ネットワークを表すゾーン「ipv6-internal」を作成します。
    前記コマンドに加え、ここではipv6 subnet、ipv6 addressの各コマンドも使います。

        zone ipv6-internal
         network lan
          ipv6 subnet ::/0 interface vlan1
          host vlan1
           ipv6 address dynamic interface vlan1

13. IPv6インターネットを表すゾーン「ipv6-internet」を作成します。

        zone ipv6-internet
         network wan
          ipv6 subnet ::/0 interface eth1
          host eth1
           ipv6 address dynamic interface eth1

14. ファイアウォールのルール作成時に通信内容を指定するために使う「アプリケーション」を定義します。
    これには、application、protocol、dportの各コマンドを使います。
    アプリケーション定義の詳細は「UTM」/「アプリケーション定義」をご覧ください。
    DHCPv4パケットを表すカスタムアプリケーション「dhcpv4」を定義します。

        application dhcpv4
         protocol udp
         dport 67 to 68

15. DHCPv6パケットを表すカスタムアプリケーション「dhcpv6」を定義します。

        application dhcpv6
         protocol udp
         dport 546 to 547

16. ICMPv6パケットを表すカスタムアプリケーション「icmpv6」を定義します。

        application icmpv6
         protocol ipv6-icmp

17. 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
    これには、firewall、rule、protectの各コマンドを使います。
    ・rule 10 - 内部でのDHCPv4による通信を許可します
    ・rule 20 - 内部から内部へのIPv4通信を許可します（ここでは本製品・端末間の通信）
    ・rule 30 - 内部から外部へのIPv4通信を許可します
    ・rule 40 - 本製品のトンネルインターフェースに設定されたIPv4アドレスから外部へのIPv4通信を許可します
    ・rule 100 - 内部から内部へのIPv6通信を許可します（ここでは本製品・端末間の通信）
    ・rule 110 - 内部から外部へのIPv6通信を許可します
    ・rule 120 - 本製品（LAN側インターフェースに設定したアドレス）から外部へのIPv6通信を許可します
    ・rule 130 - 本製品（WAN側インターフェースのリンクローカルアドレス）から外部へのIPv6通信を許可します
    ・rule 140 - 外部から本製品（LAN側インターフェースに設定したアドレス）へのICMPv6通信を許可します
    ・rule 150 - 外部から本製品（WAN側インターフェースのリンクローカルアドレス）へのDHCPv6通信を許可します
    ファイアウォールの詳細は「UTM」/「ファイアウォール」をご覧ください。

        firewall
         rule 10 permit dhcpv4 from ipv4-internal.dhcp to ipv4-internal.dhcp
         rule 20 permit any from ipv4-internal.lan to ipv4-internal.lan
         rule 30 permit any from ipv4-internal.lan to ipv4-internet
         rule 40 permit any from ipv4-internet.wan.tunnel0 to ipv4-internet
         rule 100 permit any from ipv6-internal to ipv6-internal
         rule 110 permit any from ipv6-internal to ipv6-internet
         rule 120 permit any from ipv6-internal.lan.vlan1 to ipv6-internet
         rule 130 permit any from ipv6-internet.wan.eth1 to ipv6-internet
         rule 140 permit icmpv6 from ipv6-internet to ipv6-internal.lan.vlan1
         rule 150 permit dhcpv6 from ipv6-internet to ipv6-internet.wan.eth1
         protect

18. DNSリレー機能を有効にします。これには、ip dns forwardingコマンドを使います。
    DNSリレー機能の詳細は「IP付加機能」/「DNSリレー」をご覧ください。

        ip dns forwarding

19. 以上で設定は完了です。

        end

## 設定の保存

設定が完了したら、現在の設定内容を起動時コンフィグとして保存してください。これには、copyコマンドを「`copy running-config startup-config`」の書式で実行します。

    awplus# copy running-config startup-config
    Building configuration...
    [OK]

また、write fileコマンド、write memoryコマンドでも同じことができます。

    awplus# write memory
    Building configuration...
    [OK]

その他、設定保存の詳細については「運用・管理」/「コンフィグレーション」をご覧ください。

## ファイアウォールログについて

ファイアウォールのログをとるには、次のコマンド（log(filter)）を実行します。

    awplus(config)# log buffered level informational facility local5

記録されたログを見るには、次のコマンド（show log）を実行します。ここでは、ファイアウォールが出力したログメッセージだけを表示させています。

    awplus# show log | include Firewall

## ルーターのコンフィグ

    !
    no spanning-tree rstp enable
    !
    ip domain-lookup
    !
    interface eth1
     ipv6 enable
     no ipv6 nd accept-ra-pinfo
     ipv6 nd proxy interface vlan1
    !
    interface vlan1
     ip address 192.168.10.1/24
     ipv6 address autoconfig eth1
     no ipv6 nd suppress-ra
     ipv6 nd dns-server vlan1
    !
    ipv6 forwarding
    !
    ip dhcp pool pool10
     network 192.168.10.0 255.255.255.0
     range 192.168.10.100 192.168.10.131
     dns-server 192.168.10.1
     default-router 192.168.10.1
     lease 0 2 0
    !
    service dhcp-server
    !
    interface tunnel0
     tunnel source vlan1
     tunnel destination dgw.xpass.jp
     tunnel mode ds-lite
     ip address 192.0.0.2/29
     ip tcp adjust-mss pmtu
    !
    ip route 0.0.0.0/0 tunnel0
    !
    zone ipv4-internal
     network dhcp
      ip subnet 0.0.0.0/0 interface vlan1
     network lan
      ip subnet 192.168.10.0/24 interface vlan1
    !
    zone ipv4-internet
     network wan
      ip subnet 0.0.0.0/0 interface tunnel0
      host tunnel0
       ip address 192.0.0.2
    !
    zone ipv6-internal
     network lan
      ipv6 subnet ::/0 interface vlan1
      host vlan1
       ipv6 address dynamic interface vlan1
    !
    zone ipv6-internet
     network wan
      ipv6 subnet ::/0 interface eth1
      host eth1
       ipv6 address dynamic interface eth1
    !
    application dhcpv4
     protocol udp
     dport 67 to 68
    !
    application dhcpv6
     protocol udp
     dport 546 to 547
    !
    application icmpv6
     protocol ipv6-icmp
    !
    firewall
     rule 10 permit dhcpv4 from ipv4-internal.dhcp to ipv4-internal.dhcp
     rule 20 permit any from ipv4-internal.lan to ipv4-internal.lan
     rule 30 permit any from ipv4-internal.lan to ipv4-internet
     rule 40 permit any from ipv4-internet.wan.tunnel0 to ipv4-internet
     rule 100 permit any from ipv6-internal to ipv6-internal
     rule 110 permit any from ipv6-internal to ipv6-internet
     rule 120 permit any from ipv6-internal.lan.vlan1 to ipv6-internet
     rule 130 permit any from ipv6-internet.wan.eth1 to ipv6-internet
     rule 140 permit icmpv6 from ipv6-internet to ipv6-internal.lan.vlan1
     rule 150 permit dhcpv6 from ipv6-internet to ipv6-internet.wan.eth1
     protect
    !
    ip dns forwarding
    !
    end