draft-ietf-netmod-acl-model-00.txt | draft-ietf-netmod-acl-model-01.txt | |||
---|---|---|---|---|
NETMOD WG D. Bogdanovic | NETMOD WG D. Bogdanovic | |||
Internet-Draft Juniper Networks | Internet-Draft Juniper Networks | |||
Intended status: Standards Track K. Sreenivasa | Intended status: Standards Track K. Sreenivasa | |||
Expires: May 10, 2015 Brocade Communications System | Expires: August 9, 2015 Brocade Communications System | |||
L. Huang | L. Huang | |||
D. Blair | D. Blair | |||
Cisco Systems | Cisco Systems | |||
November 6, 2014 | February 05, 2015 | |||
Network Access Control List (ACL) YANG Data Model | Network Access Control List (ACL) YANG Data Model | |||
draft-ietf-netmod-acl-model-00 | draft-ietf-netmod-acl-model-01 | |||
Abstract | Abstract | |||
This document describes a data model of Access Control List (ACL) | This document describes a data model of Access Control List (ACL) | |||
basic building blocks. | basic building blocks. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
skipping to change at page 1, line 35 | skipping to change at page 1, line 35 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on May 10, 2015. | This Internet-Draft will expire on August 9, 2015. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2015 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 16 | skipping to change at page 2, line 16 | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Definitions and Acronyms . . . . . . . . . . . . . . . . 3 | 1.1. Definitions and Acronyms . . . . . . . . . . . . . . . . 3 | |||
2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Design of the ACL Model . . . . . . . . . . . . . . . . . . . 3 | 3. Design of the ACL Model . . . . . . . . . . . . . . . . . . . 3 | |||
3.1. ACL Modules . . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. ACL Modules . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4. ACL YANG Models . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. ACL YANG Models . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.1. IETF-ACL module . . . . . . . . . . . . . . . . . . . . . 6 | 4.1. IETF-ACL module . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.2. Packet Header module . . . . . . . . . . . . . . . . . . 10 | 4.2. Packet Header module . . . . . . . . . . . . . . . . . . 11 | |||
4.3. A company proprietary module example . . . . . . . . . . 15 | 4.3. A company proprietary module example . . . . . . . . . . 15 | |||
4.4. An ACL Example . . . . . . . . . . . . . . . . . . . . . 17 | 4.4. An ACL Example . . . . . . . . . . . . . . . . . . . . . 17 | |||
5. Example of extending existing model for route filtering . . . 18 | 4.5. Port Range Usage Example . . . . . . . . . . . . . . . . 18 | |||
6. Linux nftables . . . . . . . . . . . . . . . . . . . . . . . 20 | 5. Example of extending existing model for route filtering . . . 19 | |||
6. Linux nftables . . . . . . . . . . . . . . . . . . . . . . . 21 | ||||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | |||
10. Change log [RFC Editor: Please remove] . . . . . . . . . . . 22 | 10. Change log [RFC Editor: Please remove] . . . . . . . . . . . 23 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 22 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 23 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 22 | 11.2. Informative References . . . . . . . . . . . . . . . . . 23 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
1. Introduction | 1. Introduction | |||
Access Control List (ACL) is one of the basic elements to configure | Access Control List (ACL) is one of the basic elements to configure | |||
device forwarding behavior. It is used in many networking concepts | device forwarding behavior. It is used in many networking concepts | |||
such as Policy Based Routing, Firewalls etc. | such as Policy Based Routing, Firewalls etc. | |||
An ACL is an ordered set of rules that is used to filter traffic on a | An ACL is an ordered set of rules that is used to filter traffic on a | |||
networking device. Each rule is represented by an Access Control | networking device. Each rule is represented by an Access Control | |||
skipping to change at page 18, line 25 | skipping to change at page 18, line 25 | |||
<acl-name>sample-ip-acl</acl-name> | <acl-name>sample-ip-acl</acl-name> | |||
<access-list-entries> | <access-list-entries> | |||
<access-list-entry> | <access-list-entry> | |||
<rule-name>telnet-block-rule</rule-name> | <rule-name>telnet-block-rule</rule-name> | |||
<matches> | <matches> | |||
<destination-ipv4-address>2.2.2.2/32</destination-ipv4-address> | <destination-ipv4-address>2.2.2.2/32</destination-ipv4-address> | |||
<source-ipv4-address>1.1.1.1/32</source-ipv4-address> | <source-ipv4-address>1.1.1.1/32</source-ipv4-address> | |||
</matches> | </matches> | |||
<actions> | <actions> | |||
<deny/> | <deny/> | |||
<actions/> | </actions> | |||
</access-list-entry> | </access-list-entry> | |||
</access-list-entries> | </access-list-entries> | |||
</access-list> | </access-list> | |||
</access-lists> | </access-lists> | |||
</top> | </top> | |||
</config> | </config> | |||
</edit-config> | </edit-config> | |||
</rpc> | </rpc> | |||
Figure 2 | Figure 2 | |||
4.5. Port Range Usage Example | ||||
When a lower-port and an upper-port are both present, it represents a | ||||
range between lower-port and upper-port with both the lower-port and | ||||
upper-port are included. When only a lower-port presents, it | ||||
represents a single port. | ||||
With the follow XML snippet: | ||||
<source-port-range> | ||||
<lower-port>16384</lower-port> | ||||
<upper-port>16387</upper-port> | ||||
</source-port-range> | ||||
This represents source ports 16384,16385, 16386, and 16387. | ||||
With the follow XML snippet: | ||||
<source-port-range> | ||||
<lower-port>16384</lower-port> | ||||
<upper-port>65535</upper-port> | ||||
</source-port-range> | ||||
This represents source ports greater than/equal to 16384. | ||||
With the follow XML snippet: | ||||
<source-port-range> | ||||
<lower-port>21</lower-port> | ||||
</source-port-range> | ||||
This represents port 21. | ||||
5. Example of extending existing model for route filtering | 5. Example of extending existing model for route filtering | |||
With proposed modular design, it is easy to extend the model with | With proposed modular design, it is easy to extend the model with | |||
other features. Those features can be standard features, like route | other features. Those features can be standard features, like route | |||
filters. Route filters match on specific IP addresses or ranges of | filters. Route filters match on specific IP addresses or ranges of | |||
prefixes. Much like ACLs, they include some match criteria and | prefixes. Much like ACLs, they include some match criteria and | |||
corresponding match action(s). For that reason, it is very simple to | corresponding match action(s). For that reason, it is very simple to | |||
extend existing ACL model with route filtering. The combination of a | extend existing ACL model with route filtering. The combination of a | |||
route prefix and prefix length along with the type of match | route prefix and prefix length along with the type of match | |||
determines how route filters are evaluated against incoming routes. | determines how route filters are evaluated against incoming routes. | |||
End of changes. 11 change blocks. | ||||
14 lines changed or deleted | 48 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |