FutureNet
NXR,WXRシリーズ
L2TPv3編
2. L2TPv3応用設定
2-7. L2TPv3フィルタ設定
L2TPv3フィルタは、L2TPv3によりトンネリングされるフレームをXconnectインタフェース上、またはセッション上でフィルタリングする機能です。これによりMACアドレスやIPv4,IPv6,ARP,802.1Q,TCP/UDPなど、レイヤ2 からレイヤ4での詳細な指定が可能です。この設定例では、特定の端末からサーバへのアクセスは許可するが、それ以外の端末からのアクセスは破棄します。
【 構成図 】
- L2TPv3ファストフォワーディング機能を利用している場合、ファストフォワーディングエントリに登録済みのセッションに対しては、当該セッションが(タイムアウト等によって)エントリから消えるまでフィルタリングは適用されません。
【 設定データ 】
〔NXR_Aの設定〕
設定項目 | 設定内容 | |||
---|---|---|---|---|
ホスト名 | NXR_A | |||
LAN側インタフェース | ethernet0のIPアドレス | 192.168.10.1/24 | ||
WAN側インタフェース | PPPoEクライアント(ethernet1) | ppp0 | ||
ppp0のIPアドレス | 10.10.10.1/32 | |||
IPマスカレード | 有効 | |||
IPアクセスグループ | in | ppp0_in | ||
SPIフィルタ | 有効 | |||
MSS自動調整 | オート | |||
IPリダイレクト | 無効 | |||
ISP接続用ユーザID | test1@example.jp | |||
ISP接続用パスワード | test1pass | |||
スタティックルート | 宛先IPアドレス | 0.0.0.0/0 | ||
ゲートウェイ(インタフェース) | ppp0 | |||
IPフィルタ | ルール名 | ppp0_in | ||
ppp0_in | 動作 | 許可 | ||
送信元IPアドレス | any | |||
宛先IPアドレス | 10.10.10.1 | |||
プロトコル | 115(L2TP) | |||
L2TPv3 | ホスト名 | nxra | ||
ルータID | 172.20.10.1 | |||
MACアドレス学習機能 | 有効 | |||
MACアドレス保持時間 | 300秒 | |||
Path MTU Discovery | 有効 | |||
L2TPv3トンネル1 | 名前 | NXR_B | ||
リモートホスト名 | nxrb | |||
リモートルータID | 172.20.20.1 | |||
リモートベンダーID | ietf | |||
L2TPv3 Xconnect1 | 名前 | NXR_B | ||
L2TPv3トンネルID | 1 | |||
Xconnectインタフェース | ethernet0 | |||
リモートエンドID | 1 | |||
MSS自動調整 | オート | |||
DNS | サービス | 有効 | ||
FastFowarding | 有効 | |||
L2TPv3 FastFowarding | 有効 |
〔NXR_Bの設定〕
設定項目 | 設定内容 | |||
---|---|---|---|---|
ホスト名 | NXR_B | |||
LAN側インタフェース | ethernet0のIPアドレス | 192.168.10.2/24 | ||
L2TPv3アクセスグループ | in | l2f-eth0_in | ||
WAN側インタフェース | PPPoEクライアント(ethernet1) | ppp0 | ||
ppp0のIPアドレス | 動的IPアドレス | |||
IPマスカレード | 有効 | |||
IPアクセスグループ | in | ppp0_in | ||
SPIフィルタ | 有効 | |||
MSS自動調整 | オート | |||
IPリダイレクト | 無効 | |||
ISP接続用ユーザID | test2@example.jp | |||
ISP接続用パスワード | test2pass | |||
スタティックルート | 宛先IPアドレス | 0.0.0.0/0 | ||
ゲートウェイ(インタフェース) | ppp0 | |||
IPフィルタ | ルール名 | ppp0_in | ||
ppp0_in | 動作 | 許可 | ||
送信元IPアドレス | 10.10.10.1 | |||
宛先IPアドレス | any | |||
プロトコル | 115(L2TP) | |||
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 | |||
再送間隔 | 30秒 | |||
MSS自動調整 | オート | |||
L2TPv3フィルタ | ルール名 | l2f-eth0_in | ||
l2f-eth0_in | 動作 | 破棄 | ||
ACL | root | |||
No.1 | layer2 ACL | l2_acl_arp | ||
No.2 | layer2 ACL | l2_acl_ip | ||
ルール名 | l2_acl_arp | |||
l2_acl_arp | 動作 | 破棄 | ||
ACL | layer2 | |||
No.1 | ethernet-type | arp | ||
extended ACL | arp_acl | |||
ルール名 | l2_acl_ip | |||
l2_acl_ip | 動作 | 破棄 | ||
ACL | layer2 | |||
No.1 | ethernet-type | ip | ||
extended ACL | ip_acl | |||
ルール名 | arp_acl | |||
arp_acl | 動作 | 許可 | ||
ACL | extended arp | |||
OPCODE | Request | |||
送信元MACアドレス | 00:80:6D:XX:XX:00 | |||
送信元IPアドレス | 192.168.10.101 | |||
宛先IPアドレス | 192.168.10.100 | |||
ルール名 | ip_acl | |||
ip_acl | 動作 | 許可 | ||
ACL | extended ip | |||
送信元IPアドレス | 192.168.10.101 | |||
宛先IPアドレス | 192.168.10.100 | |||
DNS | サービス | 有効 | ||
FastFowarding | 有効 | |||
L2TPv3 FastFowarding | 有効 |
【 設定例 】
〔NXR_Aの設定〕
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 ppp 0
NXR_A(config)#ip access-list ppp0_in permit any 10.10.10.1 115
NXR_A(config)#interface ppp 0
NXR_A(config-ppp)#ip address 10.10.10.1/32
NXR_A(config-ppp)#ip masquerade
NXR_A(config-ppp)#ip access-group in ppp0_in
NXR_A(config-ppp)#ip spi-filter
NXR_A(config-ppp)#ip tcp adjust-mss auto
NXR_A(config-ppp)#no ip redirects
NXR_A(config-ppp)#ppp username test1@example.jp password test1pass
NXR_A(config-ppp)#exit
NXR_A(config)#interface ethernet 1
NXR_A(config-if)#no ip address
NXR_A(config-if)#pppoe-client ppp 0
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 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)#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)#exit
NXR_A(config)#fast-forwarding enable
NXR_A(config)#l2tpv3 fast-forwarding enable
NXR_A(config)#exit
NXR_A#save config
〔NXR_Bの設定〕
Enter configuration commands, one per line. End with CNTL/Z.
nxr120(config)#hostname NXR_B
NXR_B(config)#l2tpv3 access-list arp_acl extended arp permit
NXR_B(config-l2tpv3-eacl)#sender-mac 00:80:6D:XX:XX:00
NXR_B(config-l2tpv3-eacl)#sender-ip 192.168.10.101
NXR_B(config-l2tpv3-eacl)#target-ip 192.168.10.100
NXR_B(config-l2tpv3-eacl)#opcode request
NXR_B(config-l2tpv3-eacl)#exit
NXR_B(config)#l2tpv3 access-list ip_acl extended ip permit
NXR_B(config-l2tpv3-eacl)#source 192.168.10.101
NXR_B(config-l2tpv3-eacl)#destination 192.168.10.100
NXR_B(config-l2tpv3-eacl)#exit
NXR_B(config)#l2tpv3 access-list l2_acl_arp layer2 deny
NXR_B(config-l2tpv3-acl)#ethernet-type arp extended arp_acl 1
NXR_B(config-l2tpv3-acl)#exit
NXR_B(config)#l2tpv3 access-list l2_acl_ip layer2 deny
NXR_B(config-l2tpv3-acl)#ethernet-type ip extended ip_acl 1
NXR_B(config-l2tpv3-acl)#exit
NXR_B(config)#l2tpv3 access-list l2f-eth0_in root deny
NXR_B(config-l2tpv3-acl)#layer2 access-list l2_acl_arp 1
NXR_B(config-l2tpv3-acl)#layer2 access-list l2_acl_ip 2
NXR_B(config-l2tpv3-acl)#exit
NXR_B(config)#interface ethernet 0
NXR_B(config-if)#ip address 192.168.10.2/24
NXR_B(config-if)#l2tpv3 access-group in l2f-eth0_in
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 any 115
NXR_B(config)#interface ppp 0
NXR_B(config-ppp)#ip address negotiated
NXR_B(config-ppp)#ip masquerade
NXR_B(config-ppp)#ip access-group in ppp0_in
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)#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 30
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_Aの設定〕
1. <ホスト名の設定>
ホスト名を設定します。
2. <LAN側(ethernet0)インタフェース設定>
NXR_A(config-if)#ip address 192.168.10.1/24
ethernet0インタフェースのIPアドレスを設定します。
3. <スタティックルート設定>
デフォルトルートを設定します。
4. <IPアクセスリスト設定>
IPアクセスリスト名をppp0_inとし、NXR_AのWAN側IPアドレス10.10.10.1宛のL2TPパケット(プロトコル番号115)を許可します。
なお、このIPアクセスリスト設定はppp0インタフェース設定で登録します。
(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。
5. <WAN側(ppp0)インタフェース設定>
NXR_A(config-ppp)#ip address 10.10.10.1/32
ppp0インタフェースのIPアドレスを設定します。
NXR_A(config-ppp)#ip access-group in ppp0_in
NXR_A(config-ppp)#ip spi-filter
NXR_A(config-ppp)#ip tcp adjust-mss auto
NXR_A(config-ppp)#no ip redirects
IPマスカレード、ステートフルパケットインスペクションを有効に設定します。また、IPアクセスリストppp0_inをinフィルタに適用します。そして、TCP MSSの調整機能をオート、ICMPリダイレクト機能を無効に設定します。
ISP接続用ユーザIDとパスワードを設定します。
6. <ethernet1インタフェース設定>
NXR_A(config-if)#no ip address
NXR_A(config-if)#pppoe-client ppp 0
PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。
7. <L2TPv3設定>
NXR_A(config)#l2tpv3 router-id 172.20.10.1
L2TPv3のホスト名としてnxraを設定します。また、ルータIDを設定します。
NXR_A(config)#l2tpv3 mac-aging 300
NXR_A(config)#l2tpv3 path-mtu-discovery
MACアドレス学習機能を有効にし、エージングタイムを設定します。また、Path MTU Discoveryを有効にします。
8. <L2TPv3トンネル設定>
NXR_A(config-l2tpv3-tunnel)#description NXR_B
L2TPv3トンネル1の説明としてNXR_Bを設定します。なお、NXR_BのWAN側IPアドレスが動的IPアドレスのため、リモートトンネルアドレスは設定しません。
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と同一の値を設定します。
9. <L2TPv3 Xconnect設定>
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 end-id 1
NXR_A(config-l2tpv3-xconnect)#ip tcp adjust-mss auto
Xconnectインタフェースとしてethernet0インタフェースおよびリモートエンドIDを設定します。また、TCP MSSの調整機能をオートに設定します。
10. <DNS設定>
NXR_A(config-dns)#service enable
DNSサービスを有効にします。
11. <ファストフォワーディングの有効化>
NXR_A(config)#l2tpv3 fast-forwarding enable
ファストフォワーディングおよびL2TPv3ファストフォワーディングを有効にします。
(☞) ファストフォワーディングおよびL2TPv3ファストフォワーディングの詳細および利用時の制約については、NXR,WXRシリーズのユーザーズガイド(CLI版)に記載されているファストフォワーディングの解説をご参照ください。
〔NXR_Bの設定〕
1. <ホスト名の設定>
ホスト名を設定します。
2. <L2TPv3フィルタ(Extended ACL)設定>
NXR_B(config-l2tpv3-eacl)#opcode request
NXR_B(config-l2tpv3-eacl)#sender-mac 00:80:6D:XX:XX:00
NXR_B(config-l2tpv3-eacl)#sender-ip 192.168.10.101
NXR_B(config-l2tpv3-eacl)#target-ip 192.168.10.100
L2TPv3アクセスリスト名をarp_acl、拡張ACLをARPとします。そして、OPコードがRequest(ARP Request),送信元MACアドレス00:80:6D:XX:XX:00,送信元IPアドレス192.168.10.101,宛先IPアドレス192.168.10.100のフレームを許可します。
NXR_B(config-l2tpv3-eacl)#source 192.168.10.101
NXR_B(config-l2tpv3-eacl)#destination 192.168.10.100
L2TPv3アクセスリスト名をip_acl、拡張ACLをIPとします。そして、送信元IPアドレス192.168.10.101,宛先IPアドレス192.168.10.100のフレームを許可します。
3. <L2TPv3フィルタ(Layer2 ACL)設定>
NXR_B(config-l2tpv3-acl)#ethernet-type arp extended arp_acl 1
L2TPv3アクセスリスト名をl2_acl_arpとするLayer2ACLを設定します。そして、ethernet-typeをARPとする拡張ACL arp_aclを設定します。なお、arp_aclに一致しない場合、フレームを破棄します。
NXR_B(config-l2tpv3-acl)#ethernet-type ip extended ip_acl 1
L2TPv3アクセスリスト名をl2_acl_ipとするLayer2ACLを設定します。そして、ethernet-typeをIPとする拡張ACL ip_aclを設定します。なお、ip_aclに一致しない場合、フレームを破棄します。
4. <L2TPv3フィルタ(Root ACL)設定>
NXR_B(config-l2tpv3-acl)#layer2 access-list l2_acl_arp 1
NXR_B(config-l2tpv3-acl)#layer2 access-list l2_acl_ip 2
L2TPv3アクセスリスト名をl2f-eth0_inとするRootACLを設定します。そして、Layer2ACLとしてl2_acl_arp,l2_acl_ipをそれぞれ設定します。なお、これらACLに一致しない場合、フレームを破棄します。
5. <LAN側(ethernet0)インタフェース設定>
NXR_B(config-if)#ip address 192.168.10.2/24
ethernet0インタフェースのIPアドレスを設定します。
L2TPv3フィルタ(Root ACL)設定で設定したl2f-eth0_inをXconnectインタフェースのinフィルタに適用します。これによりXconnectインタフェースからセッション(本装置への入力)方向のフレームに対してL2TPv3フィルタによるチェックが行われます。
(☞) L2TPv3ファストフォワーディング機能を利用している場合、ファストフォワーディングエントリに登録済みのセッションに対しては、当該セッションが(タイムアウト等によって)エントリから消えるまでフィルタリングは適用されません。
6. <スタティックルート設定>
デフォルトルートを設定します。
7. <IPアクセスリスト設定>
IPアクセスリスト名をppp0_inとし、送信元がNXR_AのWAN側IPアドレス10.10.10.1のL2TPパケット(プロトコル番号115)を許可します。
なお、このIPアクセスリスト設定はppp0インタフェース設定で登録します。
(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。
8. <WAN側(ppp0)インタフェース設定>
NXR_B(config-ppp)#ip address negotiated
ppp0インタフェースのIPアドレスが動的IPアドレスの場合は、negotiatedを設定します。
NXR_B(config-ppp)#ip access-group in ppp0_in
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フィルタに適用します。そして、TCP MSSの調整機能をオート、ICMPリダイレクト機能を無効に設定します。
ISP接続用ユーザIDとパスワードを設定します。
9. <ethernet1インタフェース設定>
NXR_B(config-if)#no ip address
NXR_B(config-if)#pppoe-client ppp 0
PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。
10. <L2TPv3設定>
NXR_B(config)#l2tpv3 router-id 172.20.20.1
L2TPv3のホスト名としてnxrbを設定します。また、ルータIDを設定します。
NXR_B(config)#l2tpv3 mac-aging 300
NXR_B(config)#l2tpv3 path-mtu-discovery
MACアドレス学習機能を有効にし、エージングタイムを設定します。また、Path MTU Discoveryを有効にします。
11. <L2TPv3トンネル設定>
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 router-id 172.20.10.1
NXR_B(config-l2tpv3-tunnel)#tunnel vendor ietf
NXR_AのL2TPv3ホスト名およびルータIDを設定します。そして、ベンダIDとしてietfを設定します。
(☞) L2TPv3のホスト名とルータIDはNXR_Aと同一の値を設定します。
12. <L2TPv3 Xconnect設定>
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 end-id 1
NXR_B(config-l2tpv3-xconnect)#retry-interval 30
NXR_B(config-l2tpv3-xconnect)#ip tcp adjust-mss auto
Xconnectインタフェースとしてethernet0インタフェースおよびリモートエンドIDを設定します。また、リトライインターバルを設定します。そして、TCP MSSの調整機能をオートに設定します。
13. <DNS設定>
NXR_B(config-dns)#service enable
DNSサービスを有効にします。
14. <ファストフォワーディングの有効化>
NXR_B(config)#l2tpv3 fast-forwarding enable
ファストフォワーディングおよびL2TPv3ファストフォワーディングを有効にします。
【 端末の設定例 】
LAN_Aのサーバ | LAN_Bの端末 | |
IPアドレス | 192.168.10.100 | 192.168.10.101 |
サブネットマスク | 255.255.255.0 | |
デフォルトゲートウェイ | 192.168.10.1 | 192.168.10.2 |
DNSサーバ |