設定例集#91: ダイナミックDNSサービスを利用したホスト名(FQDN)によるIPv4 over IPv6 IPsec VPN(拠点側はIPv6モバイルデータ通信サービスを利用)
  
  
   
   
  
  
  
  
  
  
  
  
本設定例では、ソフトイーサ社が提供する「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」サービスを利用して、フレッツ・光ネクスト網とIPv6モバイルデータ通信サービス網内のIPv6折り返し通信でIPv4 over IPv6 IPsec VPNを構築し、拠点間をレイヤー3で接続する手順を説明します。
IPv6ネットワーク上にVPNを構築するには接続先VPNルーターのグローバルIPv6アドレスを指定する必要がありますが、ダイナミックDNSサービスを利用すれば、VPNの接続先をIPv6アドレスではなく、ダイナミックDNSサービスサイトに登録したホスト名(FQDN)で指定できるようになります。これにより、すべての拠点が動的IPv6アドレスの場合でも、VPNを構築できるようになります。
ルーターは起動時に自身のWAN側インターフェース情報(IPv6アドレス)をダイナミックDNSサーバーに登録します。そして、その後IPv6アドレスが変更されたときには、自動的に登録アドレスを更新します。これにより、DNSサーバーはつねにルーターのホスト名に対応する最新のIPv6アドレスを保持することができます。
構成

  |  | ルーターA (本社)
 | ルーターB (支社)
 | 
  | ルーターの基本設定 | 
  | WAN側物理インターフェース | eth1 | cellular0(USB型データ通信端末) | 
  | WAN側(eth1/ppp0 over cellular0)IPv6アドレス | 自動設定(SLAAC) | 自動設定(SLAAC) | 
  | LAN側(vlan1)IPアドレス | 192.168.10.1/24 | 192.168.20.1/24 | 
  | IKEフェーズ1(ISAKMP)設定 | 
  | IKEバージョン | IKEv2 | 
  | ダイナミックDNSサービス情報 | 
  | 専用更新ホスト名* | update-0123456789abcdefff.i.open.ad.jp | update-fffedcba9876543210.i.open.ad.jp | 
  | ホスト名(FQDN) | sample1.i.open.ad.jp | sample2.i.open.ad.jp | 
  | * ルーターが取得したIPv6アドレスを「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」サービスに登録したホスト名(FQDN)と関連付けるには、「専用更新ホスト名」を使用します。 * ルーターが使用するホスト名(FQDN)や専用更新ホスト名は、あらかじめ取得してあるものとします。
 | 
 
[事前共有鍵]
■ ダイナミックDNSサーバーへのIPv6アドレス登録(更新)までの流れ:
- ルーターA、Bは、ダイナミックDNSサーバーのIPv6アドレス情報を知るため、DHCPv6で取得したDNSサーバー宛に名前解決を行います。
 
 
- 解決したIPv6アドレス宛にアップデートパケット(IPv6 Ping)を投げ、自身のIPv6アドレスをダイナミックDNSサーバーへ登録します。
 
■ IPsec通信開始までの流れ:
- Pingポーリング機能による対向機器のLAN側IPアドレス宛のPing通信が発生すると、ルーターのトンネルインターフェースに設定されている宛先FQDNアドレスの名前解決をするため、DHCPv6で取得したDNSサーバー宛に問い合わせを行います。
 
 
- 名前解決後、取得したIPv6アドレス情報でIPsecの接続を開始します。
 
■ 障害 復旧時:
- ルーターA、BでPingポーリングがDOWNすると、トリガー20が追加され、tunnelインターフェースの終点IPv6アドレスの更新とISAKMP SAの削除を1分間隔で実行します。
 
 
- ルーターA、BはダイナミックDNSサーバーにアップデートパケット(IPv6 Ping)を投げ、自身のIPv6アドレスをダイナミックDNSサーバーへ登録します。
 
 
- ルーターのトンネルインターフェースに設定されている宛先FQDNアドレスの名前解決をするため、DHCPv6で取得したDNSサーバー宛に問い合わせを行います。
 
 
- 名前解決後、取得したIPv6アドレス情報でIPsecの接続を開始します。
 
 
- IPsec接続が完了すると、ルーターA、BでPingポーリングがUPし、トリガー20が削除されます。
 
