# 設定例集#82: BIGLOBE “IPv6オプション” サービスによるIPv4・IPv6インターネットへの同時接続（ひかり電話契約あり）

MAP-EによってIPv4 over IPv6トンネルを構築し、NTT東日本・NTT西日本が提供するフレッツ 光ネクスト回線を経由してIPv4インターネットに接続するための設定例です。
本例はビッグローブ株式会社が提供する"IPv6オプション" を利用した接続設定例となります。

## 構成

ルーターの基本設定
WAN側物理インターフェース | eth1
WAN側（eth1）IPv6アドレス | RAで受信したプレフィックスにもとづいて設定
LAN側（eth0）IPv6アドレス | DHCPv6 PDで取得したIPv6プレフィックスにもとづいて設定
WAN側（tunnel0）IPv4アドレス | MAPルール配信サーバーから取得した情報にもとづいて自動設定

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

- ホームゲートウェイのLAN側インターフェース配下に本製品を接続します。
  Note

  ”IPv6オプション” に対応したホームゲートウェイに接続する場合は、ホームゲートウェイの ”IPv6オプション” 対応機能を無効にした上で本製品を接続してください。ホームゲートウェイで ”IPv6オプション” 対応機能が有効な場合、本設定例ではIPv4を使用した通信が正しく動作しません。

- ルーターのWAN側インターフェース（eth1）で受信したルーター通知（RA）パケットのIPv6プレフィックスにもとづいてWAN側インターフェース（eth1）にIPv6アドレスを設定します。また、受信したRAの送信元IPv6アドレスをIPv6のデフォルトゲートウェイとして登録します。
- WAN側インターフェース（eth1）でDHCPv6 PDクライアント機能を有効にしてプレフィックスの割り当てを受け、これを分割してLAN側インターフェース（eth0）にIPv6アドレスを設定します。
- DHCPv6でDNSサーバーアドレスを取得します。
- MAPルール配信サーバーからIPv4 over IPv6トンネルの設定に関する各種情報（MAPルール）を取得します。
- LAN側に接続されたコンピューターは、ルーターのLAN側インターフェースから送信されるRAによってIPv6アドレス、デフォルトゲートウェイ、DNSサーバーアドレスを自動設定します。
- ルーターのLAN側インターフェースでDHCPv4サーバーを動作させ、LAN側コンピューターに対してIPv4アドレスをリースするほか、デフォルトゲートウェイ、DNSサーバーアドレスとしてルーター自身のIPv4アドレスを通知します。
- ルーターのDNSリレー機能をオンにして、LAN側コンピューターからのDNSリクエストをDNSサーバーに転送します。
- ファイアウォールを利用して、外部からの不正アクセスを遮断しつつ、内部からは自由にIPv6インターネット、サービス情報サイト（NGN IPv6閉域網）やIPv4インターネットへのアクセスができるようにします（本設定例ではMAP-E機能に内蔵されたNAT機能を使用するため、通常のNAT機能の設定は行っていません）。

## AT-NFV-APLの事前設定

本設定例は、あらかじめ AT-NFV-APL側で以下のような設定を行っていることを前提としています。
使用するインターフェースの番号や数は適宜変更してかまいません。
事前設定の流れについては「AT-NFV-APL」/「準備」をご覧ください。

Note

10ポート構成（eth1～eth10）のAT-NFV-APL-GTXを想定した例になっていますので、6ポート（eth1～eth6）構成のAT-NFV-APL-GTをご使用の場合は、使用するポートを適宜読み替えてください。

### 管理IPアドレス

詳細は「AT-NFV-APL」/「ネットワーク基本設定」をご覧ください。

インターフェース | IPアドレス
br0 | 192.168.10.254/24

### ブリッジ

詳細は「AT-NFV-APL」/「ネットワーク基本設定」をご覧ください。

ポート | 所属VLAN | ネイティブVLAN
eth1～eth9 | 1 | 1
eth10 | 未所属

### 仮想インターフェース割り当て

