[index] AT-AR4000S-Cloud リファレンスマニュアル 5.5.5

# 設定例集#94: ”クラウドゲートウェイ アプリパッケージ” によるクラウドサービスへの接続（ひかり電話契約なし）

NTT東日本が提供する「クラウドゲートウェイ アプリパッケージ」を利用して、Amazon Web Services（以下 AWS）と接続し、IPv4ネットワークを使用した通信を可能とする設定例です。

## 構成

ルーターの基本設定
WAN側物理インターフェース | eth1
WAN側（eth1）IPv6アドレス | リンクローカルアドレス
LAN側（eth0）IPv6アドレス | ルーター通知（RA）で取得したIPv6プレフィックスにもとづいて設定
AWSの設定
ピアIPv6アドレス(1本目) | 2001:db8:3c:10::1
ピアIPv6アドレス(2本目) | 2001:db8:3c:10::2
AmazonルータのピアIP(1本目) | 172.30.0.1/24
AmazonルータのピアIP(2本目) | 172.31.0.1/24
AWS VPC IPv4 CIDR | 192.168.100.0/24

> Note

> > - 本設定例では例示用IPアドレス等を使用しており、実際に設定する値とは異なります。実際の設定時には、ユーザー毎に通知される各種情報をご使用ください。
> > - 事前に「クラウドゲートウェイ アプリパッケージ」をお申し込みください。
> > - アプリパッケージポータル『ホーム > エンドユーザ契約情報管理 > 回線制御(拠点ルータ情報管理)』にて各種情報を登録および取得してください。

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

- ルーターのWAN側インターフェース（eth1）で受信したルーター通知（RA）パケットのIPv6プレフィックスにもとづいてLAN側インターフェース（eth0）に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サーバーに転送します。
- AWSとルーター間を2本のDS-Liteトンネルで接続します。
- DS-Liteトンネルを経由してAWS VPC内のネットワークと通信します。

> Note

> > ルーター本体からAWS VPC内のネットワークに対してPing等による疎通確認を実施する場合は、パケットがフィルター等によって破棄されないよう始点IPアドレスを指定してください。
> > たとえば、pingコマンドで始点アドレスを指定する場合は次のようにします。

> >     awplus# ping 宛先IPv4アドレス source 始点IPv4アドレス ↓

## 事前設定

本設定例は、あらかじめ AT-AR4000S-Cloud の仮想マシンに下記インターフェースを割り当て、管理用IPアドレスを設定していることを前提としています。
仮想マシンの設定については「環境別ガイド」をご参照ください。

インターフェース名 | IPv4アドレス | 備考
eth0 | 192.168.10.1/24 | 管理用IPアドレス
eth1 | 未設定 |

> Note

> > 構成が異なる場合はインターフェース名などを適宜読み替えてください。

## ルーターの設定

1. アップデートサーバーにIPv6アドレスの更新情報を通知するためのダイナミックDNS（DDNS）サービス固有設定を作成します。
   これには、ddns-update-methodコマンドでDDNSアップデートメソッドモードに入り、update-url、password、suppress-ipv4-updates、accept-invalid-sslcertの各コマンドで具体的なパラメーターを設定します。
   ダイナミックDNSクライアント機能の詳細は「IP付加機能」/「ダイナミックDNSクライアント」をご覧ください。
   ※クエリーパラメーターの開始を表す「`?`」をCLIから入力するには、`Ctrl/V` キーを入力してから `?` を入力してください。単に `?` を入力するとCLIヘルプが表示されてしまうためご注意ください。
   ※以下はNTT東日本エリアから接続する場合の例です。NTT西日本エリアから接続する場合は、update-urlコマンドで次のURLを指定してください。
   https://auth-west.cloudgw.e-ntt.cast.flets-west.jp/regist.php?<PASSWORD>

       ddns-update-method V6UPDATE
        update-url https://auth-east.cloudgw.e-ntt.cast.flets-east.jp/regist.php?<PASSWORD>
        password passwdA
        update-interval 10
        suppress-ipv4-updates
        accept-invalid-sslcert

2. ダイナミックDNSクライアント機能を有効にします。これには、ddns enableコマンドを使います。

       ddns enable

3. WANポートeth1にリンクローカルアドレスを自動設定し、RAを受信できるようにします。ただし本例では、実際にRAにもとづくアドレスを設定するのはLAN側インターフェースであるため、初期設定で有効になっているアドレス自動設定（SLAAC）は無効化します。また、WANポートで受信したNSに代理応答するためLAN側インターフェース（eth0）への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 eth0

