FutureNet

NXR,WXRシリーズ

L2TPv3編

2. L2TPv3応用設定

2-5. L2TPv3 over IPsec設定

L2TPv3だけでは通信内容を暗号化することはできませんが、IPsecトンネル内にL2TPトンネルを通すことでL2TPv3を使用する場合でも、セキュアな通信路を構築することができます。これによりインターネット網を経由する場合でも、よりセキュアな環境を実現できます。

 

【 構成図 】

  • IPsecはPolicy Based IPsecの形式で設定します。
  • この設定例では、各ルータでWAN側インタフェースから出力されるL2TPパケットをフィルタで破棄することで、IPsec SA未確立時にL2TPパケットがWAN側インタフェースから出力されることを防止します。

 

【 設定データ 】

〔NXR_Aの設定〕

設定項目 設定内容
ホスト名 NXR_A
LAN側インタフェース ethernet0のIPアドレス 192.168.10.1/24
WAN側インタフェース ethernet1のIPアドレス 10.10.10.1/29
IPマスカレード 有効
IPアクセスグループ in eth1_in
out eth1_out
SPIフィルタ 有効
MSS自動調整 オート
IPリダイレクト 無効
IPsecローカルポリシー 1
スタティックルート 宛先IPアドレス 0.0.0.0/0
ゲートウェイ(IPアドレス) 10.10.10.2
IPフィルタ ルール名 eth1_in
eth1_in No.1 動作 許可
送信元IPアドレス any
宛先IPアドレス 10.10.10.1
プロトコル UDP
送信元ポート 500
宛先ポート 500
No.2 動作 許可
送信元IPアドレス any
宛先IPアドレス 10.10.10.1
プロトコル 50(ESP)
ルール名 eth1_out
eth1_out No.1 動作 破棄
送信元IPアドレス 10.10.10.1
宛先IPアドレス 10.10.20.1
プロトコル 115(L2TP)
IPsec IPsecアクセスリスト No.1 リスト名 NXR_B
送信元IPアドレス host
宛先IPアドレス host
No.2 リスト名 NXR_C
送信元IPアドレス host
宛先IPアドレス host
IPsecローカルポリシー1 address ip
IPsec ISAKMPポリシー1 名前 NXR_B
認証方式 pre-share
認証鍵 ipseckey1
認証アルゴリズム sha1
暗号化アルゴリズム aes128
DHグループ 5
ライフタイム 10800秒
ISAKMPモード メインモード
リモートアドレス 10.10.20.1
DPD 再送間隔 30秒
リトライ回数 3回
動作 restart
ローカルポリシー 1
IPsecトンネルポリシー1 名前 NXR_B
ネゴシエーションモード オート
認証アルゴリズム sha1
暗号化アルゴリズム aes128
PFS 有効(グループ5)
ライフタイム 3600秒
ISAKMPポリシー 1
IPsecアクセスリスト NXR_B
IPsec ISAKMPポリシー2 名前 NXR_C
認証方式 pre-share
認証鍵 ipseckey2
認証アルゴリズム sha1
暗号化アルゴリズム aes128
DHグループ 5
ライフタイム 10800秒
ISAKMPモード アグレッシブモード
リモートアドレス any
リモートID(FQDN) nxrc
DPD 再送間隔 30秒
リトライ回数 3回
動作 clear
ローカルポリシー 1
IPsecトンネルポリシー2 名前 NXR_C
ネゴシエーションモード レスポンダ
認証アルゴリズム sha1
暗号化アルゴリズム aes128
PFS 有効(グループ5)
ライフタイム 3600秒
ISAKMPポリシー 2
IPsecアクセスリスト NXR_C
L2TPv3 ホスト名 nxra
ルータID 172.20.10.1
MACアドレス学習機能 有効
MACアドレス保持時間 300秒
Path MTU Discovery 有効
L2TPv3トンネル1 名前 NXR_B
リモートトンネルアドレス 10.10.20.1
リモートホスト名 nxrb
リモートルータID 172.20.20.1
リモートベンダーID ietf
L2TPv3 Xconnect1 名前 NXR_B
L2TPv3トンネルID 1
Xconnectインタフェース ethernet0
リモートエンドID 1
再送間隔 30秒
MSS自動調整 オート
L2TPv3トンネル2 名前 NXR_C
リモートホスト名 nxrc
リモートルータID 172.20.30.1
リモートベンダーID ietf
L2TPv3 Xconnect2 名前 NXR_C
L2TPv3トンネルID 2
Xconnectインタフェース ethernet0
リモートエンドID 1
MSS自動調整 オート
DNS サービス 有効
ルートサーバ 有効
FastFowarding 有効
L2TPv3 FastFowarding 有効

〔NXR_Bの設定〕

設定項目 設定内容
ホスト名 NXR_B
LAN側インタフェース ethernet0のIPアドレス 192.168.10.2/24
WAN側インタフェース PPPoEクライアント(ethernet1) ppp0
ppp0のIPアドレス 10.10.20.1/32
IPマスカレード 有効
IPアクセスグループ in ppp0_in
out ppp0_out
SPIフィルタ 有効
MSS自動調整 オート
IPリダイレクト 無効
ISP接続用ユーザID test2@example.jp
ISP接続用パスワード test2pass
IPsecローカルポリシー 1
スタティックルート 宛先IPアドレス 0.0.0.0/0
ゲートウェイ(インタフェース) ppp0
IPフィルタ ルール名 ppp0_in
ppp0_in No.1 動作 許可
送信元IPアドレス 10.10.10.1
宛先IPアドレス 10.10.20.1
プロトコル UDP
送信元ポート 500
宛先ポート 500
No.2 動作 許可
送信元IPアドレス 10.10.10.1
宛先IPアドレス 10.10.20.1
プロトコル 50(ESP)
ルール名 ppp0_out
ppp0_out No.1 動作 破棄
送信元IPアドレス 10.10.20.1
宛先IPアドレス 10.10.10.1
プロトコル 115(L2TP)
IPsec IPsecアクセスリスト リスト名 NXR_A
送信元IPアドレス host
宛先IPアドレス host
IPsecローカルポリシー1 address ip
IPsec ISAKMPポリシー1 名前 NXR_A
認証方式 pre-share
認証鍵 ipseckey1
認証アルゴリズム sha1
暗号化アルゴリズム aes128
DHグループ 5
ライフタイム 10800秒
ISAKMPモード メインモード
リモートアドレス 10.10.10.1
DPD 再送間隔 30秒
リトライ回数 3回
動作 restart
ローカルポリシー 1
IPsecトンネルポリシー1 名前 NXR_A
ネゴシエーションモード オート
認証アルゴリズム sha1
暗号化アルゴリズム aes128
PFS 有効(グループ5)
ライフタイム 3600秒
ISAKMPポリシー 1
IPsecアクセスリスト NXR_A
L2TPv3 ホスト名 nxrb
ルータID 172.20.20.1
MACアドレス学習機能 有効
MACアドレス保持時間 300秒
Path MTU Discovery 有効
L2TPv3トンネル1 名前 NXR_A
リモートトンネルアドレス 10.10.10.1
リモートホスト名 nxra
リモートルータID 172.20.10.1
リモートベンダーID ietf
L2TPv3 Xconnect1 名前 NXR_A
L2TPv3トンネルID 1
Xconnectインタフェース ethernet0
リモートエンドID 1
再送間隔 45秒
MSS自動調整 オート
DNS サービス 有効
FastFowarding 有効
L2TPv3 FastFowarding 有効