設定開始前に
自動設定の確認と削除
本設定例に掲載されているコマンドは、設定がまったく行われていない本製品の初期状態(スタートアップコンフィグなしで起動した状態)から入力することを前提としています。
そのため、通常は erase startup-config を実行し、スタートアップコンフィグが存在しない状態で起動してから、設定を始めてください。
ただし、本製品はスタートアップコンフィグなしで起動した場合でも、特定の条件を満たすと自動的な設定を行うことがあるため、その場合は設定例にしたがってコマンドを入力しても、コマンドがエラーになったり、全体として意図した動作にならない可能性があります。
これを避けるため、設定開始にあたっては次のいずれかの方法をとることをおすすめします。
- ネットワークケーブルを接続せずに起動する。
 起動時に自動設定が実行されるための条件の一つに、特定インターフェースのリンクアップがあります。
 ネットワークケーブルを接続しない状態で起動することにより、自動設定の適用を回避できます。
 
 
- 自動設定を手動で削除してから設定を行う。
 前記の方法を採用できず自動設定が適用されてしまった場合は、「自動的な設定内容の削除」にしたがって、これらを手動で削除してから設定を開始してください。
 
自動設定が行われる条件などの詳細については、AMF応用編のAMFネットワーク未検出時の拡張動作をご参照ください。
システム時刻の設定
ログなどの記録日時を正確に保ち、各種機能を適切に動作させるため、システム時刻は正確にあわせて運用することをおすすめします。
特に本製品はリアルタイムクロックを内蔵していないため、起動するたびに時刻をあわせる必要があります。
ご使用の環境にあわせ、次のいずれかの方法でシステム時刻を設定してください。
ルーターAの設定
- WANポートeth1でIPv6のステートレスアドレス自動設定(SLAAC)を有効にします。これにはipv6 enableコマンドを使います。
 この設定により、ルーターから受信したRAのプレフィックス情報にもとづいてeth1のIPv6アドレスが自動設定されます。
 また、DNSサーバーアドレスもDHCPv6サーバーから自動取得します。
 IPv6インターフェースの詳細は「IPv6」/「IPv6インターフェース」をご覧ください。
 interface eth1
 ipv6 enable
 
- LAN側インターフェースvlan1にIPアドレスを設定します。これにはip addressコマンドを使います。
 IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。
 interface vlan1
 ip address 192.168.10.1/24
 
- IPv6パケット転送機能を有効化します。これにはipv6 forwardingコマンドを使います。
 ipv6 forwarding
 
- ファイアウォールやNATのルール作成時に使うエンティティー(通信主体)を定義します。
 エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。
 
 外部ネットワークを表すゾーン「ipv6-internet」を作成します。
 これには、zone、network、ipv6 subnet、host、ipv6 addressの各コマンドを使います。
 zone ipv6-internet
 network wan
  ipv6 subnet ::/0 interface eth1
  host eth1
   ipv6 address dynamic interface eth1
 
- 内部ネットワークを表すゾーン「ipv4-internal」を作成します。
 前記コマンドに加え、ここではip subnetコマンドも使います。
 zone ipv4-internal
 network lan
  ip subnet 172.16.0.0/30
  ip subnet 192.168.0.0/16
 
- ファイアウォールのルール作成時に通信内容を指定するために使う「アプリケーション」を定義します。
 これには、application、protocol、dportの各コマンドを使います。
 アプリケーション定義の詳細は「UTM」/「アプリケーション定義」をご覧ください。
 
 DHCPv6パケットを表すカスタムアプリケーション「dhcpv6」を定義します。
 application dhcpv6
 protocol udp
 dport 546 to 547
 
- IPsecのESPパケットを表すカスタムアプリケーション「esp」を定義します。 
 application esp
 protocol 50
 
- ICMPv6パケットを表すカスタムアプリケーション「icmpv6」を定義します。 
 application icmpv6
 protocol ipv6-icmp
 
- ISAKMPパケットを表すカスタムアプリケーション「isakmp」を定義します。 
 application isakmp
 protocol udp
 dport 500
 
- 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
 これには、firewall、rule、protectの各コマンドを使います。
 
 ・rule 10 - 本製品のWAN側インターフェースからのIPv6通信を許可します
 ・rule 20 - ISAKMPパケットを許可します
 ・rule 30 - IPsec(ESP)パケットを許可します
 ・rule 40 - DHCPv6パケットを許可します
 ・rule 50 - ICMPv6パケットを許可します
 ・rule 100 - 内部から内部へのIPv4通信を許可します
 
 ファイアウォールの詳細は「UTM」/「ファイアウォール」をご覧ください。
 firewall
 rule 10 permit any from ipv6-internet.wan.eth1 to ipv6-internet
 rule 20 permit isakmp from ipv6-internet to ipv6-internet.wan.eth1
 rule 30 permit esp from ipv6-internet to ipv6-internet.wan.eth1
 rule 40 permit dhcpv6 from ipv6-internet to ipv6-internet.wan.eth1
 rule 50 permit icmpv6 from ipv6-internet to ipv6-internet.wan.eth1
 rule 100 permit any from ipv4-internal to ipv4-internal
 protect
 
