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

| WAN側物理インターフェース | eth1 |
| WAN側(eth1)IPv4アドレス | ホームゲートウェイからDHCPで取得 |
| WAN側(eth1)IPv6アドレス | リンクローカルアドレス |
| LAN側(eth0)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側インターフェース(eth0)に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内のネットワークと通信します。
AT-NFV-APLの事前設定
本設定例は、あらかじめ AT-NFV-APL側で以下のような設定を行っていることを前提としています。使用するインターフェースの番号や数は適宜変更してかまいません。
事前設定の流れについては「AT-NFV-APL」/「準備」をご覧ください。

管理IPアドレス
詳細は「AT-NFV-APL」/「ネットワーク基本設定」をご覧ください。| br0 | 192.168.10.254/24 |
ブリッジ
詳細は「AT-NFV-APL」/「ネットワーク基本設定」をご覧ください。| eth1~eth9 | 1 | 1 |
| eth10 | ||
仮想インターフェース割り当て
vFirewallアプリケーションインスタンスの初期設定時には、下記のように仮想インターフェースを割り当てます。詳細は「AT-NFV-APL」/「AW+ vFirewall」をご覧ください。
インターフェース名 |
タイプ |
VLAN ID |
インターフェース |
|
| eth0 | Virtual | 1 | - | 192.168.10.1/24 |
| eth1 | Physical | - | eth10 | 未指定 |
ルーターの設定
- 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側インターフェース(eth0)への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 eth0
- LAN側インターフェースeth0に対し、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サーバー」をご覧ください。
※IPv4アドレス 192.168.10.1/24 は AT-NFV-APLの事前設定時に設定済みのため、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
- 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 eth0 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 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の経路情報をスタティックに設定します。これには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分おきに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
- 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]
その他、設定保存の詳細については「運用・管理」/「コンフィグレーション」をご覧ください。
ルーターのコンフィグ
! 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 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 ! 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 eth0 shutdown no shutdown
dis_act_ping-poll_1.scp
enable configure terminal ping-poll 1 no active active