設定例集#64: ダイナミックDNSサービスを利用したホスト名(FQDN)によるフレッツ網内VPN接続(ブリッジング構成)
本設定例では、ソフトイーサ社が提供する「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」サービスを利用して、フレッツ・光ネクスト網内のIPv6折り返し通信でL2TPv3 + IPsec VPNを構築し、拠点間をレイヤー2で接続する手順を説明します。
IPv6ネットワーク上にVPNを構築するには接続先VPNルーターのグローバルIPv6アドレスを指定する必要がありますが、ダイナミックDNSサービスを利用すれば、VPNの接続先をIPv6アドレスではなく、ダイナミックDNSサービスサイトに登録したホスト名(FQDN)で指定できるようになります。これにより、すべての拠点が動的IPv6アドレスの場合でも、VPNを構築できるようになります。
ルーターは起動時に自身のWAN側インターフェース情報(IPv6アドレス)をダイナミックDNSサーバーに登録します。そして、その後IPv6アドレスが変更されたときには、自動的に登録アドレスを更新します。これにより、DNSサーバーはつねにルーターのホスト名に対応する最新のIPv6アドレスを保持することができます。
構成
ルーターA (本社)
ルーターB (支社)
ルーターの基本設定
WAN側物理インターフェース
eth1
eth1
WAN側(eth1)IPv6アドレス
自動設定(SLAAC)
自動設定(SLAAC)
LAN側(br1)IPアドレス
192.168.10.1/24
192.168.10.2/24
IKEフェーズ1(ISAKMP)設定
IKEバージョン
IKEv2
ローカルID
sample1.i.open.ad.jp
sample2.i.open.ad.jp
リモートID
sample2.i.open.ad.jp
sample1.i.open.ad.jp
ダイナミックDNSサービス情報
更新専用URL*
http://ddnsapi-v6.open.ad.jp/api/renew/?ABCDEFGHIJKLMNOPQR
http://ddnsapi-v6.open.ad.jp/api/renew/?RQPONMLKJIHGFEDCBA
ホスト名(FQDN)
sample1.i.open.ad.jp
sample2.i.open.ad.jp
* ルーターが取得したIPv6アドレスを「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」サービスに登録したホスト名(FQDN)と関連付けるには、「専用更新URL」を使用します。 * ルーターが使用するホスト名(FQDN)や専用更新URLは、あらかじめ取得してあるものとします。
[事前共有鍵]
■ ダイナミックDNSサーバーへのIPv6アドレス登録(更新)までの流れ:
ルーターA、Bは、ダイナミックDNSサーバーのIPv6アドレス情報を知るため、DHCPv6で取得したDNSサーバー宛に名前解決を行います。
ダイナミックDNSクライアント機能により自身のIPv6アドレスをダイナミックDNSサーバーへ通知します。
■ IPsec通信開始までの流れ:
対向機器のLAN側IPアドレス宛ての通信が発生すると、ルーターのトンネルインターフェースに設定されている宛先FQDNアドレスの名前解決をするため、DHCPv6で取得したDNSサーバー宛に問い合わせを行います。
名前解決後、取得したIPv6アドレス情報でIPsecの接続を開始します。
■ 障害 復旧時:
ルーターA、Bで通信断が発生すると、IPsec DPDが動作しタイムアウト後にSAを削除します。
ルーターA、BはダイナミックDNSクライアント機能により1分間隔で自身のIPv6アドレスをダイナミックDNSサーバーへ通知します。
ルーターのトンネルインターフェースに設定されている宛先FQDNアドレスの名前解決をするため、DHCPv6で取得したDNSサーバー宛に問い合わせを行います。
名前解決後、取得したIPv6アドレス情報でIPsecの接続を開始します。
設定開始前に
自動設定の確認と削除
本設定例に掲載されているコマンドは、設定がまったく行われていない本製品の初期状態(スタートアップコンフィグなしで起動した状態)から入力することを前提としています。
そのため、通常は erase startup-config を実行し、スタートアップコンフィグが存在しない状態で起動してから、設定を始めてください。
ただし、本製品はスタートアップコンフィグなしで起動した場合でも、特定の条件を満たすと自動的な設定を行うことがあるため、その場合は設定例にしたがってコマンドを入力しても、コマンドがエラーになったり、全体として意図した動作にならない可能性があります。
これを避けるため、設定開始にあたっては次のいずれかの方法をとることをおすすめします。
ネットワークケーブルを接続せずに起動する。
起動時に自動設定が実行されるための条件の一つに、特定インターフェースのリンクアップがあります。
ネットワークケーブルを接続しない状態で起動することにより、自動設定の適用を回避できます。
自動設定を手動で削除してから設定を行う。
前記の方法を採用できず自動設定が適用されてしまった場合は、「自動的な設定内容の削除」 にしたがって、これらを手動で削除してから設定を開始してください。
自動設定が行われる条件などの詳細については、AMF応用編のAMFネットワーク未検出時の拡張動作 をご参照ください。
システム時刻の設定
ログなどの記録日時を正確に保ち、各種機能を適切に動作させるため、システム時刻は正確にあわせて運用することをおすすめします。
ご使用の環境にあわせ、次のいずれかの方法でシステム時刻を設定してください。
ルーターAの設定
LANポートにおいて初期状態で有効化されているスパニングツリープロトコル(RSTP)を無効化します。これにはspanning-tree enable コマンドをno形式で実行します。
スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」 をご覧ください。
no spanning-tree rstp enable
ダイナミックDNSクライアント機能を有効にします。これには、ddns enable コマンドを使います。
ddns enable
アップデートサーバーにIPv6アドレスの更新情報を通知するためのダイナミックDNS(DDNS)サービス固有設定を作成します。
これには、ddns-update-method コマンドでDDNSアップデートメソッドモードに入り、update-url 、update-interval 、suppress-ipv4-updates の各コマンドで具体的なパラメーターを設定します。
ダイナミックDNSクライアント機能の詳細は「IP付加機能」/「ダイナミックDNSクライアント」 をご覧ください。
※クエリーパラメーターの開始を表す「?
」をCLIから入力するには、Ctrl/V
キーを入力してから ?
を入力してください。単に ?
を入力するとCLIヘルプが表示されてしまうためご注意ください。
ddns-update-method openddns
update-url http://ddnsapi-v6.open.ad.jp/api/renew/?ABCDEFGHIJKLMNOPQR
update-interval 1
suppress-ipv4-updates
WANポートeth1でIPv6のステートレスアドレス自動設定(SLAAC)を有効にします。これにはipv6 enable コマンドを使います。
この設定により、ルーターから受信したRAのプレフィックス情報にもとづいてeth1のIPv6アドレスが自動設定されます。
また、DNSサーバーアドレスもDHCPv6サーバーから自動取得します。
IPv6インターフェースの詳細は「IPv6」/「IPv6インターフェース」 をご覧ください。
さらにアップデートサーバーへのアドレス更新通知のためダイナミックDNSクライアント機能を有効にします。これには、ipv6 ddns-update-method コマンドを使います。
interface eth1
ipv6 enable
ipv6 ddns-update-method openddns
ソフトウェアブリッジ「1」を作成します。これには、bridge コマンドを使います。
ブリッジングの詳細は「ブリッジング」/「一般設定」 をご覧ください。
bridge 1
ソフトウェアブリッジ「1」にvlan1をブリッジポートとして追加します。これにはbridge-group コマンドを使います。
interface vlan1
bridge-group 1
LAN側インターフェースbr1にIPアドレスを設定します。これにはip address コマンドを使います。
IPインターフェースの詳細は「IP」/「IPインターフェース」 をご覧ください。
interface br1
ip address 192.168.10.1/24
IPv6パケット転送機能を有効化します。これにはipv6 forwarding コマンドを使います。
ipv6 forwarding
ファイアウォールやNATのルール作成時に使うエンティティー(通信主体)を定義します。
エンティティー定義の詳細は「UTM」/「エンティティー定義」 をご覧ください。
内部ネットワークを表すゾーン「private_ipv4」を作成します。
これには、zone 、network 、ip subnet の各コマンドを使います。
zone private_ipv4
network lan
ip subnet 192.168.10.0/24
外部ネットワークを表すゾーン「external_ipv6」を作成します。
前記コマンドに加え、ここではipv6 subnet 、host 、ipv6 address の各コマンドも使います。
zone external_ipv6
network wan
ipv6 subnet ::/0 interface eth1
host eth1
ipv6 address dynamic interface eth1
ファイアウォールのルール作成時に通信内容を指定するために使う「アプリケーション」を定義します。
これには、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 - L2TPパケットを許可します
・rule 50 - DHCPv6パケットを許可します
・rule 60 - ICMPv6パケットを許可します
・rule 100 - 内部から内部へのIPv4通信を許可します
ファイアウォールの詳細は「UTM」/「ファイアウォール」 をご覧ください。
firewall
rule 10 permit any from external_ipv6.wan.eth1 to external_ipv6
rule 20 permit isakmp from external_ipv6 to external_ipv6.wan.eth1
rule 30 permit esp from external_ipv6 to external_ipv6.wan.eth1
rule 40 permit l2tp from external_ipv6 to external_ipv6.wan.eth1
rule 50 permit dhcpv6 from external_ipv6 to external_ipv6.wan.eth1
rule 60 permit icmpv6 from external_ipv6 to external_ipv6.wan.eth1
rule 100 permit any from private_ipv4 to private_ipv4
protect
対向ルーターとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp key コマンドを使います。
crypto isakmp key secret hostname sample2.i.open.ad.jp
L2TPv3トンネルインターフェースtunnel0を作成し、ソフトウェアブリッジ「1」にブリッジポートとして追加します。
トンネルインターフェースはinterface コマンドで作成し、以下の設定を行います。
・ソフトウェアブリッジへの追加(bridge-group )
・トンネルインターフェースのMTU(mtu )
・トンネルインターフェースから送信するデリバリーパケットの始点(自装置)アドレス(tunnel source )
・トンネルインターフェースから送信するデリバリーパケットの終点(対向装置)アドレス(tunnel destination )
・トンネルインターフェースにおけるISAKMP 自装置ID(ローカルID)(tunnel local name )
・トンネルインターフェースにおけるISAKMP 対向装置ID(リモートID)(tunnel remote name )
・トンネルインターフェースのL2TPv3 自装置ID(tunnel local id )
・トンネルインターフェースのL2TPv3 対向装置ID(tunnel remote id )
・トンネルインターフェースに対するIPsec保護の適用(tunnel protection ipsec )
・トンネリング方式(tunnel mode l2tp v3 )
・トンネルインターフェースから送信するデリバリーパケットのフラグメント化を許可(tunnel df )
トンネルインターフェースの詳細は「VPN」/「トンネルインターフェース」 を、ブリッジングの詳細は「ブリッジング」/「一般設定」 を、L2TPv3の詳細は「VPN」/「L2TPv3」 を、IPsecの詳細は「VPN」/「IPsec」 をご覧ください。
interface tunnel0
bridge-group 1
mtu 1500
tunnel source eth1
tunnel destination sample2.i.open.ad.jp
tunnel local name sample1.i.open.ad.jp
tunnel remote name sample2.i.open.ad.jp
tunnel local id 1
tunnel remote id 2
tunnel protection ipsec
tunnel mode l2tp v3 ipv6
tunnel df clear
以上で設定は完了です。
end
ルーターBの設定
LANポートにおいて初期状態で有効化されているスパニングツリープロトコル(RSTP)を無効化します。これにはspanning-tree enable コマンドをno形式で実行します。
スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」 をご覧ください。
no spanning-tree rstp enable
ダイナミックDNSクライアント機能を有効にします。これには、ddns enable コマンドを使います。
ddns enable
アップデートサーバーにIPv6アドレスの更新情報を通知するためのダイナミックDNS(DDNS)サービス固有設定を作成します。
これには、ddns-update-method コマンドでDDNSアップデートメソッドモードに入り、update-url 、update-interval 、suppress-ipv4-updates の各コマンドで具体的なパラメーターを設定します。
ダイナミックDNSクライアント機能の詳細は「IP付加機能」/「ダイナミックDNSクライアント」 をご覧ください。
※クエリーパラメーターの開始を表す「?
」をCLIから入力するには、Ctrl/V
キーを入力してから ?
を入力してください。単に ?
を入力するとCLIヘルプが表示されてしまうためご注意ください。
ddns-update-method openddns
update-url http://ddnsapi-v6.open.ad.jp/api/renew/?RQPONMLKJIHGFEDCBA
update-interval 1
suppress-ipv4-updates
WANポートeth1でIPv6のステートレスアドレス自動設定(SLAAC)を有効にします。これにはipv6 enable コマンドを使います。
この設定により、ルーターから受信したRAのプレフィックス情報にもとづいてeth1のIPv6アドレスが自動設定されます。
また、DNSサーバーアドレスもDHCPv6サーバーから自動取得します。
IPv6インターフェースの詳細は「IPv6」/「IPv6インターフェース」 をご覧ください。
さらにアップデートサーバーへのアドレス更新通知のためダイナミックDNSクライアント機能を有効にします。これには、ipv6 ddns-update-method コマンドを使います。
interface eth1
ipv6 enable
ipv6 ddns-update-method openddns
ソフトウェアブリッジ「1」を作成します。これには、bridge コマンドを使います。
ブリッジングの詳細は「ブリッジング」/「一般設定」 をご覧ください。
bridge 1
ソフトウェアブリッジ「1」にvlan1をブリッジポートとして追加します。これにはbridge-group コマンドを使います。
interface vlan1
bridge-group 1
LAN側インターフェースbr1にIPアドレスを設定します。これにはip address コマンドを使います。
IPインターフェースの詳細は「IP」/「IPインターフェース」 をご覧ください。
interface br1
ip address 192.168.10.2/24
IPv6パケット転送機能を有効化します。これにはipv6 forwarding コマンドを使います。
ipv6 forwarding
ファイアウォールやNATのルール作成時に使うエンティティー(通信主体)を定義します。
エンティティー定義の詳細は「UTM」/「エンティティー定義」 をご覧ください。
内部ネットワークを表すゾーン「private_ipv4」を作成します。
これには、zone 、network 、ip subnet の各コマンドを使います。
zone private_ipv4
network lan
ip subnet 192.168.10.0/24
外部ネットワークを表すゾーン「external_ipv6」を作成します。
前記コマンドに加え、ここではipv6 subnet 、host 、ipv6 address の各コマンドも使います。
zone external_ipv6
network wan
ipv6 subnet ::/0 interface eth1
host eth1
ipv6 address dynamic interface eth1
ファイアウォールのルール作成時に通信内容を指定するために使う「アプリケーション」を定義します。
これには、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 - L2TPパケットを許可します
・rule 50 - DHCPv6パケットを許可します
・rule 60 - ICMPv6パケットを許可します
・rule 100 - 内部から内部へのIPv4通信を許可します
ファイアウォールの詳細は「UTM」/「ファイアウォール」 をご覧ください。
firewall
rule 10 permit any from external_ipv6.wan.eth1 to external_ipv6
rule 20 permit isakmp from external_ipv6 to external_ipv6.wan.eth1
rule 30 permit esp from external_ipv6 to external_ipv6.wan.eth1
rule 40 permit l2tp from external_ipv6 to external_ipv6.wan.eth1
rule 50 permit dhcpv6 from external_ipv6 to external_ipv6.wan.eth1
rule 60 permit icmpv6 from external_ipv6 to external_ipv6.wan.eth1
rule 100 permit any from private_ipv4 to private_ipv4
protect
対向ルーターとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp key コマンドを使います。
crypto isakmp key secret hostname sample1.i.open.ad.jp
L2TPv3トンネルインターフェースtunnel0を作成し、ソフトウェアブリッジ「1」にブリッジポートとして追加します。
トンネルインターフェースはinterface コマンドで作成し、以下の設定を行います。
・ソフトウェアブリッジへの追加(bridge-group )
・トンネルインターフェースのMTU(mtu )
・トンネルインターフェースから送信するデリバリーパケットの始点(自装置)アドレス(tunnel source )
・トンネルインターフェースから送信するデリバリーパケットの終点(対向装置)アドレス(tunnel destination )
・トンネルインターフェースにおけるISAKMP 自装置ID(ローカルID)(tunnel local name )
・トンネルインターフェースにおけるISAKMP 対向装置ID(リモートID)(tunnel remote name )
・トンネルインターフェースのL2TPv3 自装置ID(tunnel local id )
・トンネルインターフェースのL2TPv3 対向装置ID(tunnel remote id )
・トンネルインターフェースに対するIPsec保護の適用(tunnel protection ipsec )
・トンネリング方式(tunnel mode l2tp v3 )
・トンネルインターフェースから送信するデリバリーパケットのフラグメント化を許可(tunnel df )
トンネルインターフェースの詳細は「VPN」/「トンネルインターフェース」 を、ブリッジングの詳細は「ブリッジング」/「一般設定」 を、L2TPv3の詳細は「VPN」/「L2TPv3」 を、IPsecの詳細は「VPN」/「IPsec」 をご覧ください。
interface tunnel0
bridge-group 1
mtu 1500
tunnel source eth1
tunnel destination sample1.i.open.ad.jp
tunnel local name sample2.i.open.ad.jp
tunnel remote name sample1.i.open.ad.jp
tunnel local id 2
tunnel remote id 1
tunnel protection ipsec
tunnel mode l2tp v3 ipv6
tunnel df clear
以上で設定は完了です。
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 ↓
ルーターAのコンフィグ
!
no spanning-tree rstp enable
!
ddns enable
!
ddns-update-method openddns
update-url http://ddnsapi-v6.open.ad.jp/api/renew/?ABCDEFGHIJKLMNOPQR
update-interval 1
suppress-ipv4-updates
!
interface eth1
ipv6 enable
ipv6 ddns-update-method openddns
!
bridge 1
!
interface vlan1
bridge-group 1
!
interface br1
ip address 192.168.10.1/24
!
ipv6 forwarding
!
zone private_ipv4
network lan
ip subnet 192.168.10.0/24
!
zone external_ipv6
network wan
ipv6 subnet ::/0 interface eth1
host eth1
ipv6 address dynamic interface eth1
!
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 external_ipv6.wan.eth1 to external_ipv6
rule 20 permit isakmp from external_ipv6 to external_ipv6.wan.eth1
rule 30 permit esp from external_ipv6 to external_ipv6.wan.eth1
rule 40 permit l2tp from external_ipv6 to external_ipv6.wan.eth1
rule 50 permit dhcpv6 from external_ipv6 to external_ipv6.wan.eth1
rule 60 permit icmpv6 from external_ipv6 to external_ipv6.wan.eth1
rule 100 permit any from private_ipv4 to private_ipv4
protect
!
crypto isakmp key secret hostname sample2.i.open.ad.jp
!
interface tunnel0
bridge-group 1
mtu 1500
tunnel source eth1
tunnel destination sample2.i.open.ad.jp
tunnel local name sample1.i.open.ad.jp
tunnel remote name sample2.i.open.ad.jp
tunnel local id 1
tunnel remote id 2
tunnel protection ipsec
tunnel mode l2tp v3 ipv6
tunnel df clear
!
end
ルーターBのコンフィグ
!
no spanning-tree rstp enable
!
ddns enable
!
ddns-update-method openddns
update-url http://ddnsapi-v6.open.ad.jp/api/renew/?RQPONMLKJIHGFEDCBA
update-interval 1
suppress-ipv4-updates
!
interface eth1
ipv6 enable
ipv6 ddns-update-method openddns
!
bridge 1
!
interface vlan1
bridge-group 1
!
interface br1
ip address 192.168.10.2/24
!
ipv6 forwarding
!
zone private_ipv4
network lan
ip subnet 192.168.10.0/24
!
zone external_ipv6
network wan
ipv6 subnet ::/0 interface eth1
host eth1
ipv6 address dynamic interface eth1
!
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 external_ipv6.wan.eth1 to external_ipv6
rule 20 permit isakmp from external_ipv6 to external_ipv6.wan.eth1
rule 30 permit esp from external_ipv6 to external_ipv6.wan.eth1
rule 40 permit l2tp from external_ipv6 to external_ipv6.wan.eth1
rule 50 permit dhcpv6 from external_ipv6 to external_ipv6.wan.eth1
rule 60 permit icmpv6 from external_ipv6 to external_ipv6.wan.eth1
rule 100 permit any from private_ipv4 to private_ipv4
protect
!
crypto isakmp key secret hostname sample1.i.open.ad.jp
!
interface tunnel0
bridge-group 1
mtu 1500
tunnel source eth1
tunnel destination sample1.i.open.ad.jp
tunnel local name sample2.i.open.ad.jp
tunnel remote name sample1.i.open.ad.jp
tunnel local id 2
tunnel remote id 1
tunnel protection ipsec
tunnel mode l2tp v3 ipv6
tunnel df clear
!
end
(C) 2015 - 2025 アライドテレシスホールディングス株式会社
PN: 613-002107 Rev.BF