- 対向ルーターとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。
 crypto isakmp key secret policy tunnel0
 
- IPv4 over IPv6 IPsecトンネルインターフェースtunnel0を作成します。
 トンネルインターフェースはinterfaceコマンドで作成し、以下の設定を行います。
 
 ・トンネルインターフェースから送信するデリバリーパケットの始点(自装置)アドレス(tunnel source)
 ・トンネルインターフェースから送信するデリバリーパケットの終点(対向装置)アドレス(tunnel destination)
 ・保護対象パケット(トラフィックセレクター)のローカルアドレス(tunnel local selector)
 ・保護対象パケット(トラフィックセレクター)のリモートアドレス(tunnel remote selector)
 ・トンネルインターフェースに対するIPsec保護の適用(tunnel protection ipsec)
 ・トンネリング方式(tunnel mode ipsec)
 ・トンネルインターフェースのIPアドレス(ip address)
 ・トンネルインターフェースにおけるMSS書き換え設定(ip tcp adjust-mss)
 
 トンネルインターフェースの詳細は「VPN」/「トンネルインターフェース」を、IPsecの詳細は「VPN」/「IPsec」をご覧ください。
 interface tunnel0
 tunnel source eth1
 tunnel destination sample2.i.open.ad.jp
 tunnel local selector 1 0.0.0.0/0
 tunnel remote selector 1 0.0.0.0/0
 tunnel protection ipsec
 tunnel mode ipsec ipv6
 ip address 172.16.0.1/30
 ip tcp adjust-mss pmtu
 
- トンネルインターフェース tunnel0 経由での対向ルーターへの接続性を監視するPingポーリング「1」を作成します。
 これには、ping-poll、ip、up-count、fail-count、sample-size、activeの各コマンドを使います。
 Pingポーリングの詳細は「IP付加機能」/「Pingポーリング」をご覧ください。
 ping-poll 1
 ip 172.16.0.2
 up-count 3
 fail-count 3
 sample-size 3
 active
 
- 定期実行トリガーとPingポーリングトリガーを作成します。
 これには、trigger、type periodic、type ping-poll、scriptの各コマンドを使います。
 
 ・trigger 1 - 1分おきにダイナミックDNSサービスの更新専用ホスト宛てにアップデートパケット(IPv6 Ping)を送信し、自身のIPv6アドレスをダイナミックDNSサーバーに登録・更新するopen_ddns.scpスクリプトを実行する
 ・trigger 10 - tunnel0 経由での対向ルーターへの接続性が失われた場合に、trigger 20を作成することで 1分おきに FQDN での再接続を試みる periodic-update.scpスクリプトを実行する
 ・trigger 11 - tunnel0 経由での対向ルーターへの接続性が回復した場合に、trigger 20を削除することで 1分おきの再接続を停止する periodic-update-delete.scpスクリプトを実行する
 ・trigger 20 - ISAKMP SA を強制的に削除し、対向ルーターのFQDNを解決した上で再接続を試みる host-change.scpスクリプトを1分おきに実行する(trigger 10によって作成・起動され、trigger 11によって削除・停止される)
 
 トリガースクリプトの具体的内容は「トリガースクリプト」を、トリガーの詳細は「運用・管理」/「トリガー」をご覧ください。
 trigger 1
 type periodic 1
 script 1 open_ddns.scp
trigger 10
 type ping-poll 1 down
 script 1 periodic-update.scp
trigger 11
 type ping-poll 1 up
 script 1 periodic-update-delete.scp
 
- ルーターBのLAN側(192.168.20.0/24)への経路を設定します。これにはip routeコマンドを使います。
 IP経路設定の詳細は「IP」/「経路制御」をご覧ください。
 ip route 192.168.20.0/24 tunnel0
 
- 以上で設定は完了です。
 end
 