〔NXR_Cの設定〕

設定項目 設定内容
ホスト名 NXR_C
LAN側インタフェース ethernet0のIPアドレス 192.168.10.3/24
WAN側インタフェース PPPoEクライアント(ethernet1) ppp0
ppp0のIPアドレス 動的IPアドレス
IPマスカレード 有効
IPアクセスグループ in ppp0_in
out ppp0_out
SPIフィルタ 有効
MSS自動調整 オート
IPリダイレクト 無効
ISP接続用ユーザID test3@example.jp
ISP接続用パスワード test3pass
IPsecローカルポリシー 1
スタティックルート 宛先IPアドレス 0.0.0.0/0
ゲートウェイ(インタフェース) ppp0
IPフィルタ ルール名 ppp0_in
ppp0_in No.1 動作 許可
送信元IPアドレス 10.10.10.1
宛先IPアドレス any
プロトコル UDP
送信元ポート 500
宛先ポート 500
No.2 動作 許可
送信元IPアドレス 10.10.10.1
宛先IPアドレス any
プロトコル 50(ESP)
ルール名 ppp0_out
ppp0_out No.1 動作 破棄
送信元IPアドレス any
宛先IPアドレス 10.10.10.1
プロトコル 115(L2TP)
IPsec IPsecアクセスリスト リスト名 NXR_A
送信元IPアドレス host
宛先IPアドレス host
IPsecローカルポリシー1 address ip
セルフID(FQDN) nxrc
IPsec ISAKMPポリシー1 名前 NXR_A
認証方式 pre-share
認証鍵 ipseckey2
認証アルゴリズム sha1
暗号化アルゴリズム aes128
DHグループ 5
ライフタイム 10800秒
ISAKMPモード アグレッシブモード
リモートアドレス 10.10.10.1
DPD 再送間隔 30秒
リトライ回数 3回
動作 restart
ローカルポリシー 1
IPsecトンネルポリシー1 名前 NXR_A
ネゴシエーションモード オート
認証アルゴリズム sha1
暗号化アルゴリズム aes128
PFS 有効(グループ5)
ライフタイム 3600秒
ISAKMPポリシー 1
IPsecアクセスリスト NXR_A
L2TPv3 ホスト名 nxrc
ルータID 172.20.30.1
MACアドレス学習機能 有効
MACアドレス保持時間 300秒
Path MTU Discovery 有効
L2TPv3トンネル1 名前 NXR_A
リモートトンネルアドレス 10.10.10.1
リモートホスト名 nxra
リモートルータID 172.20.10.1
リモートベンダーID ietf
L2TPv3 Xconnect1 名前 NXR_A
L2TPv3トンネルID 1
Xconnectインタフェース ethernet0
リモートエンドID 1
再送間隔 30秒
MSS自動調整 オート
DNS サービス 有効
FastFowarding 有効
L2TPv3 FastFowarding 有効

 

【 設定例 】

〔NXR_Aの設定〕

