設定例集#95: ”クラウドゲートウェイ アプリパッケージ” によるクラウドサービスへの接続(ひかり電話契約あり)
NTT東日本が提供する「クラウドゲートウェイ アプリパッケージ」を利用して、Amazon Web Services(以下 AWS)と接続し、IPv4ネットワークを使用した通信を可能とする設定例です。
構成

| WAN側物理インターフェース | eth1 |
| WAN側(eth1)IPv4アドレス | ホームゲートウェイからDHCPで取得 |
| WAN側(eth1)IPv6アドレス | リンクローカルアドレス |
| LAN側(vlan1)IPv6アドレス | ルーター通知(RA)で取得したIPv6プレフィックスにもとづいて設定 |
| ピア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 |
ここでは、次の方針で設定を行います。
- ルーターのWAN側インターフェース(eth1)で受信したルーター通知(RA)パケットのIPv6プレフィックスにもとづいてLAN側インターフェース(vlan1)にIPv6アドレスを設定します。また、受信したRAの送信元IPv6アドレスをIPv6のデフォルトゲートウェイとして登録します。WAN側インターフェースではリンクローカルアドレスを使用します。
また、ルーターのWAN側インターフェースでDHCPv4クライアントを動作させ、WAN側インターフェースにIPv4アドレスを割り当てます。
- ホームゲートウェイのLAN側インターフェースアドレスをDNSサーバーアドレスとして設定します。
- NDプロキシー機能により、WAN側からLAN側端末へのNS(Neighbor Solicitation)パケットに対し、本製品が自身のMACアドレスでNA(Neighbor Advertisement)を代理応答します。
- LAN側に接続されたコンピューターは、ルーターのLAN側インターフェースから送信されるRAによってIPv6アドレス、デフォルトゲートウェイ、DNSサーバーアドレスを自動設定します。
- ルーターのLAN側インターフェースでDHCPv4サーバーを動作させ、LAN側コンピューターに対してIPv4アドレスをリースするほか、デフォルトゲートウェイ、DNSサーバーアドレスとしてルーター自身のIPv4アドレスを通知します。
- ルーターのDNSリレー機能をオンにして、LAN側コンピューターからのDNSリクエストをホームゲートウェイに転送します。
- AWSとルーター間を2本のDS-Liteトンネルで接続します。
- DS-Liteトンネルを経由してAWS VPC内のネットワークと通信します。
設定開始前に
自動設定の確認と削除
本設定例に掲載されているコマンドは、設定がまったく行われていない本製品の初期状態(スタートアップコンフィグなしで起動した状態)から入力することを前提としています。そのため、通常は erase startup-config を実行し、スタートアップコンフィグが存在しない状態で起動してから、設定を始めてください。
ただし、本製品はスタートアップコンフィグなしで起動した場合でも、特定の条件を満たすと自動的な設定を行うことがあるため、その場合は設定例にしたがってコマンドを入力しても、コマンドがエラーになったり、全体として意図した動作にならない可能性があります。
これを避けるため、設定開始にあたっては次のいずれかの方法をとることをおすすめします。
- ネットワークケーブルを接続せずに起動する。
起動時に自動設定が実行されるための条件の一つに、特定インターフェースのリンクアップがあります。
ネットワークケーブルを接続しない状態で起動することにより、自動設定の適用を回避できます。
- 自動設定を手動で削除してから設定を行う。
前記の方法を採用できず自動設定が適用されてしまった場合は、「自動的な設定内容の削除」にしたがって、これらを手動で削除してから設定を開始してください。
システム時刻の設定
ログなどの記録日時を正確に保ち、各種機能を適切に動作させるため、システム時刻は正確にあわせて運用することをおすすめします。ご使用の環境にあわせ、次のいずれかの方法でシステム時刻を設定してください。
- 手動で設定する方法 - 「運用・管理」/「システム」
- NTPで自動設定する方法 - 「運用・管理」/「NTP」
ルーターの設定
- LANポートにおいて初期状態で有効化されているスパニングツリープロトコル(RSTP)を無効化します。これにはspanning-tree enableコマンドをno形式で実行します。
スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」をご覧ください。
no spanning-tree rstp enable
- DNS問い合わせ機能を有効にします。これには、ip domain-lookupコマンドを使います。
ip domain-lookup
- アップデートサーバーに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
- ダイナミックDNSクライアント機能を有効にします。これには、ddns enableコマンドを使います。
ddns enable
- DNSリレー機能の転送先DNSサーバーアドレスとして、ホームゲートウェイのLAN側IPアドレスを手動設定します。これには、ip name-serverコマンドを使います。
また、ip name-server preferred-orderコマンドにより、手動設定したDNSサーバーを動的に学習したDNSサーバーよりも優先するよう設定します。
ip name-server preferred-order static ip name-server 192.168.1.1
- WANポートeth1の設定を行います。
まず、ホームゲートウェイがARP解決できるよう、ip proxy-arpコマンドでプロキシーARPを有効にします。
また、ip address dhcpコマンドでDHCPクライアント機能を有効化し、IPv4アドレスを取得します。
さらに、WANポートでIPv6のリンクローカルアドレスを自動設定し、RAを受信できるようにします。ただし本例では、実際にRAにもとづくアドレスを設定するのはLAN側インターフェースであるため、初期設定で有効になっているアドレス自動設定(SLAAC)は無効化します。また、WANポートで受信したNSに代理応答するためLAN側インターフェース(vlan1)へのNDプロキシー機能を有効にします。これには、ipv6 enable、ipv6 nd accept-ra-pinfo、ipv6 nd proxy interfaceコマンドを使います。
interface eth1 ip proxy-arp ip address dhcp ipv6 enable no ipv6 nd accept-ra-pinfo ipv6 nd proxy interface vlan1
- LAN側インターフェースvlan1に対し、IPv4アドレスを固定設定します。また、WANポートで受信したRAで通知されたプレフィックスとISPに指定されたインターフェースIDを組み合わせたIPv6アドレスを自動設定するよう設定します。これにはip address、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サーバー」をご覧ください。
interface vlan1 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 vlan1
- IPv6パケット転送機能を有効化します。これにはipv6 forwardingコマンドを使います。
ipv6 forwarding
- 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
- DHCPサーバーを有効化します。これには、service dhcp-serverコマンドを使います。
service dhcp-server
- 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 2001:db8:3c:10::1 tunnel mode ds-lite ip address 192.0.0.2/29 ip tcp adjust-mss pmtu
- 同様にしてDS-Liteトンネルインターフェースtunnel1を作成します。
interface tunnel1 tunnel source vlan1 tunnel destination 2001:db8:3c:10::2 tunnel mode ds-lite ip address 192.0.2.2/29 ip tcp adjust-mss pmtu
- 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
- トンネルインターフェース 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
- 同様に、トンネルインターフェース 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
- 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分おきにvlan1をダウン・アップさせることで、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
- DNSリレー機能を有効にします。これには、ip dns forwardingコマンドを使います。
DNSリレー機能の詳細は「IP付加機能」/「DNSリレー」をご覧ください。
ip dns forwarding
- 以上で設定は完了です。
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]
その他、設定保存の詳細については「運用・管理」/「コンフィグレーション」をご覧ください。
ルーターのコンフィグ
! no spanning-tree rstp enable ! ip domain-lookup ! 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 ! ip name-server preferred-order static ip name-server 192.168.1.1 ! interface eth1 ip proxy-arp ip address dhcp ipv6 enable no ipv6 nd accept-ra-pinfo ipv6 nd proxy interface vlan1 ! interface vlan1 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 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 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 vlan1 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 ! ip dns forwarding ! end
ルーターのトリガースクリプト
tunnel0_down.scpenable 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 vlan1 shutdown no shutdown
dis_act_ping-poll_1.scp
enable configure terminal ping-poll 1 no active active