ルーターBの設定
- USB型データ通信端末cellular0上にPPPインターフェースppp0を作成し、アクセスポイント名(APN)と呼ばれる接続先情報を設定します。
 また、USB型データ通信端末上でのIPv6通信を有効にします。これには、encapsulation ppp、apn、ipv6 enableコマンドを使います。
 PPPの詳細は「PPP」/「一般設定」をご覧ください。
 interface cellular0
 encapsulation ppp 0
 apn testname.alliedtelesis
 ipv6 enable
 
- PPPインターフェースppp0に対し、PPP接続のための設定を行います。
 
 ・IPCPによるDNSサーバーアドレスのネゴシエーション無効化(ppp ipcp dns)
 ・LCP EchoによるPPP接続状態の確認(keepalive)
 ・ユーザー名(ppp username)
 ・パスワード(ppp password)
 ・IPv6の有効化(ipv6 enable)
 ・MSS書き換え(ipv6 tcp adjust-mss)
 interface ppp0
 ppp ipcp dns reject
 keepalive
 ppp username user@isp
 ppp password isppasswd
 ipv6 enable
 ipv6 tcp adjust-mss pmtu
 
- LAN側インターフェースvlan1にIPアドレスを設定します。これにはip addressコマンドを使います。
 IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。
 interface vlan1
 ip address 192.168.20.1/24
 
- IPv6パケット転送機能を有効化します。これにはipv6 forwardingコマンドを使います。
 ipv6 forwarding
 
- ファイアウォールやNATのルール作成時に使うエンティティー(通信主体)を定義します。
 エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。
 
 外部ネットワークを表すゾーン「ipv6-internet」を作成します。
 これには、zone、network、ipv6 subnet、host、ipv6 addressの各コマンドを使います。
 zone ipv6-internet
 network wan
  ipv6 subnet ::/0 interface ppp0
  host ppp0
   ipv6 address dynamic interface ppp0
 
- 内部ネットワークを表すゾーン「ipv4-internal」を作成します。
 前記コマンドに加え、ここではip subnetコマンドも使います。
 zone ipv4-internal
 network lan
  ip subnet 172.16.0.0/30
  ip subnet 192.168.0.0/16
 
- ファイアウォールのルール作成時に通信内容を指定するために使う「アプリケーション」を定義します。
 これには、application、protocol、dportの各コマンドを使います。
 アプリケーション定義の詳細は「UTM」/「アプリケーション定義」をご覧ください。
 
 DHCPv6パケットを表すカスタムアプリケーション「dhcpv6」を定義します。
 application dhcpv6
 protocol udp
 dport 546 to 547
 
- IPsecのESPパケットを表すカスタムアプリケーション「esp」を定義します。 
 application esp
 protocol 50
 
- ICMPv6パケットを表すカスタムアプリケーション「icmpv6」を定義します。 
 application icmpv6
 protocol ipv6-icmp
 
- ISAKMPパケットを表すカスタムアプリケーション「isakmp」を定義します。 
 application isakmp
 protocol udp
 dport 500
 
- 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
 これには、firewall、rule、protectの各コマンドを使います。
 
 ・rule 10 - 本製品のWAN側インターフェースからのIPv6通信を許可します
 ・rule 20 - ISAKMPパケットを許可します
 ・rule 30 - IPsec(ESP)パケットを許可します
 ・rule 40 - DHCPv6パケットを許可します
 ・rule 50 - ICMPv6パケットを許可します
 ・rule 100 - 内部から内部へのIPv4通信を許可します
 
 ファイアウォールの詳細は「UTM」/「ファイアウォール」をご覧ください。
 firewall
 rule 10 permit any from ipv6-internet.wan.ppp0 to ipv6-internet
 rule 20 permit isakmp from ipv6-internet to ipv6-internet.wan.ppp0
 rule 30 permit esp from ipv6-internet to ipv6-internet.wan.ppp0
 rule 40 permit dhcpv6 from ipv6-internet to ipv6-internet.wan.ppp0
 rule 50 permit icmpv6 from ipv6-internet to ipv6-internet.wan.ppp0
 rule 100 permit any from ipv4-internal to ipv4-internal
 protect
 
- 対向ルーターとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。
 crypto isakmp key secret policy tunnel0
 
