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


構成
AT-NFV-APLの事前設定
管理IPアドレス
ブリッジ
仮想インターフェース割り当て
ルーターの設定
設定の保存
ルーターのコンフィグ
ルーターのトリガースクリプト



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

構成

ルーターの基本設定
WAN側物理インターフェース eth1
WAN側(eth1)IPv4アドレス ホームゲートウェイからDHCPで取得
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

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

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

たとえば、pingコマンドで始点アドレスを指定する場合は次のようにします。
awplus# ping 宛先IPv4アドレス source 始点IPv4アドレス

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. アップデートサーバーにIPv6アドレスの更新情報を通知するためのダイナミックDNS(DDNS)サービス固有設定を作成します。
    これには、ddns-update-methodコマンドでDDNSアップデートメソッドモードに入り、update-urlpasswordsuppress-ipv4-updatesaccept-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. 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
    
  4. WANポートeth1の設定を行います。
    まず、ホームゲートウェイがARP解決できるよう、ip proxy-arpコマンドでプロキシーARPを有効にします。
    また、ip address dhcpコマンドでDHCPクライアント機能を有効化し、IPv4アドレスを取得します。
    さらに、WANポートでIPv6のリンクローカルアドレスを自動設定し、RAを受信できるようにします。ただし本例では、実際にRAにもとづくアドレスを設定するのはLAN側インターフェースであるため、初期設定で有効になっているアドレス自動設定(SLAAC)は無効化します。また、WANポートで受信したNSに代理応答するためLAN側インターフェース(eth0)へのNDプロキシー機能を有効にします。これには、ipv6 enableipv6 nd accept-ra-pinfoipv6 nd proxy interfaceコマンドを使います。
    interface eth1
     ip proxy-arp
     ip address dhcp
     ipv6 enable
     no ipv6 nd accept-ra-pinfo
     ipv6 nd proxy interface eth0
    
  5. LAN側インターフェースeth0に対し、WANポートで受信したRAで通知されたプレフィックスとISPに指定されたインターフェースIDを組み合わせたIPv6アドレスを自動設定するよう設定します。これにはip addressipv6 address autoconfigコマンドを使います。
    また、IPv6設定情報をLAN側クライアントに通知するため、RAの送信を有効にします。これには、ipv6 nd suppress-raipv6 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
    
  6. IPv6パケット転送機能を有効化します。これにはipv6 forwardingコマンドを使います。
    ipv6 forwarding
    
  7. 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
    
  8. DHCPサーバーを有効化します。これには、service dhcp-serverコマンドを使います。
    service dhcp-server
    
  9. 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
    
  10. 同様にして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
    
  11. 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
    
  12. トンネルインターフェース tunnel0 経由でピア (1本目)への接続性を監視するPingポーリング「1」を作成します。
    これには、ping-pollipsource-ipnormal-intervalcritical-intervalup-countfail-countsample-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
    
  13. 同様に、トンネルインターフェース 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
    
  14. Pingポーリングトリガー、定期実行トリガー、再起動トリガーを作成します。
    これには、triggertype ping-polltype periodictype rebootscriptの各コマンドを使います。

    ・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
    
  15. DNSリレー機能を有効にします。これには、ip dns forwardingコマンドを使います。
    DNSリレー機能の詳細は「IP付加機能」/「DNSリレー」をご覧ください。
    ip dns forwarding
    
  16. 以上で設定は完了です。
    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]

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

ルーターのコンフィグ

!
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.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) 2021 - 2022 アライドテレシスホールディングス株式会社

PN: 613-002993 Rev.D