! ! ! 特権ユーザモードに移行します。 ! Router> enable Enter password: super ←パスワードを入力します。(実際は表示されない) Router# ! ! ! 基本設定モードに移行します。 ! Router# configure terminal Router(config)# ! ! ! LAN 側 IP アドレスを設定します。 ! Router(config)# interface lan 1 Router(config-if lan 1)# ip address 192.168.100.254 255.255.255.0 Router(config-if lan 1)# exit ! ! ! PPPoE の各種設定をします。 ! Router(config)# interface pppoe 1 Router(config-if pppoe 1)# ip address 200.200.200.1 Router(config-if pppoe 1)# pppoe server Flets Router(config-if pppoe 1)# pppoe account abc123@furukawa.co.jp pass456 Router(config-if pppoe 1)# exit ! ! ! VPN 機能を有効にします。 ! Router(config)# vpn enable ! ! ! VPN 通信の詳細なログを残すようにします。 ! Router(config)# vpnlog enable ! ! ! 拠点 1 用の Phase 1 ポリシーの設定を行ないます。 ! Router(config)# crypto isakmp policy 1 Router(config-isakmp)# authentication prekey Router(config-isakmp)# encryption aes 128 Router(config-isakmp)# group 2 Router(config-isakmp)# hash sha Router(config-isakmp)# keepalive always-send Router(config-isakmp)# key ascii secret-vpn Router(config-isakmp)# negotiation-mode aggressive Router(config-isakmp)# peer-identity host kyoten@nagoya Router(config-isakmp)# tunnel-route interface pppoe 1 *1 ! Phase 1 のネゴパケットの受信を契機に、nexthop を pppoe 1 として ! 拠点の peer 宛のルートを登録します。 Router(config-isakmp)# exit ! ! ! 拠点 2 用の Phase 1 ポリシーの設定を行ないます。 ! Router(config)# crypto isakmp policy 2 Router(config-isakmp)# authentication prekey Router(config-isakmp)# encryption aes 128 Router(config-isakmp)# group 2 Router(config-isakmp)# hash sha Router(config-isakmp)# keepalive always-send Router(config-isakmp)# key ascii secret-vpn Router(config-isakmp)# negotiation-mode aggressive Router(config-isakmp)# peer-identity host kyoten@oosaka Router(config-isakmp)# tunnel-route interface pppoe 1 Router(config-isakmp)# exit ! ! ! Phase 2 ポリシーの設定を行ないます。 ! Router(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac ! ! ! 拠点 1 用の VPN セレクタの設定を行ないます。 ! Router(config)# ipsec access-list 10 ipsec ip any any ! Router(config)# crypto map nagoya 1 Router(config-crypto-map)# match address 10 Router(config-crypto-map)# set peer host kyoten@nagoya Router(config-crypto-map)# set transform-set P2-POLICY Router(config-crypto-map)# exit ! ! ! 拠点 2 用の VPN セレクタの設定を行ないます。 ! Router(config)# ipsec access-list 11 ipsec ip any any ! Router(config)# crypto map oosaka 2 Router(config-crypto-map)# match address 11 Router(config-crypto-map)# set peer host kyoten@oosaka Router(config-crypto-map)# set transform-set P2-POLICY Router(config-crypto-map)# exit ! ! ! 拠点 1 用の IPsec インターフェースの設定をします。 ! Router(config)# interface ipsecif 1 Router(config-if ipsecif 1)# crypto map nagoya Router(config-if ipsecif 1)# exit ! ! ! 拠点 2 用の IPsec インターフェースの設定をします。 ! Router(config)# interface ipsecif 2 Router(config-if ipsecif 2)# crypto map oosaka Router(config-if ipsecif 2)# exit ! ! ! 各拠点のネットワーク向けのルートを設定します。 ! Router(config)# ip route 192.168.1.0 255.255.255.0 connected ipsecif 1 Router(config)# ip route 192.168.2.0 255.255.255.0 connected ipsecif 2 ! ! ! ダイナミック DNS サーバの設定をします。*2 ! Router(config)# ddns-server enable Router(config)# ddns-server accept-fqdn type v4 nagoya.branch.jp password ngy lifetime 86400 *3 *4 Router(config)# ddns-server accept-fqdn type v4 oosaka.branch.jp password osk lifetime 86400 *3 *4 ! ここで登録したレコードに合致した登録要求のみ受け入れを許可します。 Router(config)# ddns-server logging address-changes ! ! ! ProxyDNS 機能の設定をします。*5 ! 各拠点からの名前解決要求に応答するために必須の設定となります。 ! Router(config)# proxydns mode v4 ! ! ! 特権ユーザモードに戻ります。 ! Router(config)# end ! ! ! 設定を保存します。 ! Router# save SIDE-A.cfg % saving working-config % finished saving Router# ! ! ! 設定を有効にするために再起動します。 ! Router# reset Are you OK to cold start?(y/n) y
*1 | : | pppoe 1 ではなく、ewan 1 でアドレスをマニュアル設定している場合は、次のように明示的に nexthop のアドレスを設定する必要があります。
|
*2 | : | F100 の場合、http-server shutdown で HTTP サーバ機能を停止してあると、ダイナミック DNS サーバ機能を利用することができません。 |
*3 | : | FQDN は大文字、小文字の区別はされません。 |
*4 | : | ライフタイムは拠点からの登録インターバルより大きな値に設定しておく必要があります。 |
*5 | : | F100/F1000 V02.06(00) で応答バケットについては、問い合わせを受けたアドレスを送信元とするようにしました(これより前のファームでは、実際に応答パケットを送信するインターフェースのアドレスを、送信元アドレスとしていました。そのため、今回のように、各拠点向けの送信インターフェースとなるのが ipsecif だと、unnumbered のインターフェースのため、アドレスを付けることができず、パケットを送信することができませんでした)。 なお、proxydns default source-interface の設定は、上位の DNS サーバに問い合わせに行く場合の送信元アドレスにのみ適用され、応答パケットについては適用されません。 |
! ! ! 特権ユーザモードに移行します。 ! Router> enable Enter password: super ←パスワードを入力します。(実際は表示されない) Router# ! ! ! 基本設定モードに移行します。 ! Router# configure terminal Router(config)# ! ! ! LAN 側 IP アドレスを設定します。 ! Router(config)# interface lan 1 Router(config-if lan 1)# ip address 192.168.1.254 255.255.255.0 Router(config-if lan 1)# exit ! ! ! PPPoE の各種設定をします。 ! Router(config)# interface pppoe 1 Router(config-if pppoe 1)# pppoe server Flets Router(config-if pppoe 1)# pppoe account abc456@furukawa.co.jp pass789 Router(config-if pppoe 1)# exit ! ! ! VPN 機能を有効にします。 ! Router(config)# vpn enable ! ! ! VPN 通信の詳細なログを残すようにします。 ! Router(config)# vpnlog enable ! ! ! センター用の Phase 1 ポリシーの設定を行ないます。 ! Router(config)# crypto isakmp policy 1 Router(config-isakmp)# authentication prekey Router(config-isakmp)# encryption aes 128 Router(config-isakmp)# group 2 Router(config-isakmp)# hash sha Router(config-isakmp)# keepalive always-send Router(config-isakmp)# key ascii secret-vpn Router(config-isakmp)# my-identity kyoten@nagoya Router(config-isakmp)# negotiation-mode aggressive Router(config-isakmp)# peer-identity address 200.200.200.1 Router(config-isakmp)# exit ! ! ! 拠点 2 用の Phase 1 ポリシーの設定を行ないます。 ! Router(config)# crypto isakmp policy 2 Router(config-isakmp)# authentication prekey Router(config-isakmp)# encryption aes 128 Router(config-isakmp)# group 2 Router(config-isakmp)# hash sha Router(config-isakmp)# keepalive always-send Router(config-isakmp)# key ascii secret-vpn Router(config-isakmp)# my-identity kyoten@nagoya Router(config-isakmp)# negotiation-mode aggressive Router(config-isakmp)# peer-identity address oosaka.branch.jp ! アドレス不定の対向の peer を FQDN で指定します。 Router(config-isakmp)# peer-identity host kyoten@oosaka Router(config-isakmp)# exit ! ! ! Phase 2 ポリシーの設定を行ないます。 ! Router(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac ! ! ! センター用の VPN セレクタの設定を行ないます。 ! Router(config)# ipsec access-list 10 ipsec ip any any ! Router(config)# crypto map tokyo 1 Router(config-crypto-map)# match address 10 Router(config-crypto-map)# set peer address 200.200.200.1 Router(config-crypto-map)# set security-association always-up *6 Router(config-crypto-map)# set transform-set P2-POLICY Router(config-crypto-map)# exit ! ! ! 拠点 2 用の VPN セレクタの設定を行ないます。 ! Router(config)# ipsec access-list 11 ipsec ip any any ! Router(config)# crypto map oosaka 2 Router(config-crypto-map)# match address 11 Router(config-crypto-map)# set peer address oosaka.branch.jp Router(config-crypto-map)# set peer host kyoten@oosaka Router(config-crypto-map)# set transform-set P2-POLICY Router(config-crypto-map)# exit ! ! ! センター用の IPsec インターフェースの設定をします。*6 ! Router(config)# interface ipsecif 1 Router(config-if ipsecif 1)# crypto map tokyo Router(config-if ipsecif 1)# exit ! ! ! 拠点 2 用の IPsec インターフェースの設定をします。 ! Router(config)# interface ipsecif 2 Router(config-if ipsecif 2)# crypto map oosaka Router(config-if ipsecif 2)# exit ! ! ! センターのピアに対するルートを設定します。*7 ! Router(config)# ip route 200.200.200.1 255.255.255.255 pppoe 1 ! ! ! デフォルトルートを設定します。拠点 2 のピアに対するルートとなります。*8 ! Router(config)# ip route 0.0.0.0 0.0.0.0 pppoe 1 ! ! ! センターと拠点 2 のネットワーク向けのルートを設定します。 ! Router(config)# ip route 192.168.100.0 255.255.255.0 connected ipsecif 1 *6 Router(config)# ip route 192.168.2.0 255.255.255.0 connected ipsecif 2 ! ! ! ダイナミック DNS クライアントの設定をします。 ! Router(config)# http-client 1 Router(config-http-client 1)# method 1 get url http://192.168.100.254/cgi-bin/ddns-v4.cgi dn nagoya.branch.jp i4 $i4 pw ngy ! 自身の FQDN をセンターの F100 に登録します。登録要求するパラメータは ! dni4 ! アドレスとして $i4 を指定すると、次の reference-interface で指定した ! インターフェースの IPv4 アドレスが参照されます。 Router(config-http-client 1)# reference-interface pppoe 1 ! 上の $i4 として pppoe 1 のアドレスを指定します。 Router(config-http-client 1)# request-timeout 10 retry 5 ! 登録要求に対して応答が 10 秒以内になかった場合、5 回までリトライするようにします。 Router(config-http-client 1)# source-interface lan 1 Router(config-http-client 1)# logging error Router(config-http-client 1)# exit ! ! ! ダイナミック DNS サーバに登録に行くタイミングを指定します。 ! Router(config)# interface pppoe 1 Router(config-if pppoe 1)# ddns-client address ip action http-client 1 delay 30 interval 300 *9 ! アドレスに変更があった場合、30 秒待ってから再登録しに行きます。 ! また、300 秒間隔で定期的に登録に行きます。 Router(config-if pppoe 1)# exit ! ! ! DNS リゾルバの設定をします。 ! 対向の peer の FQDN を名前解決する必要があるので必須の設定となります。 ! Router(config)# ip name-server 192.168.100.254 ! name server としてセンターの F100 を指定します。 Router(config)# ip name-server source-interface lan 1 ! ! ! 特権ユーザモードに戻ります。 ! Router(config)# end ! ! ! 設定を保存します。 ! Router# save SIDE-A.cfg % saving working-config % finished saving Router# ! ! ! 設定を有効にするために再起動します。 ! Router# reset Are you OK to cold start?(y/n) ypw <パスワード> のように記述します。
*6 | : | crypto map に set security-association always-up の設定がある場合、その crypto map に結び付けられた ipsecif は Phase 2 SA の有無に応じて up/down します(設定がない場合は、Phase 2 SA の有無にかかわらず、常に up となります)。 今回の例では bypass 設定がないので、その心配はありませんが、デフォルトルートが pppoe に向いていて bypass 設定がある場合、センター向けの Phase 2 SA ができていないと、ipsecif 向けのルートが有効にならず、センター宛の通信がデフォルトルートに従って、平文のままインターネットに出て行くことになります。この場合、下記のような優先度を下げた null ルートを設定しておくことで、これを防止することができます。
|
*7 | : | デフォルトルートに包含されるので、省略可能ですが、重要なルート情報なので、ここでは明示的に設定しています。 |
*8 | : | 対向の peer のアドレスが不定なので、initiator となるにはデフォルトルートを拠点 2 の peer に向けておくことが必須となります。 |
*9 | : | ダイナミック DNS サーバ側のライフタイムが満了する前に再登録しに行く必要があります。 |
! ! ! 特権ユーザモードに移行します。 ! Router> enable Enter password: super ←パスワードを入力します。(実際は表示されない) Router# ! ! ! 基本設定モードに移行します。 ! Router# configure terminal Router(config)# ! ! ! LAN 側 IP アドレスを設定します。 ! Router(config)# interface lan 1 Router(config-if lan 1)# ip address 192.168.2.254 255.255.255.0 Router(config-if lan 1)# exit ! ! ! PPPoE の各種設定をします。 ! Router(config)# interface pppoe 1 Router(config-if pppoe 1)# pppoe server Flets Router(config-if pppoe 1)# pppoe account abc789@furukawa.co.jp pass456 Router(config-if pppoe 1)# exit ! ! ! VPN 機能を有効にします。 ! Router(config)# vpn enable ! ! ! VPN 通信の詳細なログを残すようにします。 ! Router(config)# vpnlog enable ! ! ! センター用の Phase 1 ポリシーの設定を行ないます。 ! Router(config)# crypto isakmp policy 1 Router(config-isakmp)# authentication prekey Router(config-isakmp)# encryption aes 128 Router(config-isakmp)# group 2 Router(config-isakmp)# hash sha Router(config-isakmp)# keepalive always-send Router(config-isakmp)# key ascii secret-vpn Router(config-isakmp)# my-identity kyoten@oosaka Router(config-isakmp)# negotiation-mode aggressive Router(config-isakmp)# peer-identity address 200.200.200.1 Router(config-isakmp)# exit ! ! ! 拠点 1 用の Phase 1 ポリシーの設定を行ないます。 ! Router(config)# crypto isakmp policy 2 Router(config-isakmp)# authentication prekey Router(config-isakmp)# encryption aes 128 Router(config-isakmp)# group 2 Router(config-isakmp)# hash sha Router(config-isakmp)# keepalive always-send Router(config-isakmp)# key ascii secret-vpn Router(config-isakmp)# my-identity kyoten@oosaka Router(config-isakmp)# negotiation-mode aggressive Router(config-isakmp)# peer-identity address nagoya.branch.jp Router(config-isakmp)# peer-identity host kyoten@nagoya Router(config-isakmp)# exit ! ! ! Phase 2 ポリシーの設定を行ないます。 ! Router(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac ! ! ! センター用の VPN セレクタの設定を行ないます。 ! Router(config)# ipsec access-list 10 ipsec ip any any ! Router(config)# crypto map tokyo 1 Router(config-crypto-map)# match address 10 Router(config-crypto-map)# set peer address 200.200.200.1 Router(config-crypto-map)# set security-association always-up Router(config-crypto-map)# set transform-set P2-POLICY Router(config-crypto-map)# exit ! ! ! 拠点 1 用の VPN セレクタの設定を行ないます。 ! Router(config)# ipsec access-list 11 ipsec ip any any ! Router(config)# crypto map nagoya 2 Router(config-crypto-map)# match address 11 Router(config-crypto-map)# set peer address nagoya.branch.jp Router(config-crypto-map)# set peer host kyoten@nagoya Router(config-crypto-map)# set transform-set P2-POLICY Router(config-crypto-map)# exit ! ! ! センター用の IPsec インターフェースの設定をします。 ! Router(config)# interface ipsecif 1 Router(config-if ipsecif 1)# crypto map tokyo Router(config-if ipsecif 1)# exit ! ! ! 拠点 1 用の IPsec インターフェースの設定をします。 ! Router(config)# interface ipsecif 2 Router(config-if ipsecif 2)# crypto map nagoya Router(config-if ipsecif 2)# exit ! ! ! センターのピアに対するルートを設定します。 ! Router(config)# ip route 200.200.200.1 255.255.255.255 pppoe 1 ! ! ! デフォルトルートを設定します。拠点 1 のピアに対するルートとなります。 ! Router(config)# ip route 0.0.0.0 0.0.0.0 pppoe 1 ! ! ! センターと拠点 1 のネットワーク向けのルートを設定します。 ! Router(config)# ip route 192.168.100.0 255.255.255.0 connected ipsecif 1 Router(config)# ip route 192.168.1.0 255.255.255.0 connected ipsecif 2 ! ! ! ダイナミック DNS クライアントの設定をします。 ! Router(config)# http-client 1 Router(config-http-client 1)# method 1 get url http://192.168.100.254/cgi-bin/ddns-v4.cgi dn oosaka.branch.jp i4 $i4 pw osk Router(config-http-client 1)# reference-interface pppoe 1 Router(config-http-client 1)# request-timeout 10 retry 5 Router(config-http-client 1)# source-interface lan 1 Router(config-http-client 1)# logging error Router(config-http-client 1)# exit ! ! ! ダイナミック DNS サーバに登録に行くタイミングを指定します。 ! Router(config)# interface pppoe 1 Router(config-if pppoe 1)# ddns-client address ip action http-client 1 delay 30 interval 300 Router(config-if pppoe 1)# exit ! ! ! DNS リゾルバの設定をします。 ! Router(config)# ip name-server 192.168.100.254 Router(config)# ip name-server source-interface lan 1 ! ! ! 特権ユーザモードに戻ります。 ! Router(config)# end ! ! ! 設定を保存します。 ! Router# save SIDE-A.cfg % saving working-config % finished saving Router# ! ! ! 設定を有効にするために再起動します。 ! Router# reset Are you OK to cold start?(y/n) y