- IPv4 over IPv6 IPsecトンネルインターフェースtunnel0を作成します。
 トンネルインターフェースはinterfaceコマンドで作成し、以下の設定を行います。
 
 ・トンネルインターフェースから送信するデリバリーパケットの始点(自装置)アドレス(tunnel source)
 ・トンネルインターフェースから送信するデリバリーパケットの終点(対向装置)アドレス(tunnel destination)
 ・保護対象パケット(トラフィックセレクター)のローカルアドレス(tunnel local selector)
 ・保護対象パケット(トラフィックセレクター)のリモートアドレス(tunnel remote selector)
 ・トンネルインターフェースに対するIPsec保護の適用(tunnel protection ipsec)
 ・トンネリング方式(tunnel mode ipsec)
 ・トンネルインターフェースのIPアドレス(ip address)
 ・トンネルインターフェースにおけるMSS書き換え設定(ip tcp adjust-mss)
 
 トンネルインターフェースの詳細は「VPN」/「トンネルインターフェース」を、IPsecの詳細は「VPN」/「IPsec」をご覧ください。
 interface tunnel0
 tunnel source ppp0
 tunnel destination sample1.i.open.ad.jp
 tunnel local selector 1 0.0.0.0/0
 tunnel remote selector 1 0.0.0.0/0
 tunnel protection ipsec
 tunnel mode ipsec ipv6
 ip address 172.16.0.2/30
 ip tcp adjust-mss pmtu
 
- トンネルインターフェース tunnel0 経由での対向ルーターへの接続性を監視するPingポーリング「1」を作成します。
 これには、ping-poll、ip、up-count、fail-count、sample-size、activeの各コマンドを使います。
 Pingポーリングの詳細は「IP付加機能」/「Pingポーリング」をご覧ください。
 ping-poll 1
 ip 172.16.0.1
 up-count 3
 fail-count 3
 sample-size 3
 active
 
- 定期実行トリガーとPingポーリングトリガーを作成します。
 これには、trigger、type periodic、type ping-poll、scriptの各コマンドを使います。
 
 ・trigger 1 - 1分おきにダイナミックDNSサービスの更新専用ホスト宛てにアップデートパケット(IPv6 Ping)を送信し、自身のIPv6アドレスをダイナミックDNSサーバーに登録・更新するopen_ddns.scpスクリプトを実行する
 ・trigger 10 - tunnel0 経由での対向ルーターへの接続性が失われた場合に、trigger 20を作成することで 1分おきに FQDN での再接続を試みる periodic-update.scpスクリプトを実行する
 ・trigger 11 - tunnel0 経由での対向ルーターへの接続性が回復した場合に、trigger 20を削除することで 1分おきの再接続を停止する periodic-update-delete.scpスクリプトを実行する
 ・trigger 20 - ISAKMP SA を強制的に削除し、対向ルーターのFQDNを解決した上で再接続を試みる host-change.scpスクリプトを1分おきに実行する(trigger 10によって作成・起動され、trigger 11によって削除・停止される)
 
 トリガースクリプトの具体的内容は「トリガースクリプト」を、トリガーの詳細は「運用・管理」/「トリガー」をご覧ください。
 trigger 1
 type periodic 1
 script 1 open_ddns.scp
trigger 10
 type ping-poll 1 down
 script 1 periodic-update.scp
trigger 11
 type ping-poll 1 up
 script 1 periodic-update-delete.scp
 
- ルーターAのLAN側(192.168.10.0/24)への経路を設定します。これにはip routeコマンドを使います。
 IP経路設定の詳細は「IP」/「経路制御」をご覧ください。
 ip route 192.168.10.0/24 tunnel0
 
- 以上で設定は完了です。
 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 kern msgtext Firewall ↓
■ 記録されたログを見るには、次のコマンド(show log)を実行します。ここでは、ファイアウォールが出力したログメッセージだけを表示させています。
awplus# show log | include Firewall ↓
ルーターAのコンフィグ
!
interface eth1
 ipv6 enable
!
interface vlan1
 ip address 192.168.10.1/24
!
ipv6 forwarding
!
zone ipv6-internet
 network wan
  ipv6 subnet ::/0 interface eth1
  host eth1
   ipv6 address dynamic interface eth1
!
zone ipv4-internal
 network lan
  ip subnet 172.16.0.0/30
  ip subnet 192.168.0.0/16
!
application dhcpv6
 protocol udp
 dport 546 to 547
!
application esp
 protocol 50
!
application icmpv6
 protocol ipv6-icmp
!
application isakmp
 protocol udp
 dport 500
!
firewall
 rule 10 permit any from ipv6-internet.wan.eth1 to ipv6-internet
 rule 20 permit isakmp from ipv6-internet to ipv6-internet.wan.eth1
 rule 30 permit esp from ipv6-internet to ipv6-internet.wan.eth1
 rule 40 permit dhcpv6 from ipv6-internet to ipv6-internet.wan.eth1
 rule 50 permit icmpv6 from ipv6-internet to ipv6-internet.wan.eth1
 rule 100 permit any from ipv4-internal to ipv4-internal
 protect