nxr120#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxr120(config)#hostname NXR_A
NXR_A(config)#interface ethernet 0
NXR_A(config-if)#ip address 192.168.10.1/24
NXR_A(config-if)#exit
NXR_A(config)#ip route 0.0.0.0/0 10.10.10.2
NXR_A(config)#ip access-list eth1_in permit any 10.10.10.1 udp 500 500
NXR_A(config)#ip access-list eth1_in permit any 10.10.10.1 50
NXR_A(config)#ip access-list eth1_out deny 10.10.10.1 10.10.20.1 115
NXR_A(config)#ipsec access-list NXR_B ip host host
NXR_A(config)#ipsec access-list NXR_C ip host host
NXR_A(config)#ipsec local policy 1
NXR_A(config-ipsec-local)#address ip
NXR_A(config-ipsec-local)#exit
NXR_A(config)#ipsec isakmp policy 1
NXR_A(config-ipsec-isakmp)#description NXR_B
NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey1
NXR_A(config-ipsec-isakmp)#hash sha1
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 10800
NXR_A(config-ipsec-isakmp)#isakmp-mode main
NXR_A(config-ipsec-isakmp)#remote address ip 10.10.20.1
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_A(config-ipsec-isakmp)#local policy 1
NXR_A(config-ipsec-isakmp)#exit
NXR_A(config)#ipsec tunnel policy 1
NXR_A(config-ipsec-tunnel)#description NXR_B
NXR_A(config-ipsec-tunnel)#negotiation-mode auto
NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 3600
NXR_A(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_A(config-ipsec-tunnel)#match address NXR_B
NXR_A(config-ipsec-tunnel)#exit
NXR_A(config)#ipsec isakmp policy 2
NXR_A(config-ipsec-isakmp)#description NXR_C
NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey2
NXR_A(config-ipsec-isakmp)#hash sha1
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 10800
NXR_A(config-ipsec-isakmp)#isakmp-mode aggressive
NXR_A(config-ipsec-isakmp)#remote address ip any
NXR_A(config-ipsec-isakmp)#remote identity fqdn nxrc
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic clear
NXR_A(config-ipsec-isakmp)#local policy 1
NXR_A(config-ipsec-isakmp)#exit
NXR_A(config)#ipsec tunnel policy 2
NXR_A(config-ipsec-tunnel)#description NXR_C
NXR_A(config-ipsec-tunnel)#negotiation-mode responder
NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 3600
NXR_A(config-ipsec-tunnel)#set key-exchange isakmp 2
NXR_A(config-ipsec-tunnel)#match address NXR_C
NXR_A(config-ipsec-tunnel)#exit
NXR_A(config)#interface ethernet 1
NXR_A(config-if)#ip address 10.10.10.1/29
NXR_A(config-if)#ip masquerade
NXR_A(config-if)#ip access-group in eth1_in
NXR_A(config-if)#ip access-group out eth1_out
NXR_A(config-if)#ip spi-filter
NXR_A(config-if)#ip tcp adjust-mss auto
NXR_A(config-if)#no ip redirects
NXR_A(config-if)#ipsec policy 1
NXR_A(config-if)#exit
NXR_A(config)#l2tpv3 hostname nxra
NXR_A(config)#l2tpv3 router-id 172.20.10.1
NXR_A(config)#l2tpv3 mac-learning
NXR_A(config)#l2tpv3 mac-aging 300
NXR_A(config)#l2tpv3 path-mtu-discovery
NXR_A(config)#l2tpv3 tunnel 1
NXR_A(config-l2tpv3-tunnel)#description NXR_B
NXR_A(config-l2tpv3-tunnel)#tunnel address 10.10.20.1
NXR_A(config-l2tpv3-tunnel)#tunnel hostname nxrb
NXR_A(config-l2tpv3-tunnel)#tunnel router-id 172.20.20.1
NXR_A(config-l2tpv3-tunnel)#tunnel vendor ietf
NXR_A(config-l2tpv3-tunnel)#exit
NXR_A(config)#l2tpv3 xconnect 1
NXR_A(config-l2tpv3-xconnect)#description NXR_B
NXR_A(config-l2tpv3-xconnect)#tunnel 1
NXR_A(config-l2tpv3-xconnect)#xconnect ethernet 0
NXR_A(config-l2tpv3-xconnect)#xconnect end-id 1
NXR_A(config-l2tpv3-xconnect)#retry-interval 30
NXR_A(config-l2tpv3-xconnect)#ip tcp adjust-mss auto
NXR_A(config-l2tpv3-xconnect)#exit
NXR_A(config)#l2tpv3 tunnel 2
NXR_A(config-l2tpv3-tunnel)#description NXR_C
NXR_A(config-l2tpv3-tunnel)#tunnel hostname nxrc
NXR_A(config-l2tpv3-tunnel)#tunnel router-id 172.20.30.1
NXR_A(config-l2tpv3-tunnel)#tunnel vendor ietf
NXR_A(config-l2tpv3-tunnel)#exit
NXR_A(config)#l2tpv3 xconnect 2
NXR_A(config-l2tpv3-xconnect)#description NXR_C
NXR_A(config-l2tpv3-xconnect)#tunnel 2
NXR_A(config-l2tpv3-xconnect)#xconnect ethernet 0
NXR_A(config-l2tpv3-xconnect)#xconnect end-id 1
NXR_A(config-l2tpv3-xconnect)#ip tcp adjust-mss auto
NXR_A(config-l2tpv3-xconnect)#exit
NXR_A(config)#dns
NXR_A(config-dns)#service enable
NXR_A(config-dns)#root enable
NXR_A(config-dns)#exit
NXR_A(config)#fast-forwarding enable
NXR_A(config)#l2tpv3 fast-forwarding enable
NXR_A(config)#exit
NXR_A#save config

〔NXR_Bの設定〕

nxr120#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxr120(config)#hostname NXR_B
NXR_B(config)#interface ethernet 0
NXR_B(config-if)#ip address 192.168.10.2/24
NXR_B(config-if)#exit
NXR_B(config)#ip route 0.0.0.0/0 ppp 0
NXR_B(config)#ip access-list ppp0_in permit 10.10.10.1 10.10.20.1 udp 500 500
NXR_B(config)#ip access-list ppp0_in permit 10.10.10.1 10.10.20.1 50
NXR_B(config)#ip access-list ppp0_out deny 10.10.20.1 10.10.10.1 115
NXR_B(config)#ipsec access-list NXR_A ip host host
NXR_B(config)#ipsec local policy 1
NXR_B(config-ipsec-local)#address ip
NXR_B(config-ipsec-local)#exit
NXR_B(config)#ipsec isakmp policy 1
NXR_B(config-ipsec-isakmp)#description NXR_A
NXR_B(config-ipsec-isakmp)#authentication pre-share ipseckey1
NXR_B(config-ipsec-isakmp)#hash sha1
NXR_B(config-ipsec-isakmp)#encryption aes128
NXR_B(config-ipsec-isakmp)#group 5
NXR_B(config-ipsec-isakmp)#lifetime 10800
NXR_B(config-ipsec-isakmp)#isakmp-mode main
NXR_B(config-ipsec-isakmp)#remote address ip 10.10.10.1
NXR_B(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_B(config-ipsec-isakmp)#local policy 1
NXR_B(config-ipsec-isakmp)#exit
NXR_B(config)#ipsec tunnel policy 1
NXR_B(config-ipsec-tunnel)#description NXR_A
NXR_B(config-ipsec-tunnel)#negotiation-mode auto
NXR_B(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_B(config-ipsec-tunnel)#set pfs group5
NXR_B(config-ipsec-tunnel)#set sa lifetime 3600
NXR_B(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_B(config-ipsec-tunnel)#match address NXR_A
NXR_B(config-ipsec-tunnel)#exit
NXR_B(config)#interface ppp 0
NXR_B(config-ppp)#ip address 10.10.20.1/32
NXR_B(config-ppp)#ip masquerade
NXR_B(config-ppp)#ip access-group in ppp0_in
NXR_B(config-ppp)#ip access-group out ppp0_out
NXR_B(config-ppp)#ip spi-filter
NXR_B(config-ppp)#ip tcp adjust-mss auto
NXR_B(config-ppp)#no ip redirects
NXR_B(config-ppp)#ppp username test2@example.jp password test2pass
NXR_B(config-ppp)#ipsec policy 1
NXR_B(config-ppp)#exit
NXR_B(config)#interface ethernet 1
NXR_B(config-if)#no ip address
NXR_B(config-if)#pppoe-client ppp 0
NXR_B(config-if)#exit
NXR_B(config)#l2tpv3 hostname nxrb
NXR_B(config)#l2tpv3 router-id 172.20.20.1
NXR_B(config)#l2tpv3 mac-learning
NXR_B(config)#l2tpv3 mac-aging 300
NXR_B(config)#l2tpv3 path-mtu-discovery
NXR_B(config)#l2tpv3 tunnel 1
NXR_B(config-l2tpv3-tunnel)#description NXR_A
NXR_B(config-l2tpv3-tunnel)#tunnel address 10.10.10.1
NXR_B(config-l2tpv3-tunnel)#tunnel hostname nxra
NXR_B(config-l2tpv3-tunnel)#tunnel router-id 172.20.10.1
NXR_B(config-l2tpv3-tunnel)#tunnel vendor ietf
NXR_B(config-l2tpv3-tunnel)#exit
NXR_B(config)#l2tpv3 xconnect 1
NXR_B(config-l2tpv3-xconnect)#description NXR_A
NXR_B(config-l2tpv3-xconnect)#tunnel 1
NXR_B(config-l2tpv3-xconnect)#xconnect ethernet 0
NXR_B(config-l2tpv3-xconnect)#xconnect end-id 1
NXR_B(config-l2tpv3-xconnect)#retry-interval 45
NXR_B(config-l2tpv3-xconnect)#ip tcp adjust-mss auto
NXR_B(config-l2tpv3-xconnect)#exit
NXR_B(config)#dns
NXR_B(config-dns)#service enable
NXR_B(config-dns)#exit
NXR_B(config)#fast-forwarding enable
NXR_B(config)#l2tpv3 fast-forwarding enable
NXR_B(config)#exit
NXR_B#save config

〔NXR_Cの設定〕

nxr120#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxr120(config)#hostname NXR_C
NXR_C(config)#interface ethernet 0
NXR_C(config-if)#ip address 192.168.10.3/24
NXR_C(config-if)#exit
NXR_C(config)#ip route 0.0.0.0/0 ppp 0
NXR_C(config)#ip access-list ppp0_in permit 10.10.10.1 any udp 500 500
NXR_C(config)#ip access-list ppp0_in permit 10.10.10.1 any 50
NXR_C(config)#ip access-list ppp0_out deny any 10.10.10.1 115
NXR_C(config)#ipsec access-list NXR_A ip host host
NXR_C(config)#ipsec local policy 1
NXR_C(config-ipsec-local)#address ip
NXR_C(config-ipsec-local)#self-identity fqdn nxrc
NXR_C(config-ipsec-local)#exit
NXR_C(config)#ipsec isakmp policy 1
NXR_C(config-ipsec-isakmp)#description NXR_A
NXR_C(config-ipsec-isakmp)#authentication pre-share ipseckey2
NXR_C(config-ipsec-isakmp)#hash sha1
NXR_C(config-ipsec-isakmp)#encryption aes128
NXR_C(config-ipsec-isakmp)#group 5
NXR_C(config-ipsec-isakmp)#lifetime 10800
NXR_C(config-ipsec-isakmp)#isakmp-mode aggressive
NXR_C(config-ipsec-isakmp)#remote address ip 10.10.10.1
NXR_C(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_C(config-ipsec-isakmp)#local policy 1
NXR_C(config-ipsec-isakmp)#exit
NXR_C(config)#ipsec tunnel policy 1
NXR_C(config-ipsec-tunnel)#description NXR_A
NXR_C(config-ipsec-tunnel)#negotiation-mode auto
NXR_C(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_C(config-ipsec-tunnel)#set pfs group5
NXR_C(config-ipsec-tunnel)#set sa lifetime 3600
NXR_C(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_C(config-ipsec-tunnel)#match address NXR_A
NXR_C(config-ipsec-tunnel)#exit
NXR_C(config)#interface ppp 0
NXR_C(config-ppp)#ip address negotiated
NXR_C(config-ppp)#ip masquerade
NXR_C(config-ppp)#ip access-group in ppp0_in
NXR_C(config-ppp)#ip access-group out ppp0_out
NXR_C(config-ppp)#ip spi-filter
NXR_C(config-ppp)#ip tcp adjust-mss auto
NXR_C(config-ppp)#no ip redirects
NXR_C(config-ppp)#ppp username test3@example.jp password test3pass
NXR_C(config-ppp)#ipsec policy 1
NXR_C(config-ppp)#exit
NXR_C(config)#interface ethernet 1
NXR_C(config-if)#no ip address
NXR_C(config-if)#pppoe-client ppp 0
NXR_C(config-if)#exit
NXR_C(config)#l2tpv3 hostname nxrc
NXR_C(config)#l2tpv3 router-id 172.20.30.1
NXR_C(config)#l2tpv3 mac-learning
NXR_C(config)#l2tpv3 mac-aging 300
NXR_C(config)#l2tpv3 path-mtu-discovery
NXR_C(config)#l2tpv3 tunnel 1
NXR_C(config-l2tpv3-tunnel)#description NXR_A
NXR_C(config-l2tpv3-tunnel)#tunnel address 10.10.10.1
NXR_C(config-l2tpv3-tunnel)#tunnel hostname nxra
NXR_C(config-l2tpv3-tunnel)#tunnel router-id 172.20.10.1
NXR_C(config-l2tpv3-tunnel)#tunnel vendor ietf
NXR_C(config-l2tpv3-tunnel)#exit
NXR_C(config)#l2tpv3 xconnect 1
NXR_C(config-l2tpv3-xconnect)#description NXR_A
NXR_C(config-l2tpv3-xconnect)#tunnel 1
NXR_C(config-l2tpv3-xconnect)#xconnect ethernet 0
NXR_C(config-l2tpv3-xconnect)#xconnect end-id 1
NXR_C(config-l2tpv3-xconnect)#retry-interval 30
NXR_C(config-l2tpv3-xconnect)#ip tcp adjust-mss auto
NXR_C(config-l2tpv3-xconnect)#exit
NXR_C(config)#dns
NXR_C(config-dns)#service enable
NXR_C(config-dns)#exit
NXR_C(config)#fast-forwarding enable
NXR_C(config)#l2tpv3 fast-forwarding enable
NXR_C(config)#exit
NXR_C#save config

 

【 設定例解説 】

〔NXR_Aの設定〕

1. <ホスト名の設定>
nxr120(config)#hostname NXR_A

ホスト名を設定します。

 

2. <LAN側(ethernet0)インタフェース設定>
NXR_A(config)#interface ethernet 0
NXR_A(config-if)#ip address 192.168.10.1/24

ethernet0インタフェースのIPアドレスを設定します。

 

3. <スタティックルート設定>
NXR_A(config)#ip route 0.0.0.0/0 10.10.10.2

デフォルトルートを設定します。

 

4. <IPアクセスリスト設定>
NXR_A(config)#ip access-list eth1_in permit any 10.10.10.1 udp 500 500
NXR_A(config)#ip access-list eth1_in permit any 10.10.10.1 50

IPアクセスリスト名をeth1_inとし、NXR_AのWAN側IPアドレス10.10.10.1宛のIKEパケット(UDPポート500番)、ESPパケット(プロトコル番号50)を許可します。
なお、このIPアクセスリスト設定はethernet1インタフェース設定で登録します。

NXR_A(config)#ip access-list eth1_out deny 10.10.10.1 10.10.20.1 115

IPアクセスリスト名をeth1_outとし、送信元がNXR_AのWAN側IPアドレス10.10.10.1、宛先IPアドレスが10.10.20.1のL2TPパケット(プロトコル番号115)を破棄します。
なお、このIPアクセスリスト設定はethernet1インタフェース設定で登録します。
(☞) この設定は、IPsec SA未確立時などWAN側(ethernet1)インタフェースから直接L2TPパケットを出力しないようにするための設定です。
(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。

 

5. <IPsecアクセスリスト設定>
NXR_A(config)#ipsec access-list NXR_B ip host host

NXR_Bという名前のIPsecアクセスリストを設定します。なお、送信元IPアドレス,宛先IPアドレスともにhostとします。
(☞) 送信元IPアドレスにhostを設定した場合は、IPsecのエンドポイントのIPアドレス(通常WAN側IPアドレス)を設定したのと同じ意味になります。また、宛先IPアドレスにhostを設定した場合は、対向ルータのIPsecのエンドポイントのIPアドレス(通常対向ルータのWAN側IPアドレス)を設定したのと同じ意味になります。

NXR_A(config)#ipsec access-list NXR_C ip host host

NXR_Cという名前のIPsecアクセスリストを設定します。なお、送信元IPアドレス,宛先IPアドレスともにhostとします。

 

6. <IPsecローカルポリシー設定>
NXR_A(config)#ipsec local policy 1
NXR_A(config-ipsec-local)#address ip

IPsecトンネルの送信元IPアドレスをip(IPv4)と設定します。

 

7. <IPsec ISAKMPポリシー1設定>
NXR_A(config)#ipsec isakmp policy 1
NXR_A(config-ipsec-isakmp)#description NXR_B
NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey1

ISAKMPポリシー1の説明としてNXR_B、認証方式としてpre-share(事前共有鍵)を選択し事前共有鍵ipseckey1を設定します。なお、事前共有鍵はNXR_Bと共通の値を設定します。

NXR_A(config-ipsec-isakmp)#hash sha1
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 10800
NXR_A(config-ipsec-isakmp)#isakmp-mode main

認証アルゴリズムとしてsha1、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして10800秒、フェーズ1のネゴシエーションモードとしてメインモードを設定します。

NXR_A(config-ipsec-isakmp)#remote address ip 10.10.20.1
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_A(config-ipsec-isakmp)#local policy 1

リモートアドレスにNXR_BのWAN側IPアドレスを設定します。また、IKE KeepAlive(DPD)を監視間隔30秒,リトライ回数3回としkeepalive失敗時にSAを削除しIKEのネゴシエーションを開始するよう設定します。そして、IPsecローカルポリシー1と関連づけを行います。

 

8. <IPsec トンネルポリシー1設定>
NXR_A(config)#ipsec tunnel policy 1
NXR_A(config-ipsec-tunnel)#description NXR_B
NXR_A(config-ipsec-tunnel)#negotiation-mode auto

IPsecトンネルポリシー1の説明としてNXR_B、ネゴシエーションモードとしてautoを設定します。

NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 3600

暗号化アルゴリズムとしてaes128、認証アルゴリズムとしてsha1、PFSを有効にし、かつDHグループとしてgroup5、IPsec SAのライフタイムとして3600秒を設定します。

NXR_A(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_A(config-ipsec-tunnel)#match address NXR_B

ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストNXR_Bを設定します。

 

9. <IPsec ISAKMPポリシー2設定>
NXR_A(config)#ipsec isakmp policy 2
NXR_A(config-ipsec-isakmp)#description NXR_C
NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey2

ISAKMPポリシー2の説明としてNXR_C、認証方式としてpre-share(事前共有鍵)を選択し事前共有鍵ipseckey2を設定します。なお、事前共有鍵はNXR_Cと共通の値を設定します。

NXR_A(config-ipsec-isakmp)#hash sha1
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 10800
NXR_A(config-ipsec-isakmp)#isakmp-mode aggressive

認証アルゴリズムとしてsha1、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして10800秒、フェーズ1のネゴシエーションモードとしてアグレッシブモードを設定します。

NXR_A(config-ipsec-isakmp)#remote address ip any
NXR_A(config-ipsec-isakmp)#remote identity fqdn nxrc
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic clear
NXR_A(config-ipsec-isakmp)#local policy 1

NXR_CのWAN側IPアドレスが動的IPアドレスのため、リモートアドレスをanyとします。また、リモートIDをFQDN方式でnxrcとし、NXR_CのセルフIDと同じIDを設定します。そして、IKE KeepAlive(DPD)を監視間隔30秒,リトライ回数3回としkeepalive失敗時にSAを削除するよう設定します。さらに、IPsecローカルポリシー1と関連づけを行います。

 

10. <IPsec トンネルポリシー2設定>
NXR_A(config)#ipsec tunnel policy 2
NXR_A(config-ipsec-tunnel)#description NXR_C
NXR_A(config-ipsec-tunnel)#negotiation-mode responder

IPsecトンネルポリシー2の説明としてNXR_C、ネゴシエーションモードとしてresponderを設定します。

NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 3600

暗号化アルゴリズムとしてaes128、認証アルゴリズムとしてsha1、PFSを有効にし、かつDHグループとしてgroup5、IPsec SAのライフタイムとして3600秒を設定します。

NXR_A(config-ipsec-tunnel)#set key-exchange isakmp 2
NXR_A(config-ipsec-tunnel)#match address NXR_C

ISAKMPポリシー2と関連づけを行い、IPsecアクセスリストNXR_Cを設定します。

 

11. <WAN側(ethernet1)インタフェース設定>
NXR_A(config)#interface ethernet 1
NXR_A(config-if)#ip address 10.10.10.1/29

ethernet1インタフェースのIPアドレスを設定します。

NXR_A(config-if)#ip masquerade
NXR_A(config-if)#ip access-group in eth1_in
NXR_A(config-if)#ip access-group out eth1_out
NXR_A(config-if)#ip spi-filter
NXR_A(config-if)#ip tcp adjust-mss auto
NXR_A(config-if)#no ip redirects

IPマスカレード、ステートフルパケットインスペクションを有効に設定します。また、IPアクセスリストeth1_inをinフィルタにeth1_outをoutフィルタに適用します。そして、TCP MSSの調整機能をオート、ICMPリダイレクト機能を無効に設定します。

NXR_A(config-if)#ipsec policy 1

IPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。

 

12. <L2TPv3設定>
NXR_A(config)#l2tpv3 hostname nxra
NXR_A(config)#l2tpv3 router-id 172.20.10.1

L2TPv3のホスト名としてnxraを設定します。また、ルータIDを設定します。

NXR_A(config)#l2tpv3 mac-learning
NXR_A(config)#l2tpv3 mac-aging 300
NXR_A(config)#l2tpv3 path-mtu-discovery

MACアドレス学習機能を有効にし、エージングタイムを設定します。また、Path MTU Discoveryを有効にします。

 

13. <L2TPv3トンネル1設定>
NXR_A(config)#l2tpv3 tunnel 1
NXR_A(config-l2tpv3-tunnel)#description NXR_B
NXR_A(config-l2tpv3-tunnel)#tunnel address 10.10.20.1

L2TPv3トンネル1の説明としてNXR_B、リモートアドレスにNXR_BのWAN側IPアドレスを設定します。

NXR_A(config-l2tpv3-tunnel)#tunnel hostname nxrb
NXR_A(config-l2tpv3-tunnel)#tunnel router-id 172.20.20.1
NXR_A(config-l2tpv3-tunnel)#tunnel vendor ietf

NXR_BのL2TPv3ホスト名およびルータIDを設定します。そして、ベンダIDとしてietfを設定します。
(☞) L2TPv3のホスト名とルータIDはNXR_Bと同一の値を設定します。

 

14. <L2TPv3 Xconnect1設定>
NXR_A(config)#l2tpv3 xconnect 1
NXR_A(config-l2tpv3-xconnect)#description NXR_B
NXR_A(config-l2tpv3-xconnect)#tunnel 1

L2TPv3 Xconnect1の説明としてNXR_B、関連づけを行うL2TPv3トンネルとしてL2TPv3トンネル1を設定します。

NXR_A(config-l2tpv3-xconnect)#xconnect ethernet 0
NXR_A(config-l2tpv3-xconnect)#xconnect end-id 1
NXR_A(config-l2tpv3-xconnect)#retry-interval 30
NXR_A(config-l2tpv3-xconnect)#ip tcp adjust-mss auto

Xconnectインタフェースとしてethernet0インタフェースおよびリモートエンドIDを設定します。また、リトライインターバルを設定します。そして、TCP MSSの調整機能をオートに設定します。

 

15. <L2TPv3トンネル2設定>
NXR_A(config)#l2tpv3 tunnel 2
NXR_A(config-l2tpv3-tunnel)#description NXR_C

L2TPv3トンネル2の説明としてNXR_Cを設定します。なお、NXR_CのWAN側IPアドレスが動的IPアドレスのため、リモートトンネルアドレスは設定しません。

NXR_A(config-l2tpv3-tunnel)#tunnel hostname nxrc
NXR_A(config-l2tpv3-tunnel)#tunnel router-id 172.20.30.1
NXR_A(config-l2tpv3-tunnel)#tunnel vendor ietf

NXR_CのL2TPv3ホスト名およびルータIDを設定します。そして、ベンダIDとしてietfを設定します。
(☞) L2TPv3のホスト名とルータIDはNXR_Cと同一の値を設定します。

 

16. <L2TPv3 Xconnect2設定>
NXR_A(config)#l2tpv3 xconnect 2
NXR_A(config-l2tpv3-xconnect)#description NXR_C
NXR_A(config-l2tpv3-xconnect)#tunnel 2

L2TPv3 Xconnect2の説明としてNXR_C、関連づけを行うL2TPv3トンネルとしてL2TPv3トンネル2を設定します。

NXR_A(config-l2tpv3-xconnect)#xconnect ethernet 0
NXR_A(config-l2tpv3-xconnect)#xconnect end-id 1
NXR_A(config-l2tpv3-xconnect)#ip tcp adjust-mss auto

Xconnectインタフェースとしてethernet0インタフェースおよびリモートエンドIDを設定します。また、TCP MSSの調整機能をオートに設定します。

 

17. <DNS設定>
NXR_A(config)#dns
NXR_A(config-dns)#service enable
NXR_A(config-dns)#root enable

DNSサービスを有効にします。また、ルートDNSも有効に設定します。

 

18. <ファストフォワーディングの有効化>
NXR_A(config)#fast-forwarding enable
NXR_A(config)#l2tpv3 fast-forwarding enable

ファストフォワーディングおよびL2TPv3ファストフォワーディングを有効にします。
(☞) ファストフォワーディングおよびL2TPv3ファストフォワーディングの詳細および利用時の制約については、NXR,WXRシリーズのユーザーズガイド(CLI版)に記載されているファストフォワーディングの解説をご参照ください。

 

〔NXR_Bの設定〕

1. <ホスト名の設定>
nxr120(config)#hostname NXR_B

ホスト名を設定します。

 

2. <LAN側(ethernet0)インタフェース設定>
NXR_B(config)#interface ethernet 0
NXR_B(config-if)#ip address 192.168.10.2/24

ethernet0インタフェースのIPアドレスを設定します。

 

3. <スタティックルート設定>
NXR_B(config)#ip route 0.0.0.0/0 ppp 0

デフォルトルートを設定します。

 

4. <IPアクセスリスト設定>
NXR_B(config)#ip access-list ppp0_in permit 10.10.10.1 10.10.20.1 udp 500 500
NXR_B(config)#ip access-list ppp0_in permit 10.10.10.1 10.10.20.1 50

IPアクセスリスト名をppp0_inとし、送信元がNXR_AのWAN側IPアドレス10.10.10.1、宛先IPアドレスが10.10.20.1のIKEパケット(UDPポート500番)、ESPパケット(プロトコル番号50)を許可します。なお、このIPアクセスリスト設定はppp0インタフェース設定で登録します。

NXR_B(config)#ip access-list ppp0_out deny 10.10.20.1 10.10.10.1 115

IPアクセスリスト名をppp0_outとし、送信元がNXR_BのWAN側IPアドレス10.10.20.1、宛先IPアドレスが10.10.10.1のL2TPパケット(プロトコル番号115)を破棄します。
なお、このIPアクセスリスト設定はppp0インタフェース設定で登録します。
(☞) この設定は、IPsec SA未確立時などWAN側(ppp0)インタフェースから直接L2TPパケットを出力しないようにするための設定です。
(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。

 

5. <IPsecアクセスリスト設定>
NXR_B(config)#ipsec access-list NXR_A ip host host

NXR_Aという名前のIPsecアクセスリストを設定します。なお、送信元IPアドレス,宛先IPアドレスともにhostとします。

 

6. <IPsecローカルポリシー設定>
NXR_B(config)#ipsec local policy 1
NXR_B(config-ipsec-local)#address ip

IPsecトンネルの送信元IPアドレスをip(IPv4)と設定します。

 

7. <IPsec ISAKMPポリシー設定>
NXR_B(config)#ipsec isakmp policy 1
NXR_B(config-ipsec-isakmp)#description NXR_A
NXR_B(config-ipsec-isakmp)#authentication pre-share ipseckey1

ISAKMPポリシー1の説明としてNXR_A、認証方式としてpre-share(事前共有鍵)を選択し、事前共有鍵ipseckey1を設定します。なお、事前共有鍵はNXR_Aと共通の値を設定します。

NXR_B(config-ipsec-isakmp)#hash sha1
NXR_B(config-ipsec-isakmp)#encryption aes128
NXR_B(config-ipsec-isakmp)#group 5
NXR_B(config-ipsec-isakmp)#lifetime 10800
NXR_B(config-ipsec-isakmp)#isakmp-mode main

認証アルゴリズムとしてsha1、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして10800秒、フェーズ1のネゴシエーションモードとしてメインモードを設定します。

NXR_B(config-ipsec-isakmp)#remote address ip 10.10.10.1
NXR_B(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_B(config-ipsec-isakmp)#local policy 1

リモートアドレスにNXR_AのWAN側IPアドレスを設定します。また、IKE KeepAlive(DPD)を監視間隔30秒,リトライ回数3回としkeepalive失敗時にSAを削除しIKEのネゴシエーションを開始するよう設定します。そして、IPsecローカルポリシー1と関連づけを行います。

 

8. <IPsec トンネルポリシー設定>
NXR_B(config)#ipsec tunnel policy 1
NXR_B(config-ipsec-tunnel)#description NXR_A
NXR_B(config-ipsec-tunnel)#negotiation-mode auto

IPsecトンネルポリシー1の説明としてNXR_A、ネゴシエーションモードとしてautoを設定します。

NXR_B(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_B(config-ipsec-tunnel)#set pfs group5
NXR_B(config-ipsec-tunnel)#set sa lifetime 3600

暗号化アルゴリズムとしてaes128、認証アルゴリズムとしてsha1、PFSを有効にし、かつDHグループとしてgroup5、IPsec SAのライフタイムとして3600秒を設定します。

NXR_B(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_B(config-ipsec-tunnel)#match address NXR_A

ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストNXR_Aを設定します。

 

9. <WAN側(ppp0)インタフェース設定>
NXR_B(config)#interface ppp 0
NXR_B(config-ppp)#ip address 10.10.20.1/32

ppp0インタフェースのIPアドレスを設定します。

NXR_B(config-ppp)#ip masquerade
NXR_B(config-ppp)#ip access-group in ppp0_in
NXR_B(config-ppp)#ip access-group out ppp0_out
NXR_B(config-ppp)#ip spi-filter
NXR_B(config-ppp)#ip tcp adjust-mss auto
NXR_B(config-ppp)#no ip redirects

IPマスカレード、ステートフルパケットインスペクションを有効に設定します。また、IPアクセスリストppp0_inをinフィルタにppp0_outをoutフィルタに適用します。そして、TCP MSSの調整機能をオート、ICMPリダイレクト機能を無効に設定します。

NXR_B(config-ppp)#ppp username test2@example.jp password test2pass
NXR_B(config-ppp)#ipsec policy 1

ISP接続用ユーザIDとパスワードを設定します。また、IPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。

 

10. <ethernet1インタフェース設定>
NXR_B(config)#interface ethernet 1
NXR_B(config-if)#no ip address
NXR_B(config-if)#pppoe-client ppp 0

PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。

 

11. <L2TPv3設定>
NXR_B(config)#l2tpv3 hostname nxrb
NXR_B(config)#l2tpv3 router-id 172.20.20.1

L2TPv3のホスト名としてnxrbを設定します。また、ルータIDを設定します。

NXR_B(config)#l2tpv3 mac-learning
NXR_B(config)#l2tpv3 mac-aging 300
NXR_B(config)#l2tpv3 path-mtu-discovery

MACアドレス学習機能を有効にし、エージングタイムを設定します。また、Path MTU Discoveryを有効にします。

 

12. <L2TPv3トンネル設定>
NXR_B(config)#l2tpv3 tunnel 1
NXR_B(config-l2tpv3-tunnel)#description NXR_A
NXR_B(config-l2tpv3-tunnel)#tunnel address 10.10.10.1

L2TPv3トンネル1の説明としてNXR_A、リモートアドレスにNXR_AのWAN側IPアドレスを設定します。

NXR_B(config-l2tpv3-tunnel)#tunnel hostname nxra
NXR_B(config-l2tpv3-tunnel)#tunnel router-id 172.20.10.1
NXR_B(config-l2tpv3-tunnel)#tunnel vendor ietf

NXR_AのL2TPv3ホスト名およびルータIDを設定します。そして、ベンダIDとしてietfを設定します。
(☞) L2TPv3のホスト名とルータIDはNXR_Aと同一の値を設定します。

 

13. <L2TPv3 Xconnect設定>
NXR_B(config)#l2tpv3 xconnect 1
NXR_B(config-l2tpv3-xconnect)#description NXR_A
NXR_B(config-l2tpv3-xconnect)#tunnel 1

L2TPv3 Xconnect1の説明としてNXR_A、関連づけを行うL2TPv3トンネルとしてL2TPv3トンネル1を設定します。

NXR_B(config-l2tpv3-xconnect)#xconnect ethernet 0
NXR_B(config-l2tpv3-xconnect)#xconnect end-id 1
NXR_B(config-l2tpv3-xconnect)#retry-interval 45
NXR_B(config-l2tpv3-xconnect)#ip tcp adjust-mss auto

Xconnectインタフェースとしてethernet0インタフェースおよびリモートエンドIDを設定します。また、リトライインターバルを設定します。そして、TCP MSSの調整機能をオートに設定します。

 

14. <DNS設定>
NXR_B(config)#dns
NXR_B(config-dns)#service enable

DNSサービスを有効にします。

 

15. <ファストフォワーディングの有効化>
NXR_B(config)#fast-forwarding enable
NXR_B(config)#l2tpv3 fast-forwarding enable

ファストフォワーディングおよびL2TPv3ファストフォワーディングを有効にします。

 

〔NXR_Cの設定〕

1. <ホスト名の設定>
nxr120(config)#hostname NXR_C

ホスト名を設定します。

 

2. <LAN側(ethernet0)インタフェース設定>
NXR_C(config)#interface ethernet 0
NXR_C(config-if)#ip address 192.168.10.3/24

ethernet0インタフェースのIPアドレスを設定します。

 

3. <スタティックルート設定>
NXR_C(config)#ip route 0.0.0.0/0 ppp 0

デフォルトルートを設定します。

 

4. <IPアクセスリスト設定>
NXR_C(config)#ip access-list ppp0_in permit 10.10.10.1 any udp 500 500
NXR_C(config)#ip access-list ppp0_in permit 10.10.10.1 any 50

IPアクセスリスト名をppp0_inとし、送信元がNXR_AのWAN側IPアドレス10.10.10.1のIKEパケット(UDPポート500番)、ESPパケット(プロトコル番号50)を許可します。
なお、このIPアクセスリスト設定はppp0インタフェース設定で登録します。

NXR_C(config)#ip access-list ppp0_out deny any 10.10.10.1 115

IPアクセスリスト名をppp0_outとし、宛先がNXR_AのWAN側IPアドレス10.10.10.1のL2TPパケット(プロトコル番号115)を破棄します。
なお、このIPアクセスリスト設定はppp0インタフェース設定で登録します。
(☞) この設定は、IPsec SA未確立時などWAN側(ppp0)インタフェースから直接L2TPパケットを出力しないようにするための設定です。
(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。

 

5. <IPsecアクセスリスト設定>
NXR_C(config)#ipsec access-list NXR_A ip host host

NXR_Aという名前のIPsecアクセスリストを設定します。なお、送信元IPアドレス,宛先IPアドレスともにhostとします。

 

6. <IPsecローカルポリシー設定>
NXR_C(config)#ipsec local policy 1
NXR_C(config-ipsec-local)#address ip
NXR_C(config-ipsec-local)#self-identity fqdn nxrc

IPsecトンネルの送信元IPアドレスをip(IPv4)と設定します。また、セルフIDをFQDN方式でnxrcとし、NXR_AのリモートIDと同じIDを設定します。

 

7. <IPsec ISAKMPポリシー設定>
NXR_C(config)#ipsec isakmp policy 1
NXR_C(config-ipsec-isakmp)#description NXR_A
NXR_C(config-ipsec-isakmp)#authentication pre-share ipseckey2

ISAKMPポリシー1の説明としてNXR_A、認証方式としてpre-share(事前共有鍵)を選択し、事前共有鍵ipseckey2を設定します。なお、事前共有鍵はNXR_Aと共通の値を設定します。

NXR_C(config-ipsec-isakmp)#hash sha1
NXR_C(config-ipsec-isakmp)#encryption aes128
NXR_C(config-ipsec-isakmp)#group 5
NXR_C(config-ipsec-isakmp)#lifetime 10800
NXR_C(config-ipsec-isakmp)#isakmp-mode aggressive

認証アルゴリズムとしてsha1、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして10800秒、フェーズ1のネゴシエーションモードとしてアグレッシブモードを設定します。

NXR_C(config-ipsec-isakmp)#remote address ip 10.10.10.1
NXR_C(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_C(config-ipsec-isakmp)#local policy 1

リモートアドレスにNXR_AのWAN側IPアドレスを設定します。また、IKE KeepAlive(DPD)を監視間隔30秒,リトライ回数3回としkeepalive失敗時にSAを削除しIKEのネゴシエーションを開始するよう設定します。そして、IPsecローカルポリシー1と関連づけを行います。

 

8. <IPsec トンネルポリシー設定>
NXR_C(config)#ipsec tunnel policy 1
NXR_C(config-ipsec-tunnel)#description NXR_A
NXR_C(config-ipsec-tunnel)#negotiation-mode auto

IPsecトンネルポリシー1の説明としてNXR_A、ネゴシエーションモードとしてautoを設定します。

NXR_C(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_C(config-ipsec-tunnel)#set pfs group5
NXR_C(config-ipsec-tunnel)#set sa lifetime 3600

暗号化アルゴリズムとしてaes128、認証アルゴリズムとしてsha1、PFSを有効にし、かつDHグループとしてgroup5、IPsec SAのライフタイムとして3600秒を設定します。

NXR_C(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_C(config-ipsec-tunnel)#match address NXR_A

ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストNXR_Aを設定します。

 

9. <WAN側(ppp0)インタフェース設定>
NXR_C(config)#interface ppp 0
NXR_C(config-ppp)#ip address negotiated

ppp0インタフェースのIPアドレスが動的IPアドレスの場合は、negotiatedを設定します。

NXR_C(config-ppp)#ip masquerade
NXR_C(config-ppp)#ip access-group in ppp0_in
NXR_C(config-ppp)#ip access-group out ppp0_out
NXR_C(config-ppp)#ip spi-filter
NXR_C(config-ppp)#ip tcp adjust-mss auto
NXR_C(config-ppp)#no ip redirects

IPマスカレード、ステートフルパケットインスペクションを有効に設定します。また、IPアクセスリストppp0_inをinフィルタにppp0_outをoutフィルタに適用します。そして、TCP MSSの調整機能をオート、ICMPリダイレクト機能を無効に設定します。

NXR_C(config-ppp)#ppp username test3@example.jp password test3pass
NXR_C(config-ppp)#ipsec policy 1

ISP接続用ユーザIDとパスワードを設定します。また、IPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。

 

10. <ethernet1インタフェース設定>
NXR_C(config)#interface ethernet 1
NXR_C(config-if)#no ip address
NXR_C(config-if)#pppoe-client ppp 0

PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。

 

11. <L2TPv3設定>
NXR_C(config)#l2tpv3 hostname nxrc
NXR_C(config)#l2tpv3 router-id 172.20.30.1

L2TPv3のホスト名としてnxrcを設定します。また、ルータIDを設定します。

NXR_C(config)#l2tpv3 mac-learning
NXR_C(config)#l2tpv3 mac-aging 300
NXR_C(config)#l2tpv3 path-mtu-discovery

MACアドレス学習機能を有効にし、エージングタイムを設定します。また、Path MTU Discoveryを有効にします。

 

12. <L2TPv3トンネル設定>
NXR_C(config)#l2tpv3 tunnel 1
NXR_C(config-l2tpv3-tunnel)#description NXR_A
NXR_C(config-l2tpv3-tunnel)#tunnel address 10.10.10.1

L2TPv3トンネル1の説明としてNXR_A、リモートアドレスにNXR_AのWAN側IPアドレスを設定します。

NXR_C(config-l2tpv3-tunnel)#tunnel hostname nxra
NXR_C(config-l2tpv3-tunnel)#tunnel router-id 172.20.10.1
NXR_C(config-l2tpv3-tunnel)#tunnel vendor ietf

NXR_AのL2TPv3ホスト名およびルータIDを設定します。そして、ベンダIDとしてietfを設定します。
(☞) L2TPv3のホスト名とルータIDはNXR_Aと同一の値を設定します。

 

13. <L2TPv3 Xconnect設定>
NXR_C(config)#l2tpv3 xconnect 1
NXR_C(config-l2tpv3-xconnect)#description NXR_A
NXR_C(config-l2tpv3-xconnect)#tunnel 1

L2TPv3 Xconnect1の説明としてNXR_A、関連づけを行うL2TPv3トンネルとしてL2TPv3トンネル1を設定します。

NXR_C(config-l2tpv3-xconnect)#xconnect ethernet 0
NXR_C(config-l2tpv3-xconnect)#xconnect end-id 1
NXR_C(config-l2tpv3-xconnect)#retry-interval 30
NXR_C(config-l2tpv3-xconnect)#ip tcp adjust-mss auto

Xconnectインタフェースとしてethernet0インタフェースおよびリモートエンドIDを設定します。また、リトライインターバルを設定します。そして、TCP MSSの調整機能をオートに設定します。

 

14. <DNS設定>
NXR_C(config)#dns
NXR_C(config-dns)#service enable

DNSサービスを有効にします。

 

15. <ファストフォワーディングの有効化>
NXR_C(config)#fast-forwarding enable
NXR_C(config)#l2tpv3 fast-forwarding enable

ファストフォワーディングおよびL2TPv3ファストフォワーディングを有効にします。

 

【 端末の設定例 】

LAN_Aの端末 LAN_Bの端末 LAN_Cの端末
IPアドレス 192.168.10.101 192.168.10.102 192.168.10.103
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.10.1 192.168.10.2 192.168.10.3
DNSサーバ