4. LAN側インターフェースeth0に対し、WANポートで受信したRAで通知されたプレフィックスとISPに指定されたインターフェースIDを組み合わせたIPv6アドレスを自動設定するよう設定します。これにはipv6 address autoconfigコマンドを使います。
   また、IPv6設定情報をLAN側クライアントに通知するため、RAの送信を有効にします。これには、ipv6 nd suppress-ra、ipv6 nd dns-serverコマンドを使います。
   さらにアップデートサーバーへのアドレス更新通知のためダイナミックDNSクライアント機能を有効にします。これには、ipv6 ddns-update-methodコマンドを使います。
   IPv6インターフェースの詳細は「IPv6」/「IPv6インターフェース」をご覧ください。また、DHCPv6サーバーについては「IP付加機能」/「DHCPv6サーバー」をご覧ください。
   ※IPv4アドレス 192.168.10.1/24 は 事前設定時に設定済みのため、ip addressコマンドを手で入力する必要はありません。

       interface eth0
        ipv6 ddns-update-method V6UPDATE
        ip address 192.168.10.1/24
        ipv6 address autoconfig eth1
        no ipv6 nd suppress-ra
        ipv6 nd dns-server eth0

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 eth0
        tunnel destination 2001:db8:3c:10::1
        tunnel mode ds-lite
        ip address 192.0.0.2/29
        ip tcp adjust-mss pmtu

9. 同様にしてDS-Liteトンネルインターフェースtunnel1を作成します。

       interface tunnel1
        tunnel source eth0
        tunnel destination 2001:db8:3c:10::2
        tunnel mode ds-lite
        ip address 192.0.2.2/29
        ip tcp adjust-mss pmtu

10. IPの経路情報をスタティックに設定します。これにはip routeコマンドを使います。
    ・ip route 172.30.0.0/24 tunnel0 - ピア (1本目)との接続性確認用
    ・ip route 172.31.0.0/24 tunnel1 - ピア (2本目)との接続性確認用
    ・ip route 192.168.100.0/24 tunnel1 10 - ピア (2本目)経由のAWS VPC宛て経路
    IP経路設定の詳細は「IP」/「経路制御」をご覧ください。

        ip route 172.30.0.0/24 tunnel0
        ip route 172.31.0.0/24 tunnel1
        ip route 192.168.100.0/24 tunnel1 10

11. トンネルインターフェース tunnel0 経由でピア (1本目)への接続性を監視するPingポーリング「1」を作成します。
    これには、ping-poll、ip、source-ip、normal-interval、critical-interval、up-count、fail-count、sample-sizeの各コマンドを使います。
    Pingポーリングの詳細は「IP付加機能」/「Pingポーリング」をご覧ください。

        ping-poll 1
         ip 172.30.0.1
         source-ip 192.168.10.1
         normal-interval 20
         critical-interval 20
         up-count 1
         fail-count 3
         sample-size 3

12. 同様に、トンネルインターフェース tunnel1 経由でピア (2本目)への接続性を監視するPingポーリング「2」を作成します。
    ここでは、前記コマンドに加え、activeコマンドも使用しています。

        ping-poll 2
         ip 172.31.0.1
         source-ip 192.168.10.1
         normal-interval 20
         critical-interval 20
         up-count 1
         fail-count 3
         sample-size 3
         active

13. Pingポーリングトリガー、定期実行トリガー、再起動トリガーを作成します。
    これには、trigger、type ping-poll、type periodic、type reboot、scriptの各コマンドを使います。
    ・trigger 1 - tunnel0 経由でのピア (1本目)への接続性が失われた場合に、ピア (1本目)経由のAWS VPC宛て経路を削除し（tunnel0_down.scp）、ピア (2本目)への接続性を監視するPingポーリング「2」を有効化（act_ping-poll_2.scp）。さらに、trigger 5を有効化して、tunnel0の自動復旧を試みる（act_tri.scp）
    ・trigger 2 - tunnel0 経由でのピア (1本目)への接続性が回復した場合に、ピア (1本目)経由のAWS VPC宛て経路を追加し（tunnel0_up.scp）、trigger 5を無効化して、tunnel0の自動復旧を停止（dis_tri.scp）。さらに、ピア (2本目)への接続性を監視するPingポーリング「2」を無効化（dis_ping-poll_2.scp）
    ・trigger 3 - tunnel1 経由でのピア (2本目)への接続性が失われた場合に、trigger 5を有効化して、tunnel0の自動復旧を試みる（act_tri.scp）
    ・trigger 4 - tunnel1 経由でのピア (2本目)への接続性が回復した場合に、trigger 5を無効化して、tunnel0の自動復旧を停止する（dis_tri.scp）
    ・trigger 5 - 10分おきにeth0をダウン・アップさせることで、tunnel0の自動復旧を試みる（shut_noshut.scp）
    ・trigger 6 - ルーター起動時にスクリプトを自動実行することで、起動直後のトリガーの状態がいつも同じになることを保証する
    トリガースクリプトの具体的内容は「トリガースクリプト」を、トリガーの詳細は「運用・管理」/「トリガー」をご覧ください。

        trigger 1
         type ping-poll 1 down
         script 1 tunnel0_down.scp
         script 2 act_ping-poll_2.scp
         script 3 act_tri.scp

        trigger 2
         type ping-poll 1 up
         script 1 tunnel0_up.scp
         script 2 dis_tri.scp
         script 3 dis_ping-poll_2.scp

        trigger 3
         type ping-poll 2 down
         script 1 act_tri.scp

        trigger 4
         type ping-poll 2 up
         script 1 dis_tri.scp

        trigger 5
         type periodic 10
         script 1 shut_noshut.scp

        trigger 6
         type reboot
         script 1 tunnel0_down.scp
         script 2 act_ping-poll_2.scp
         script 3 act_tri.scp
         script 4 dis_act_ping-poll_1.scp