vFirewallアプリケーションインスタンスの初期設定時には、下記のように仮想インターフェースを割り当てます。
詳細は「AT-NFV-APL」/「AW+ vFirewall」をご覧ください。

vFirewallの インターフェース名 | インターフェース タイプ | 外部ネットワーク VLAN ID | ホスト インターフェース | IPv4アドレス
eth0 | Virtual | 1 | - | 192.168.10.1/24
eth1 | Physical | - | eth10 | 未指定

## ルーターの設定

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

       ip domain-lookup

2. WANポートeth1に対し、RAで通知されたプレフィックスにもとづきIPv6アドレスを設定し、またDHCPv6 PDクライアント機能を有効にします。これには、ipv6 dhcp client pdコマンドを使います。
   なお、ip dhcp-client default-route distanceコマンドとip address dhcpコマンドは、ホームゲートウェイとの通信に使用するIPv4アドレスを取得するためのものです。

       interface eth1
        ip dhcp-client default-route distance 254
        ip address dhcp
        ipv6 dhcp client pd IPoE

3. LAN側インターフェースeth0に対し、DHCPv6 PDで割り当てられたIPv6プレフィックスにもとづくIPv6アドレスを設定します。これにはipv6 address(DHCPv6 PD)コマンドを使います。
   また、IPv6設定情報をLAN側クライアントに通知するため、RAの送信を有効にします。これには、ipv6 nd suppress-ra、ipv6 nd dns-serverコマンドを使います。
   IPv6インターフェースの詳細は「IPv6」/「IPv6インターフェース」をご覧ください。
   ※IPv4アドレス 192.168.10.1/24 は AT-NFV-APLの事前設定時に設定済みのため、ip addressコマンドを手で入力する必要はありません。

       interface eth0
        ip address 192.168.10.1/24
        no ipv6 nd suppress-ra
        ipv6 address IPoE ::/64 eui64
        ipv6 nd dns-server eth0

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

       ipv6 forwarding

5. 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

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

       service dhcp-server

7. MAP-E設定を作成します。
   MAP-Eの詳細は「IPv6」/「MAP-E」をご覧ください。
   ・MAP-E設定の作成開始（softwire-configurationコマンド）
   ・MAPルール取得方式の指定（methodコマンド）
   ・使用するMAPバージョンの指定（map-versionコマンド）
   ・同一IPアドレスを共有する加入者サイト間の直接通信を有効化（mesh-modeコマンド）
   ・上流インターフェースの指定（upstream-interfaceコマンド）
   ・MAPルール提供元の指定（vendor-nameコマンド）

       softwire-configuration BIGLOBE
        method proprietary
        map-version draft
        mesh-mode
        upstream-interface eth1
        vendor-name BIGLOBE

8. MAP-Eを利用したIPv4 over IPv6トンネルインターフェースtunnel0を作成します。
   ・MAP-E設定の指定（tunnel softwireコマンド）
   ・MAP-E用トンネルインターフェースであることの指定（tunnel mode map-eコマンド）
   ・MSS書き換え（ip tcp adjust-mss）

       interface tunnel0
        tunnel softwire BIGLOBE
        tunnel mode map-e
        ip tcp adjust-mss pmtu

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

       ip route 0.0.0.0/0 tunnel0

10. ファイアウォールのルール作成時に使うエンティティー（通信主体）を定義します。
    エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。
    すべてのIPv4/IPv6アドレスを表すゾーン「all」を作成します。
    これには、zone、network、ip subnet、ipv6 subnetの各コマンドを使います。

        zone all
         network ipv4
          ip subnet 0.0.0.0/0
         network ipv6
          ipv6 subnet ::/0

