設定例集#39: Pingポーリングトリガーによるメイン回線から移動体データ通信サービスVPNバックアップへの自動切り替え(CUGサービス+移動体データ通信サービス~VRRP編~)
センター側にVRRPのマスター・バックアップルーターを1台ずつ設置した冗長構成の構築例です。
マスタールーターでは拠点間通信にCUG(Closed Users Group)サービスを利用し、バックアップルーターではバックアップ回線としてインターネットVPNを利用するネットワークを構築します。
また、拠点側では拠点間通信にCUGサービスを利用し、バックアップ回線として移動体データ通信サービスでのVPNを利用するネットワークを構築します。
本設定例のルーターA、BはWANポートを2つ使用するため、AT-AR2050Vをこれらのルーターとして使用する場合は、eth2インターフェースをvlanインターフェースに変更してご使用ください。
構成

|
ルーターA |
ルーターB |
ルーターC |
ISPから提供された情報 |
ISP接続用ユーザー名 |
|
user@ispB |
user@ispC |
ISP接続用パスワード |
isppasswdB |
isppasswdC |
アクセスポイント名(APN) |
|
testname.alliedtelesis |
WAN側IPアドレス |
10.1.1.1/32 |
動的割り当て(IPCP) |
グループ管理者から提供された情報 |
CUG接続用ユーザー名 |
userA@cug |
|
userC@cug |
CUG接続用パスワード |
cugpasswdA |
cugpasswdC |
WAN側IPアドレス |
10.0.0.1/32 |
10.0.0.2/32 |
ルーターの基本設定 |
WAN側物理インターフェース(1) |
eth1 |
eth1 |
eth1 |
WAN側物理インターフェース(2) |
|
|
cellular0(USB型データ通信端末) |
WAN側(ppp0)IPアドレス(1) |
10.0.0.1/32 |
10.1.1.1/32 |
10.0.0.2/32 |
WAN側(ppp1)IPアドレス(2) |
|
|
接続時にISPから取得 |
LAN側(vlan1)IPアドレス |
192.168.10.253/24 |
192.168.10.254/24 |
192.168.20.1/24 |
IPsecトンネル(tunnel0)IPアドレス(1) |
192.168.100.1/30 |
192.168.200.1/30 |
192.168.100.2/30 |
IPsecトンネル(tunnel1)IPアドレス(2) |
|
|
192.168.200.2/30 |
[IKEフェーズ1(ISAKMP)設定]
- ルーターA・C間
- IKEバージョン・交換モード:IKEv1 Mainモード
- アルゴリズム:AES128 / SHA1 / Group2
- ローカルID:
- ルーターA:始点アドレス(デフォルト)
- ルーターC:始点アドレス(デフォルト)
- SA有効期間:1時間
- 事前共有鍵:secret1
- ルーターB・C間
- IKEバージョン・交換モード:IKEv1 Aggressiveモード
- アルゴリズム:AES128 / SHA1 / Group2
- ローカルID:
- ルーターB:始点アドレス(デフォルト)
- ルーターC:RouterC
- SA有効期間:1時間
- 事前共有鍵:secret2
[IKEフェーズ2(IPsec)設定]
想定する環境は次のとおりです。
- ルーターCではUSB型データ通信端末が使用できる。
- センターと拠点間はIPsecで接続する。
- ルーターAとルーターC間で Pingポーリングトリガーを対向ルーターのインターフェースに向け、定期的に通信状況を確認し、障害発生時にはアクションを実行してバックアップ回線(移動体データ通信サービス)へ通信ルートを切り替える。
■ 通常接続時の通信は以下のように行われます。
- センター/ISP間の通信ルート
センターのLAN側からISP宛に送出されたパケットは、VRRPマスタールーターであるルーターAのLAN側インターフェース(vlan1)を通り、ルーターBのeth2に転送され、NAT機能によりルーターBのppp0でプライベートアドレス(192.168.10.x/24)からルーターBのppp0のグローバルアドレス(10.1.1.1/32)に変換されてISPへ届きます。
- センター/拠点間の通信ルート
センターのLAN側から拠点のLAN側宛に送出されたパケットは、VRRPマスタールーターであるルーターAのLAN側インターフェース(vlan1)から、ppp0上のIPsecトンネルを通ってプライベートアドレス(192.168.10.x/24)のままルーターCのLAN側インターフェース(vlan1)へ届きます。
同様に、ルーターCのLAN側からセンターのLAN側宛に送出されたパケットは、ルーターCのLAN側インターフェース(vlan1)から、ppp0上のIPsecトンネルを通ってプライベートアドレス(192.168.20.x/24)のままルーターAのLAN側インターフェース(vlan1)へ届きます。
- 拠点/ISP間の通信ルート
ルーターCのLAN側からISP宛に送出されたパケットは、ルーターCのLAN側インターフェース(vlan1)から、ppp0上のIPsecトンネルを通ってプライベートアドレス(192.168.20.x/24)のままルーターBのeth2に転送され、NAT機能によりルーターBのppp0でプライベートアドレス(192.168.20.x/24)からppp0のグローバルアドレス(10.1.1.1/32)に変換されてISPへ届きます。
■ メイン回線で障害発生時の通信は以下のように行われます。
- センター/ISP間の通信ルート
センターのLAN側からISP宛に送出されたパケットは、VRRPマスタールーターであるルーターBのLAN側インターフェース(vlan1)を通り、NAT機能によりルーターBのppp0でプライベートアドレス(192.168.10.x/24)からppp0のグローバルアドレス(10.1.1.1/32)に変換されてISPへ届きます。
- センター/拠点間の通信ルート
センターのLAN側から拠点のLAN側宛に送出されたパケットは、VRRPマスタールーターであるルーターBのLAN側インターフェース(vlan1)から、ppp0上のIPsecトンネルを通ってプライベートアドレス(192.168.10.x/24)のままルーターCのLAN側インターフェース(vlan1)へ届きます。
同様に、ルーターCのLAN側からセンターのLAN側宛に送出されたパケットは、ルーターCのLAN側インターフェース(vlan1)から、ppp1上のIPsecトンネルを通ってプライベートアドレス(192.168.20.x/24)のままルーターBのLAN側インターフェース(vlan1)へ届きます。
- 拠点/ISP間の通信ルート
ルーターCのLAN側からISP宛に送出されたパケットは、ルーターCのLAN側インターフェース(vlan1)から、ppp1上のIPsecトンネルを通ってプライベートアドレス(192.168.20.x/24)のままルーターBのWAN側インターフェース(ppp0)へ届き、NAT機能によりルーターBのppp0でプライベートアドレス(192.168.20.x/24)からppp0のグローバルアドレス(10.1.1.1/32)に変換されてISPへ届きます。
■ ルーターAのLAN側で障害発生時の通信は以下のように行われます。
- センター/ISP間の通信ルート
センターのLAN側からISP宛に送出されたパケットは、VRRPマスタールーターであるルーターBのLAN側インターフェース(vlan1)を通り、NAT機能によりルーターBのppp0でプライベートアドレス(192.168.10.x/24)からppp0のグローバルアドレス(10.1.1.1/32)に変換されてISPへ届きます。
- センター/拠点間の通信ルート
センターのLAN側から拠点のLAN側宛に送出されたパケットは、VRRPマスタールーターであるルーターBのLAN側インターフェース(vlan1)からルーターAのeth2に転送され、ルーターAのppp0上のIPsecトンネルを通ってプライベートアドレス(192.168.10.x/24)のままルーターCのLAN側インターフェース(vlan1)へ届きます。
同様に、ルーターCのLAN側からセンターのLAN側宛に送出されたパケットは、ルーターCのLAN側インターフェース(vlan1)から、ppp0上のIPsecトンネルを通ってルーターBのeth2に転送され、プライベートアドレス(192.168.20.x/24)のままルーターBのLAN側インターフェース(vlan1)へ届きます。
- 拠点/ISP間の通信ルート
ルーターCのLAN側からISP宛に送出されたパケットは、ルーターCのLAN側インターフェース(vlan1)からppp0上のIPsecトンネルを通って、プライベートアドレス(192.168.20.x/24)のままルーターBのeth2に転送され、NAT機能によりルーターBのppp0でプライベートアドレス(192.168.20.x/24)からppp0のグローバルアドレス(10.1.1.1/32)に変換されてISPへ届きます。
■ ルーターA、ルーターB間のethインターフェースで障害発生時の通信は以下のように行われます。
- センター/ISP間の通信ルート
センターのLAN側からISP宛に送出されたパケットは、VRRPマスタールーターであるルーターBのLAN側インターフェース(vlan1)を通り、NAT機能によりルーターBのppp0でプライベートアドレス(192.168.10.x/24)からppp0のグローバルアドレス(10.1.1.1/32)に変換されてISPへ届きます。
- センター/拠点間の通信ルート
センターのLAN側から拠点のLAN側宛に送出されたパケットは、VRRPマスタールーターであるルーターBのLAN側インターフェース(vlan1)から、ppp0上のIPsecトンネルを通ってプライベートアドレス(192.168.10.x/24)のままルーターCのLAN側インターフェース(vlan1)へ届きます。
同様に、ルーターCのLAN側からセンターのLAN側宛に送出されたパケットは、ルーターCのLAN側インターフェース(vlan1)から、ppp1上のIPsecトンネルを通ってプライベートアドレス(192.168.20.x/24)のままルーターBのLAN側インターフェース(vlan1)へ届きます。
- 拠点/ISP間の通信ルート
ルーターCのLAN側からISP宛に送出されたパケットは、ルーターCのLAN側インターフェース(vlan1)から、ppp1上のIPsecトンネルを通ってプライベートアドレス(192.168.20.x/24)のままルーターBのWAN側インターフェース(ppp0)へ届き、NAT機能によりルーターBのppp0でプライベートアドレス(192.168.20.x/24)からppp0のグローバルアドレス(10.1.1.1/32)に変換されてISPへ届きます。
設定開始前に
自動設定の確認と削除
本設定例に掲載されているコマンドは、設定がまったく行われていない本製品の初期状態(スタートアップコンフィグなしで起動した状態)から入力することを前提としています。
そのため、通常は erase startup-config を実行し、スタートアップコンフィグが存在しない状態で起動してから、設定を始めてください。
ただし、本製品はスタートアップコンフィグなしで起動した場合でも、特定の条件を満たすと自動的な設定を行うことがあるため、その場合は設定例にしたがってコマンドを入力しても、コマンドがエラーになったり、全体として意図した動作にならない可能性があります。
これを避けるため、設定開始にあたっては次のいずれかの方法をとることをおすすめします。
- ネットワークケーブルを接続せずに起動する。
起動時に自動設定が実行されるための条件の一つに、特定インターフェースのリンクアップがあります。
ネットワークケーブルを接続しない状態で起動することにより、自動設定の適用を回避できます。
- 自動設定を手動で削除してから設定を行う。
前記の方法を採用できず自動設定が適用されてしまった場合は、「自動的な設定内容の削除」にしたがって、これらを手動で削除してから設定を開始してください。
自動設定が行われる条件などの詳細については、AMF応用編のAMFネットワーク未検出時の拡張動作をご参照ください。
システム時刻の設定
ログなどの記録日時を正確に保ち、各種機能を適切に動作させるため、システム時刻は正確にあわせて運用することをおすすめします。
ご使用の環境にあわせ、次のいずれかの方法でシステム時刻を設定してください。
ルーターAの設定
- LANポートにおいて初期状態で有効化されているスパニングツリープロトコル(RSTP)を無効化します。これにはspanning-tree enableコマンドをno形式で実行します。
スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」をご覧ください。
no spanning-tree rstp enable
- WANポートeth1上にPPPoEインターフェースppp0を作成します。これには、encapsulation pppコマンドを使います。
PPPの詳細は「PPP」/「一般設定」をご覧ください。
interface eth1
encapsulation ppp 0
- PPPインターフェースppp0に対し、PPPoE接続のための設定を行います。
・LCP EchoによるPPP接続状態の確認(keepalive)
・IPCPによるIPアドレスの取得要求(ip address negotiated)
・ユーザー名(ppp username)
・パスワード(ppp password)
・MSS書き換え(ip tcp adjust-mss)
PPPの詳細は「PPP」/「一般設定」をご覧ください。
interface ppp0
keepalive
ip address negotiated
ppp username userA@cug
ppp password cugpasswdA
ip tcp adjust-mss pmtu
- VRRPバックアップルーターとの接続に使うeth2にIPアドレスを設定します。これにはip addressコマンドを使います。
IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。
interface eth2
ip address 172.16.100.1/24
- LAN側インターフェースvlan1にIPアドレスを設定します。これにはip addressコマンドを使います。
IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。
interface vlan1
ip address 192.168.10.253/24
- 対向ルーターとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。
crypto isakmp key secret1 address 10.0.0.2
- IPsecの通信方式を規定するIPsecプロファイルを作成します。
IPsecプロファイルの詳細は「VPN」/「IPsec」をご覧ください。
ここでは、crypto ipsec profileコマンドでIPsecプロファイルを作成し、以下の情報を設定します。
・SA有効期間(lifetime)
・アルゴリズム(transform)
crypto ipsec profile ipsec1
lifetime seconds 3600
transform 1 protocol esp integrity SHA1 encryption AES128
- ISAKMPの通信方式を規定するISAKMPプロファイルを作成します。
ISAKMPプロファイルの詳細は「VPN」/「IPsec」をご覧ください。
ここでは、crypto isakmp profileコマンドでISAKMPプロファイルを作成し、以下の情報を設定します。
・IKEバージョン(version)
・SA有効期間(lifetime)
・アルゴリズム(transform)
crypto isakmp profile isakmp1
version 1 mode main
lifetime 3600
transform 1 integrity SHA1 encryption AES128 group 2
- 対向ルーターとの間で使用するISAKMPプロファイルを指定します。これにはcrypto isakmp peerコマンドを使います。
crypto isakmp peer address 10.0.0.2 profile isakmp1
- IPsecトンネルインターフェースtunnel0を作成します。
トンネルインターフェースの詳細は「VPN」/「トンネルインターフェース」を、IPsecの詳細は「VPN」/「IPsec」をご覧ください。
これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
・トンネルインターフェースのMTU(mtu)
・トンネルインターフェースから送信するデリバリーパケットの始点(自装置)アドレス(tunnel source)
・トンネルインターフェースから送信するデリバリーパケットの終点(対向装置)アドレス(tunnel destination)
・トンネルインターフェースに対するIPsec保護の適用とIPsecプロファイルの指定(tunnel protection ipsec)
・トンネリング方式(tunnel mode ipsec)
・トンネルインターフェースのIPアドレス(ip address)
・トンネルインターフェースにおけるMSS書き換え設定(ip tcp adjust-mss)
interface tunnel0
mtu 1300
tunnel source ppp0
tunnel destination 10.0.0.2
tunnel protection ipsec profile ipsec1
tunnel mode ipsec ipv4
ip address 192.168.100.1/30
ip tcp adjust-mss 1260
- vlan1に対してVRRPの設定を行います。
これには、router vrrp、virtual-ip、priority、circuit-failover、enableの各コマンドを使います。
ルーターAは初期状態でマスタールーターとするため、優先度を初期値の100より高い101に設定しています。
また、ルーターA、B間(eth2)の接続が失われた場合は優先度を引き下げてバックアップルーターに移行するよう設定しています。
VRRPの詳細は「IP」/「VRRP」をご覧ください。
router vrrp 1 vlan1
virtual-ip 192.168.10.1 backup
priority 101
circuit-failover eth2 2
enable
- トンネルインターフェース tunnel0 経由での対向ルーターへの接続性を監視するPingポーリング「1」を作成します。
これには、ping-poll、ip、normal-interval、up-count、sample-size、activeの各コマンドを使います。
Pingポーリングの詳細は「IP付加機能」/「Pingポーリング」をご覧ください。
ping-poll 1
ip 10.0.0.2
normal-interval 10
up-count 5
sample-size 10
active
- Pingポーリングトリガーを作成します。
これには、trigger、type ping-poll、scriptの各コマンドを使います。
・trigger 1 - tunnel0 経由での対向ルーターへの接続性が失われた場合に、ISAKMP SAを削除し、eth2を無効にしてVRRPバックアップルーターに移行するpingdown.scpスクリプトを実行する
・trigger 2 - tunnel0 経由での対向ルーターへの接続性が回復した場合に、eth2を有効にしてVRRPのマスタールーターに復帰するpingup.scpスクリプトを実行する
トリガースクリプトの具体的内容は「トリガースクリプト」を、トリガーの詳細は「運用・管理」/「トリガー」をご覧ください。
trigger 1
type ping-poll 1 down
script 1 flash:/pingdown.scp
trigger 2
type ping-poll 1 up
script 1 flash:/pingup.scp
- IPの経路情報をスタティックに設定します。これにはip routeコマンドを使います。
・IPsecトンネルの対向ルーターへは ppp0 経由で接続。ただし、ppp0 が有効になるまでは、この経路を使用できないように設定
・LAN側インターフェースがダウンした場合に備え、内部ネットワーク(192.168.10.0/24)宛てのパケットを eth2 経由でルーターBに転送するバックアップ経路を設定
・リモート側の内部ネットワーク(192.168.20.0/24)へはIPsecトンネル tunnel0 経由。ただし、tunnel0 が有効になるまでは、この経路を使用できないように設定
・その他(0.0.0.0/0)は eth2 経由でルーターBに転送(デフォルト経路)。
IP経路設定の詳細は「IP」/「経路制御」をご覧ください。
ip route 0.0.0.0/0 172.16.100.2
ip route 10.0.0.2/32 ppp0
ip route 10.0.0.2/32 Null 254
ip route 192.168.10.0/24 172.16.100.2 10
ip route 192.168.20.0/24 tunnel0
ip route 192.168.20.0/24 Null 254
- 以上で設定は完了です。
end
ルーターBの設定
- LANポートにおいて初期状態で有効化されているスパニングツリープロトコル(RSTP)を無効化します。これにはspanning-tree enableコマンドをno形式で実行します。
スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」をご覧ください。
no spanning-tree rstp enable
- WANポートeth1上にPPPoEインターフェースppp0を作成します。これには、encapsulation pppコマンドを使います。
PPPの詳細は「PPP」/「一般設定」をご覧ください。
interface eth1
encapsulation ppp 0
- PPPインターフェースppp0に対し、PPPoE接続のための設定を行います。
・IPCPによるDNSサーバーアドレスの取得要求(ppp ipcp dns)
・LCP EchoによるPPP接続状態の確認(keepalive)
・IPCPによるIPアドレスの取得要求(ip address negotiated)
・ユーザー名(ppp username)
・パスワード(ppp password)
・MSS書き換え(ip tcp adjust-mss)
PPPの詳細は「PPP」/「一般設定」をご覧ください。
interface ppp0
ppp ipcp dns request
keepalive
ip address negotiated
ppp username user@ispB
ppp password isppasswdB
ip tcp adjust-mss pmtu
- VRRPマスタールーターとの接続に使うeth2にIPアドレスを設定します。これにはip addressコマンドを使います。
IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。
interface eth2
ip address 172.16.100.2/24
- LAN側インターフェースvlan1にIPアドレスを設定します。これにはip addressコマンドを使います。
IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。
interface vlan1
ip address 192.168.10.254/24
- ファイアウォールやNATのルール作成時に使うエンティティー(通信主体)を定義します。
エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。
内部ネットワークを表すゾーン「private」を作成します。
これには、zone、network、ip subnetの各コマンドを使います。
zone private
network lan
ip subnet 172.16.100.0/24
ip subnet 192.168.10.0/24
network peer
ip subnet 192.168.20.0/24
network tunnel
ip subnet 192.168.200.0/30
network vrrp
ip subnet 224.0.0.18/32
- 外部ネットワークを表すゾーン「public」を作成します。
前記コマンドに加え、ここではhost、ip addressの各コマンドも使います。
zone public
network wan
ip subnet 0.0.0.0/0 interface ppp0
host ppp0
ip address 10.1.1.1
- ファイアウォールやNATのルール作成時に通信内容を指定するために使う「アプリケーション」を定義します。
これには、application、protocol、sport、dportの各コマンドを使います。
アプリケーション定義の詳細は「UTM」/「アプリケーション定義」をご覧ください。
IPsecのESPパケットを表すカスタムアプリケーション「esp」を定義します。
application esp
protocol 50
- ISAKMPパケットを表すカスタムアプリケーション「isakmp」を定義します。
application isakmp
protocol udp
sport 500
dport 500
- 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
これには、firewall、rule、protectの各コマンドを使います。
・rule 10 - 内部から内部への通信を許可します
・rule 20 - 内部から外部への通信を許可します
・rule 30, 40 - ISAKMPパケットを許可します
・rule 50, 60 - IPsec(ESP)パケットを許可します
ファイアウォールの詳細は「UTM」/「ファイアウォール」をご覧ください。
firewall
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit isakmp from public.wan.ppp0 to public.wan
rule 40 permit isakmp from public.wan to public.wan.ppp0
rule 50 permit esp from public.wan.ppp0 to public.wan
rule 60 permit esp from public.wan to public.wan.ppp0
protect
- LAN側ネットワークに接続されているすべてのコンピューターがダイナミックENAT機能を使用できるよう設定します。
これには、nat、rule、enableの各コマンドを使います。
NATの詳細は「UTM」/「NAT」をご覧ください。
nat
rule 10 masq any from private to public
enable
- 対向ルーターとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。
crypto isakmp key secret2 hostname RouterC
- IPsecの通信方式を規定するIPsecプロファイルを作成します。
IPsecプロファイルの詳細は「VPN」/「IPsec」をご覧ください。
ここでは、crypto ipsec profileコマンドでIPsecプロファイルを作成し、以下の情報を設定します。
・SA有効期間(lifetime)
・アルゴリズム(transform)
crypto ipsec profile ipsec1
lifetime seconds 3600
transform 1 protocol esp integrity SHA1 encryption AES128
- ISAKMPの通信方式を規定するISAKMPプロファイルを作成します。
ISAKMPプロファイルの詳細は「VPN」/「IPsec」をご覧ください。
ここでは、crypto isakmp profileコマンドでISAKMPプロファイルを作成し、以下の情報を設定します。
・IKEバージョン(version)
・SA有効期間(lifetime)
・アルゴリズム(transform)
crypto isakmp profile isakmp1
version 1 mode aggressive
lifetime 3600
transform 1 integrity SHA1 encryption AES128 group 2
- 対向ルーターとの間で使用するISAKMPプロファイルを指定します。これにはcrypto isakmp peerコマンドを使います。
キーワードdynamicは、IPアドレスが不定なすべての対向ルーターを意味しています。
crypto isakmp peer dynamic profile isakmp1
- IPsecトンネルインターフェースtunnel0を作成します。
トンネルインターフェースの詳細は「VPN」/「トンネルインターフェース」を、IPsecの詳細は「VPN」/「IPsec」をご覧ください。
これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
・トンネルインターフェースのMTU(mtu)
・トンネルインターフェースから送信するデリバリーパケットの始点(自装置)アドレス(tunnel source)
・トンネルインターフェースから送信するデリバリーパケットの終点(対向装置)アドレス(tunnel destination)
・トンネルインターフェースにおける対向装置ID(リモートID)(tunnel remote name)
・トンネルインターフェースに対するIPsec保護の適用とIPsecプロファイルの指定(tunnel protection ipsec)
・トンネリング方式(tunnel mode ipsec)
・トンネルインターフェースのIPアドレス(ip address)
・トンネルインターフェースにおけるMSS書き換え設定(ip tcp adjust-mss)
interface tunnel0
mtu 1300
tunnel source ppp0
tunnel destination dynamic
tunnel remote name RouterC
tunnel protection ipsec profile ipsec1
tunnel mode ipsec ipv4
ip address 192.168.200.1/30
ip tcp adjust-mss 1260
- vlan1に対してVRRPの設定を行います。
これには、router vrrp、virtual-ip、enableの各コマンドを使います。
ルーターBは初期状態でバックアップルーターとするため、優先度を初期値の100のままとします。
VRRPの詳細は「IP」/「VRRP」をご覧ください。
router vrrp 1 vlan1
virtual-ip 192.168.10.1 backup
enable
- IPの経路情報をスタティックに設定します。これにはip routeコマンドを使います。
・リモート側の内部ネットワーク(192.168.20.0/24)へは通常 eth2 経由でルーターAに転送するが、ルーターAとの接続(eth2)がダウンした場合は、IPsecトンネル tunnel0 経由に切り替える。ただし、tunnel0 が有効になるまでは、この経路を使用できないように設定
・その他(0.0.0.0/0)は ppp0 経由(デフォルト経路)
IP経路設定の詳細は「IP」/「経路制御」をご覧ください。
ip route 0.0.0.0/0 ppp0
ip route 192.168.20.0/24 172.16.100.1
ip route 192.168.20.0/24 tunnel0 10
ip route 192.168.20.0/24 Null 254
- 以上で設定は完了です。
end
ルーターCの設定
- LANポートにおいて初期状態で有効化されているスパニングツリープロトコル(RSTP)を無効化します。これにはspanning-tree enableコマンドをno形式で実行します。
スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」をご覧ください。
no spanning-tree rstp enable
- WANポートeth1上にPPPoEインターフェースppp0を作成します。これには、encapsulation pppコマンドを使います。
PPPの詳細は「PPP」/「一般設定」をご覧ください。
interface eth1
encapsulation ppp 0
- PPPインターフェースppp0に対し、PPPoE接続のための設定を行います。
・LCP EchoによるPPP接続状態の確認(keepalive)
・IPCPによるIPアドレスの取得要求(ip address negotiated)
・ユーザー名(ppp username)
・パスワード(ppp password)
・MSS書き換え(ip tcp adjust-mss)
PPPの詳細は「PPP」/「一般設定」をご覧ください。
interface ppp0
keepalive
ip address negotiated
ppp username userC@cug
ppp password cugpasswdC
ip tcp adjust-mss pmtu
- USB型データ通信端末cellular0上にPPPインターフェースppp1を作成し、アクセスポイント名(APN)と呼ばれる接続先情報を設定します。これには、encapsulation pppコマンドとapnコマンドを使います。
PPPの詳細は「PPP」/「一般設定」をご覧ください。
interface cellular0
encapsulation ppp 1
apn testname.alliedtelesis
- PPPインターフェースppp1に対し、PPP接続のための設定を行います。
・LCP EchoによるPPP接続状態の確認(keepalive)
・IPCPによるIPアドレスの取得要求(ip address negotiated)
・ユーザー名(ppp username)
・パスワード(ppp password)
・無通信時の自動切断とオンデマンド接続の有効化(ppp timeout idle)
・MSS書き換え(ip tcp adjust-mss)
PPPの詳細は「PPP」/「一般設定」をご覧ください。
interface ppp1
keepalive
ip address negotiated
ppp username user@ispC
ppp password isppasswdC
ppp timeout idle 300
ip tcp adjust-mss pmtu
- LAN側インターフェースvlan1にIPアドレスを設定します。これにはip addressコマンドを使います。
IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。
interface vlan1
ip address 192.168.20.1/24
- ファイアウォールやNATのルール作成時に使うエンティティー(通信主体)を定義します。
エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。
内部ネットワークを表すゾーン「private」を作成します。
これには、zone、network、ip subnetの各コマンドを使います。
zone private
network lan
ip subnet 192.168.20.0/24
network peer
ip subnet 0.0.0.0/0 interface tunnel0
ip subnet 0.0.0.0/0 interface tunnel1
ip subnet 192.168.10.0/24
- 外部ネットワークを表すゾーン「public」を作成します。
前記コマンドに加え、ここではhost、ip addressの各コマンドも使います。
zone public
network wan
ip subnet 0.0.0.0/0 interface ppp0
ip subnet 0.0.0.0/0 interface ppp1
host ppp0
ip address 10.0.0.2
host ppp1
ip address dynamic interface ppp1
host RouterA
ip address 10.0.0.1
- ファイアウォールやNATのルール作成時に通信内容を指定するために使う「アプリケーション」を定義します。
これには、application、protocol、sport、dportの各コマンドを使います。
アプリケーション定義の詳細は「UTM」/「アプリケーション定義」をご覧ください。
IPsecのESPパケットを表すカスタムアプリケーション「esp」を定義します。
application esp
protocol 50
- ISAKMPパケットを表すカスタムアプリケーション「isakmp」を定義します。
application isakmp
protocol udp
sport 500
dport 500
- 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
これには、firewall、rule、protectの各コマンドを使います。
・rule 10 - 内部から内部への通信を許可します
・rule 20 - 内部から外部への通信を許可します
・rule 30, 40, 50, 60 - ISAKMPパケットを許可します
・rule 70, 80, 90, 100 - IPsec(ESP)パケットを許可します
・rule 110, 120 - Pingポーリングパケットを許可します
ファイアウォールの詳細は「UTM」/「ファイアウォール」をご覧ください。
firewall
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit isakmp from public.wan.ppp0 to public.wan
rule 40 permit isakmp from public.wan to public.wan.ppp0
rule 50 permit isakmp from public.wan.ppp1 to public.wan
rule 60 permit isakmp from public.wan to public.wan.ppp1
rule 70 permit esp from public.wan.ppp0 to public.wan
rule 80 permit esp from public.wan to public.wan.ppp0
rule 90 permit esp from public.wan.ppp1 to public.wan
rule 100 permit esp from public.wan to public.wan.ppp1
rule 110 permit ping from public.wan.ppp0 to public.wan.RouterA
rule 120 permit ping from public.wan.RouterA to public.wan.ppp0
protect
- 対向ルーターとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。
crypto isakmp key secret1 address 10.0.0.1
crypto isakmp key secret2 address 10.1.1.1
- IPsecの通信方式を規定するIPsecプロファイルを作成します。
IPsecプロファイルの詳細は「VPN」/「IPsec」をご覧ください。
ここでは、crypto ipsec profileコマンドでIPsecプロファイルを作成し、以下の情報を設定します。
・SA有効期間(lifetime)
・アルゴリズム(transform)
crypto ipsec profile ipsec1
lifetime seconds 3600
transform 1 protocol esp integrity SHA1 encryption AES128
- ISAKMPの通信方式を規定するISAKMPプロファイルを作成します。
ISAKMPプロファイルの詳細は「VPN」/「IPsec」をご覧ください。
ここでは、crypto isakmp profileコマンドでISAKMPプロファイルを作成し、以下の情報を設定します。
・IKEバージョン(version)
・SA有効期間(lifetime)
・アルゴリズム(transform)
ISAKMPプロファイル「isakmp1」では IKEv1 Mainモードを使うよう設定します。
crypto isakmp profile isakmp1
version 1 mode main
lifetime 3600
transform 1 integrity SHA1 encryption AES128 group 2
- ISAKMPプロファイル「isakmp2」では IKEv1 Aggressiveモードを使うよう設定します。
crypto isakmp profile isakmp2
version 1 mode aggressive
lifetime 3600
transform 1 integrity SHA1 encryption AES128 group 2
- 対向ルーターとの間で使用するISAKMPプロファイルを指定します。これにはcrypto isakmp peerコマンドを使います。
crypto isakmp peer address 10.0.0.1 profile isakmp1
crypto isakmp peer address 10.1.1.1 profile isakmp2
- IPsecトンネルインターフェースtunnel0を作成します。
トンネルインターフェースの詳細は「VPN」/「トンネルインターフェース」を、IPsecの詳細は「VPN」/「IPsec」をご覧ください。
これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
・トンネルインターフェースのMTU(mtu)
・トンネルインターフェースから送信するデリバリーパケットの始点(自装置)アドレス(tunnel source)
・トンネルインターフェースから送信するデリバリーパケットの終点(対向装置)アドレス(tunnel destination)
・トンネルインターフェースに対するIPsec保護の適用とIPsecプロファイルの指定(tunnel protection ipsec)
・トンネリング方式(tunnel mode ipsec)
・トンネルインターフェースのIPアドレス(ip address)
・トンネルインターフェースにおけるMSS書き換え設定(ip tcp adjust-mss)
interface tunnel0
mtu 1300
tunnel source ppp0
tunnel destination 10.0.0.1
tunnel protection ipsec profile ipsec1
tunnel mode ipsec ipv4
ip address 192.168.100.2/30
ip tcp adjust-mss 1260
- 同様にしてIPsecトンネルインターフェースtunnel1を作成します。
interface tunnel1
mtu 1300
tunnel source ppp1
tunnel destination 10.1.1.1
tunnel local name RouterC
tunnel protection ipsec profile ipsec1
tunnel mode ipsec ipv4
ip address 192.168.200.2/30
ip tcp adjust-mss 1260
- トンネルインターフェース tunnel0 経由でルーターA・B間の eth2 接続を確認することにより、tunnel0 経由での対向ルーターへの接続性と、センター側のルーターAがVRRPマスタールーターとして動作しているかどうかを監視するPingポーリング「1」を作成します。
これには、ping-poll、ip、source-ip、normal-interval、up-count、sample-size、activeの各コマンドを使います。
Pingポーリングの詳細は「IP付加機能」/「Pingポーリング」をご覧ください。
ping-poll 1
ip 172.16.100.2
source-ip 192.168.20.1
normal-interval 10
up-count 5
sample-size 10
active
- 同様にトンネルインターフェース tunnel1 経由でルーターA・B間の eth2 接続を確認することにより、tunnel1 経由での対向ルーターへの接続性と、センター側のルーターAがVRRPマスタールーターに復帰したかどうかを監視するPingポーリング「2」を作成します。こちらは tunnel0 側の経路がダウンしたときにトリガー「1」によって自動的に有効化(active)されるため、初期状態では停止状態にしておきます。
ping-poll 2
ip 172.16.100.1
source-ip 192.168.20.1
normal-interval 10
up-count 5
sample-size 10
- Pingポーリングトリガーを作成します。
これには、trigger、type ping-poll、scriptの各コマンドを使います。
・trigger 1 - tunnel0 経由での対向ルーターへの接続性が失われた、あるいは、ルーターAがVRRPマスタールーターでなくなった場合に、tunnel1経由のルートに切り替えるpingdown.scpスクリプトを実行する
・trigger 2 - tunnel1 経由での対向ルーターへの接続性が失われた、あるいは、ルーターAがVRRPマスタールーターに復帰した場合に、tunnel0経由のルートに切り替えるpingup.scpスクリプトを実行する
トリガースクリプトの具体的内容は「トリガースクリプト」を、トリガーの詳細は「運用・管理」/「トリガー」をご覧ください。
trigger 1
type ping-poll 1 down
script 1 flash:/pingdown.scp
trigger 2
type ping-poll 2 up
script 1 flash:/pingup.scp
- IPの経路情報をスタティックに設定します。これにはip routeコマンドを使います。
・IPsecトンネルtunnel0の対向ルーターへは ppp0 経由で接続。ただし、ppp0 が有効になるまでは、この経路を使用できないように設定
・IPsecトンネルtunnel1の対向ルーターへは、トリガーによって経路が登録されるまで通信できないように設定
・その他(0.0.0.0/0)は tunnel0 経由でルーターAに転送(デフォルト経路)。
IP経路設定の詳細は「IP」/「経路制御」をご覧ください。
ip route 0.0.0.0/0 tunnel0
ip route 10.0.0.1/32 ppp0
ip route 10.0.0.1/32 Null 254
ip route 10.1.1.1/32 Null 254
- 以上で設定は完了です。
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のコンフィグ
!
no spanning-tree rstp enable
!
interface eth1
encapsulation ppp 0
!
interface ppp0
keepalive
ip address negotiated
ppp username userA@cug
ppp password cugpasswdA
ip tcp adjust-mss pmtu
!
interface eth2
ip address 172.16.100.1/24
!
interface vlan1
ip address 192.168.10.253/24
!
crypto isakmp key secret1 address 10.0.0.2
!
crypto ipsec profile ipsec1
lifetime seconds 3600
transform 1 protocol esp integrity SHA1 encryption AES128
!
crypto isakmp profile isakmp1
version 1 mode main
lifetime 3600
transform 1 integrity SHA1 encryption AES128 group 2
!
crypto isakmp peer address 10.0.0.2 profile isakmp1
!
interface tunnel0
mtu 1300
tunnel source ppp0
tunnel destination 10.0.0.2
tunnel protection ipsec profile ipsec1
tunnel mode ipsec ipv4
ip address 192.168.100.1/30
ip tcp adjust-mss 1260
!
router vrrp 1 vlan1
virtual-ip 192.168.10.1 backup
priority 101
circuit-failover eth2 2
enable
!
ping-poll 1
ip 10.0.0.2
normal-interval 10
up-count 5
sample-size 10
active
!
trigger 1
type ping-poll 1 down
script 1 flash:/pingdown.scp
trigger 2
type ping-poll 1 up
script 1 flash:/pingup.scp
!
ip route 0.0.0.0/0 172.16.100.2
ip route 10.0.0.2/32 ppp0
ip route 10.0.0.2/32 Null 254
ip route 192.168.10.0/24 172.16.100.2 10
ip route 192.168.20.0/24 tunnel0
ip route 192.168.20.0/24 Null 254
!
end
ルーターBのコンフィグ
!
no spanning-tree rstp enable
!
interface eth1
encapsulation ppp 0
!
interface ppp0
ppp ipcp dns request
keepalive
ip address negotiated
ppp username user@ispB
ppp password isppasswdB
ip tcp adjust-mss pmtu
!
interface eth2
ip address 172.16.100.2/24
!
interface vlan1
ip address 192.168.10.254/24
!
zone private
network lan
ip subnet 172.16.100.0/24
ip subnet 192.168.10.0/24
network peer
ip subnet 192.168.20.0/24
network tunnel
ip subnet 192.168.200.0/30
network vrrp
ip subnet 224.0.0.18/32
!
zone public
network wan
ip subnet 0.0.0.0/0 interface ppp0
host ppp0
ip address 10.1.1.1
!
application esp
protocol 50
!
application isakmp
protocol udp
sport 500
dport 500
!
firewall
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit isakmp from public.wan.ppp0 to public.wan
rule 40 permit isakmp from public.wan to public.wan.ppp0
rule 50 permit esp from public.wan.ppp0 to public.wan
rule 60 permit esp from public.wan to public.wan.ppp0
protect
!
nat
rule 10 masq any from private to public
enable
!
crypto isakmp key secret2 hostname RouterC
!
crypto ipsec profile ipsec1
lifetime seconds 3600
transform 1 protocol esp integrity SHA1 encryption AES128
!
crypto isakmp profile isakmp1
version 1 mode aggressive
lifetime 3600
transform 1 integrity SHA1 encryption AES128 group 2
!
crypto isakmp peer dynamic profile isakmp1
!
interface tunnel0
mtu 1300
tunnel source ppp0
tunnel destination dynamic
tunnel remote name RouterC
tunnel protection ipsec profile ipsec1
tunnel mode ipsec ipv4
ip address 192.168.200.1/30
ip tcp adjust-mss 1260
!
router vrrp 1 vlan1
virtual-ip 192.168.10.1 backup
enable
!
ip route 0.0.0.0/0 ppp0
ip route 192.168.20.0/24 172.16.100.1
ip route 192.168.20.0/24 tunnel0 10
ip route 192.168.20.0/24 Null 254
!
end
ルーターCのコンフィグ
!
no spanning-tree rstp enable
!
interface eth1
encapsulation ppp 0
!
interface ppp0
keepalive
ip address negotiated
ppp username userC@cug
ppp password cugpasswdC
ip tcp adjust-mss pmtu
!
interface cellular0
encapsulation ppp 1
apn testname.alliedtelesis
!
interface ppp1
keepalive
ip address negotiated
ppp username user@ispC
ppp password isppasswdC
ppp timeout idle 300
ip tcp adjust-mss pmtu
!
interface vlan1
ip address 192.168.20.1/24
!
zone private
network lan
ip subnet 192.168.20.0/24
network peer
ip subnet 0.0.0.0/0 interface tunnel0
ip subnet 0.0.0.0/0 interface tunnel1
ip subnet 192.168.10.0/24
!
zone public
network wan
ip subnet 0.0.0.0/0 interface ppp0
ip subnet 0.0.0.0/0 interface ppp1
host ppp0
ip address 10.0.0.2
host ppp1
ip address dynamic interface ppp1
host RouterA
ip address 10.0.0.1
!
application esp
protocol 50
!
application isakmp
protocol udp
sport 500
dport 500
!
firewall
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit isakmp from public.wan.ppp0 to public.wan
rule 40 permit isakmp from public.wan to public.wan.ppp0
rule 50 permit isakmp from public.wan.ppp1 to public.wan
rule 60 permit isakmp from public.wan to public.wan.ppp1
rule 70 permit esp from public.wan.ppp0 to public.wan
rule 80 permit esp from public.wan to public.wan.ppp0
rule 90 permit esp from public.wan.ppp1 to public.wan
rule 100 permit esp from public.wan to public.wan.ppp1
rule 110 permit ping from public.wan.ppp0 to public.wan.RouterA
rule 120 permit ping from public.wan.RouterA to public.wan.ppp0
protect
!
crypto isakmp key secret1 address 10.0.0.1
crypto isakmp key secret2 address 10.1.1.1
!
crypto ipsec profile ipsec1
lifetime seconds 3600
transform 1 protocol esp integrity SHA1 encryption AES128
!
crypto isakmp profile isakmp1
version 1 mode main
lifetime 3600
transform 1 integrity SHA1 encryption AES128 group 2
!
crypto isakmp profile isakmp2
version 1 mode aggressive
lifetime 3600
transform 1 integrity SHA1 encryption AES128 group 2
!
crypto isakmp peer address 10.0.0.1 profile isakmp1
crypto isakmp peer address 10.1.1.1 profile isakmp2
!
interface tunnel0
mtu 1300
tunnel source ppp0
tunnel destination 10.0.0.1
tunnel protection ipsec profile ipsec1
tunnel mode ipsec ipv4
ip address 192.168.100.2/30
ip tcp adjust-mss 1260
!
interface tunnel1
mtu 1300
tunnel source ppp1
tunnel destination 10.1.1.1
tunnel local name RouterC
tunnel protection ipsec profile ipsec1
tunnel mode ipsec ipv4
ip address 192.168.200.2/30
ip tcp adjust-mss 1260
!
ping-poll 1
ip 172.16.100.2
source-ip 192.168.20.1
normal-interval 10
up-count 5
sample-size 10
active
!
ping-poll 2
ip 172.16.100.1
source-ip 192.168.20.1
normal-interval 10
up-count 5
sample-size 10
!
trigger 1
type ping-poll 1 down
script 1 flash:/pingdown.scp
trigger 2
type ping-poll 2 up
script 1 flash:/pingup.scp
!
ip route 0.0.0.0/0 tunnel0
ip route 10.0.0.1/32 ppp0
ip route 10.0.0.1/32 Null 254
ip route 10.1.1.1/32 Null 254
!
end
ルーターAのトリガースクリプト
■ pingdown.scp
enable
clear isakmp sa
configure terminal
interface eth2
shutdown
end
■ pingup.scp
enable
configure terminal
interface eth2
no shutdown
end
ルーターCのトリガースクリプト
■ pingdown.scp
enable
configure terminal
no ip route 0.0.0.0/0 tunnel0
ip route 10.1.1.1/32 ppp1
ip rou 0.0.0.0/0 tunnel1
ping-poll 2
active
exit
ping-poll 1
no active
end
clear isakmp sa
■ pingup.scp
enable
configure terminal
ip route 0.0.0.0/0 tunnel0
no ip route 10.1.1.1/32 ppp1
no ip rou 0.0.0.0/0 tunnel1
ping-poll 1
active
ping-poll 2
no active
end
clear isakmp sa
(C) 2015 - 2020 アライドテレシスホールディングス株式会社
PN: 613-002107 Rev.AH