!
crypto isakmp key secret policy tunnel0
!
interface tunnel0
 tunnel source eth1
 tunnel destination sample2.i.open.ad.jp
 tunnel local selector 1 0.0.0.0/0
 tunnel remote selector 1 0.0.0.0/0
 tunnel protection ipsec
 tunnel mode ipsec ipv6
 ip address 172.16.0.1/30
 ip tcp adjust-mss pmtu
!
ping-poll 1
 ip 172.16.0.2
 up-count 3
 fail-count 3
 sample-size 3
 active
!
trigger 1
 type periodic 1
 script 1 open_ddns.scp
trigger 10
 type ping-poll 1 down
 script 1 periodic-update.scp
trigger 11
 type ping-poll 1 up
 script 1 periodic-update-delete.scp
!
ip route 192.168.20.0/24 tunnel0
!
end
ルーターBのコンフィグ
!
interface cellular0
 encapsulation ppp 0
 apn testname.alliedtelesis
 ipv6 enable
!
interface ppp0
 ppp ipcp dns reject
 keepalive
 ppp username user@isp
 ppp password isppasswd
 ipv6 enable
 ipv6 tcp adjust-mss pmtu
!
interface vlan1
 ip address 192.168.20.1/24
!
ipv6 forwarding
!
zone ipv6-internet
 network wan
  ipv6 subnet ::/0 interface ppp0
  host ppp0
   ipv6 address dynamic interface ppp0
!
zone ipv4-internal
 network lan
  ip subnet 172.16.0.0/30
  ip subnet 192.168.0.0/16
!
application dhcpv6
 protocol udp
 dport 546 to 547
!
application esp
 protocol 50
!
application icmpv6
 protocol ipv6-icmp
!
application isakmp
 protocol udp
 dport 500
!
firewall
 rule 10 permit any from ipv6-internet.wan.ppp0 to ipv6-internet
 rule 20 permit isakmp from ipv6-internet to ipv6-internet.wan.ppp0
 rule 30 permit esp from ipv6-internet to ipv6-internet.wan.ppp0
 rule 40 permit dhcpv6 from ipv6-internet to ipv6-internet.wan.ppp0
 rule 50 permit icmpv6 from ipv6-internet to ipv6-internet.wan.ppp0
 rule 100 permit any from ipv4-internal to ipv4-internal
 protect
!
crypto isakmp key secret policy tunnel0
!
interface tunnel0
 tunnel source ppp0
 tunnel destination sample1.i.open.ad.jp
 tunnel local selector 1 0.0.0.0/0
 tunnel remote selector 1 0.0.0.0/0
 tunnel protection ipsec
 tunnel mode ipsec ipv6
 ip address 172.16.0.2/30
 ip tcp adjust-mss pmtu
!
ping-poll 1
 ip 172.16.0.1
 up-count 3
 fail-count 3
 sample-size 3
 active
!
trigger 1
 type periodic 1
 script 1 open_ddns.scp
trigger 10
 type ping-poll 1 down
 script 1 periodic-update.scp
trigger 11
 type ping-poll 1 up
 script 1 periodic-update-delete.scp
!
ip route 192.168.10.0/24 tunnel0
!
end
ルーターAのトリガースクリプト
■ open_ddns.scp
enable
ping ipv6 update-0123456789abcdefff.i.open.ad.jp repeat 2
■ periodic-update.scp
enable
conf t
trigger 20
type periodic 1
script 1 host-change.scp
■ periodic-update-delete.scp
enable
conf t
no trigger 20
■ host-change.scp
enable
clear isakmp sa force
conf t
int tunnel0
tunnel dest sample2.i.open.ad.jp
ルーターBのトリガースクリプト
■ open_ddns.scp
enable
ping ipv6 update-fffedcba9876543210.i.open.ad.jp repeat 2
■ periodic-update.scp
enable
conf t
trigger 20
type periodic 1
script 1 host-change.scp
■ periodic-update-delete.scp
enable
conf t
no trigger 20
■ host-change.scp
enable
clear isakmp sa force
conf t
int tunnel0
tunnel dest sample1.i.open.ad.jp
(C) 2019 - 2020 アライドテレシスホールディングス株式会社
PN: 613-002735 Rev.J