11. IPv4の内部ネットワークを表すゾーン「ipv4-internal」を作成します。
    これには、zone、network、ip subnet、host、ip addressの各コマンドを使います。

        zone ipv4-internal
         network hgw
          ip subnet 0.0.0.0/0 interface eth1
          host eth1
           ip address dynamic interface eth1
         network lan
          ip subnet 192.168.10.0/24

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

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

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

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

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

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

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

        application dhcpv4
         protocol udp
         dport 67 to 68

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

        application dhcpv6
         protocol udp
         dport 546 to 547

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

        application icmpv6
         protocol ipv6-icmp

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

        firewall
         rule 10 permit dhcpv4 from all.ipv4 to all.ipv4
         rule 20 permit any from ipv4-internal to ipv4-internal
         rule 30 permit any from ipv4-internal to ipv4-internet
         rule 40 permit any from ipv4-internet.wan.nat to ipv4-internet
         rule 50 permit any from ipv4-internal.hgw to ipv4-internal.hgw.eth1
         rule 60 permit any from ipv4-internal.hgw.eth1 to ipv4-internal.hgw
         rule 70 permit dhcpv6 from all.ipv6 to all.ipv6
         rule 80 permit icmpv6 from all.ipv6 to all.ipv6
         rule 90 permit any from ipv6-internal to ipv6-internal
         rule 100 permit any from ipv6-internal to ipv6-internal.lan.eth0
         rule 110 permit any from ipv6-internal to ipv6-internet
         rule 120 permit any from ipv6-internal.lan.eth0 to ipv6-internal
         rule 130 permit any from ipv6-internal.lan.eth0 to ipv6-internet
         rule 140 permit any from ipv6-internet.wan.eth1 to ipv6-internet
         protect

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

        ip dns forwarding

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

        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

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

    !
    ip domain-lookup
    !
    interface eth1
     ip dhcp-client default-route distance 254
     ip address dhcp
     ipv6 dhcp client pd IPoE
    !
    interface eth0
     ip address 192.168.10.1/24
     no ipv6 nd suppress-ra
     ipv6 address IPoE ::/64 eui64
     ipv6 nd dns-server eth0
    !
    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
    !
    softwire-configuration BIGLOBE
     method proprietary
     map-version draft
     mesh-mode
     upstream-interface eth1
     vendor-name BIGLOBE
    !
    interface tunnel0
     tunnel softwire BIGLOBE
     tunnel mode map-e
     ip tcp adjust-mss pmtu
    !
    ip route 0.0.0.0/0 tunnel0
    !
    zone all
     network ipv4
      ip subnet 0.0.0.0/0
     network ipv6
      ipv6 subnet ::/0
    !
    zone ipv4-internal
     network hgw
      ip subnet 0.0.0.0/0 interface eth1
      host eth1
       ip address dynamic interface eth1
     network lan
      ip subnet 192.168.10.0/24
    !
    zone ipv4-internet
     network wan
      ip subnet 0.0.0.0/0 interface tunnel0
      host nat
       ip address dynamic interface tunnel0
    !
    zone ipv6-internal
     network lan
      ipv6 subnet ::/0 interface eth0
      host eth0
       ipv6 address dynamic interface eth0
    !
    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 all.ipv4 to all.ipv4
     rule 20 permit any from ipv4-internal to ipv4-internal
     rule 30 permit any from ipv4-internal to ipv4-internet
     rule 40 permit any from ipv4-internet.wan.nat to ipv4-internet
     rule 50 permit any from ipv4-internal.hgw to ipv4-internal.hgw.eth1
     rule 60 permit any from ipv4-internal.hgw.eth1 to ipv4-internal.hgw
     rule 70 permit dhcpv6 from all.ipv6 to all.ipv6
     rule 80 permit icmpv6 from all.ipv6 to all.ipv6
     rule 90 permit any from ipv6-internal to ipv6-internal
     rule 100 permit any from ipv6-internal to ipv6-internal.lan.eth0
     rule 110 permit any from ipv6-internal to ipv6-internet
     rule 120 permit any from ipv6-internal.lan.eth0 to ipv6-internal
     rule 130 permit any from ipv6-internal.lan.eth0 to ipv6-internet
     rule 140 permit any from ipv6-internet.wan.eth1 to ipv6-internet
     protect
    !
    ip dns forwarding
    !
    end