14. ファイアウォールのルール作成時に使うエンティティー（通信主体）を定義します。
    エンティティー定義の詳細は「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

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

        zone ipv4-internal
         network AWS
          ip subnet 172.30.0.0/24
          ip subnet 172.31.0.0/24
          ip subnet 192.168.100.0/24
         network lan
          ip subnet 192.0.0.0/29
          ip subnet 192.0.2.0/29
          ip subnet 192.168.10.0/24

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

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

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

        zone ipv6-internet
         network wan
          ipv6 subnet ::/0 interface eth1
          host Cloud_GW
           ipv6 address 2001:db8:3c:10::1
           ipv6 address 2001:db8:3c:10::2
          host eth1
           ipv6 address dynamic interface eth1

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

        application dhcpv4
         protocol udp
         dport 67 to 68

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

        application dhcpv6
         protocol udp
         dport 546 to 547

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

        application icmpv6
         protocol ipv6-icmp

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

        application ipip
         protocol 4

22. 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
    これには、firewall、rule、protectの各コマンドを使います。
    ・rule 10 - DHCPv4通信を許可します
    ・rule 20 - 内部から内部へのIPv4通信を許可します
    ・rule 30 - DHCPv6通信を許可します
    ・rule 40 - ICMPv6通信を許可します
    ・rule 50 - 内部から内部へのIPv6通信を許可します
    ・rule 60 - 内部から本製品（LAN側インターフェースに設定したアドレス）へのIPv6通信を許可します
    ・rule 70 - 内部から外部へのIPv6通信を許可します
    ・rule 80 - 本製品（LAN側インターフェースに設定したアドレス）から内部へのIPv6通信を許可します
    ・rule 90 - 本製品（LAN側インターフェースに設定したアドレス）から外部へのIPv6通信を許可します
    ・rule 100 - 本製品（WAN側インターフェースのリンクローカルアドレス）から外部へのIPv6通信を許可します
    ・rule 110 - ピア (1、2本目)から本製品（LAN側インターフェースに設定したアドレス）へのIPIPパケット（IPv4 over 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 dhcpv6 from all.ipv6 to all.ipv6
         rule 40 permit icmpv6 from all.ipv6 to all.ipv6
         rule 50 permit any from ipv6-internal to ipv6-internal
         rule 60 permit any from ipv6-internal to ipv6-internal.lan.eth0
         rule 70 permit any from ipv6-internal to ipv6-internet
         rule 80 permit any from ipv6-internal.lan.eth0 to ipv6-internal
         rule 90 permit any from ipv6-internal.lan.eth0 to ipv6-internet
         rule 100 permit any from ipv6-internet.wan.eth1 to ipv6-internet
         rule 110 permit ipip from ipv6-internet.wan.Cloud_GW to ipv6-internal.lan.eth0
         protect

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

        ip dns forwarding

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

        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 ↓

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

    !
    ddns-update-method V6UPDATE
     update-url https://auth-east.cloudgw.e-ntt.cast.flets-east.jp/regist.php?<PASSWORD>
     password passwdA
     update-interval 10
     suppress-ipv4-updates
     accept-invalid-sslcert
    !
    ddns enable
    !
    interface eth1
     ipv6 enable
     no ipv6 nd accept-ra-pinfo
     ipv6 nd proxy interface eth0
    !
    interface eth0
     ipv6 ddns-update-method V6UPDATE
     ip address 192.168.10.1/24
     ipv6 address autoconfig eth1
     no ipv6 nd suppress-ra
     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
    !
    interface tunnel0
     tunnel source eth0
     tunnel destination 2001:db8:3c:10::1
     tunnel mode ds-lite
     ip address 192.0.0.2/29
     ip tcp adjust-mss pmtu
    !
    interface tunnel1
     tunnel source eth0
     tunnel destination 2001:db8:3c:10::2
     tunnel mode ds-lite
     ip address 192.0.2.2/29
     ip tcp adjust-mss pmtu
    !
    ip route 172.30.0.0/24 tunnel0
    ip route 172.31.0.0/24 tunnel1
    ip route 192.168.100.0/24 tunnel1 10
    !
    ping-poll 1
     ip 172.30.0.1
     source-ip 192.168.10.1
     normal-interval 20
     critical-interval 20
     up-count 1
     fail-count 3
     sample-size 3
    !
    ping-poll 2
     ip 172.31.0.1
     source-ip 192.168.10.1
     normal-interval 20
     critical-interval 20
     up-count 1
     fail-count 3
     sample-size 3
     active
    !
    trigger 1
     type ping-poll 1 down
     script 1 tunnel0_down.scp
     script 2 act_ping-poll_2.scp
     script 3 act_tri.scp

    trigger 2
     type ping-poll 1 up
     script 1 tunnel0_up.scp
     script 2 dis_tri.scp
     script 3 dis_ping-poll_2.scp

    trigger 3
     type ping-poll 2 down
     script 1 act_tri.scp

    trigger 4
     type ping-poll 2 up
     script 1 dis_tri.scp

    trigger 5
     type periodic 10
     script 1 shut_noshut.scp

    trigger 6
     type reboot
     script 1 tunnel0_down.scp
     script 2 act_ping-poll_2.scp
     script 3 act_tri.scp
     script 4 dis_act_ping-poll_1.scp
    !
    zone all
     network ipv4
      ip subnet 0.0.0.0/0
     network ipv6
      ipv6 subnet ::/0
    !
    zone ipv4-internal
     network AWS
      ip subnet 172.30.0.0/24
      ip subnet 172.31.0.0/24
      ip subnet 192.168.100.0/24
     network lan
      ip subnet 192.0.0.0/29
      ip subnet 192.0.2.0/29
      ip subnet 192.168.10.0/24
    !
    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 Cloud_GW
       ipv6 address 2001:db8:3c:10::1
       ipv6 address 2001:db8:3c:10::2
      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
    !
    application ipip
     protocol 4
    !
    firewall
     rule 10 permit dhcpv4 from all.ipv4 to all.ipv4
     rule 20 permit any from ipv4-internal to ipv4-internal
     rule 30 permit dhcpv6 from all.ipv6 to all.ipv6
     rule 40 permit icmpv6 from all.ipv6 to all.ipv6
     rule 50 permit any from ipv6-internal to ipv6-internal
     rule 60 permit any from ipv6-internal to ipv6-internal.lan.eth0
     rule 70 permit any from ipv6-internal to ipv6-internet
     rule 80 permit any from ipv6-internal.lan.eth0 to ipv6-internal
     rule 90 permit any from ipv6-internal.lan.eth0 to ipv6-internet
     rule 100 permit any from ipv6-internet.wan.eth1 to ipv6-internet
     rule 110 permit ipip from ipv6-internet.wan.Cloud_GW to ipv6-internal.lan.eth0
     protect
    !
    ip dns forwarding
    !
    end

## ルーターのトリガースクリプト

■ tunnel0_down.scp

    enable
    configure terminal
    no ip route 192.168.100.0/24 tunnel0

■ tunnel0_up.scp

    enable
    configure terminal
    ip route 192.168.100.0/24 tunnel0

■ act_ping-poll_2.scp

    enable
    configure terminal
    ping-poll 2
    active

■ dis_ping-poll_2.scp

    enable
    configure terminal
    ping-poll 2
    no active

■ act_tri.scp

    enable
    configure terminal
    trigger 5
    active
    ddns-update-method V6UPDATE
    update-interval 10

■ dis_tri.scp

    enable
    configure terminal
    trigger 5
    no active
    ddns-update-method V6UPDATE
    update-interval 60

■ shut_noshut.scp

    enable
    configure terminal
    interface eth0
    shutdown
    no shutdown

■ dis_act_ping-poll_1.scp

    enable
    configure terminal
    ping-poll 1
    no active
    active

(C) 2022 - 2025 アライドテレシスホールディングス株式会社

PN: 613-003066 Rev.Q