xStack DGS-3612G Layer 3 Gigabit Ethernet Managed Switch CLI Manual
25
A
CCESS
C
ONTROL
L
IST
(ACL) C
OMMANDS
The xStack DGS-3612G implements Access Control Lists that enable the Switch to deny network access to specific devices or device
groups based on IP settings and MAC address.
Access profiles allow you to establish criteria to determine whether or not the Switch will forward packets based on the information
contained in each packet’s header. These criteria can be specified on a VLAN-by-VLAN basis.
Creating an access profile is divided into two basic parts. First, an access profile must be created using the
create access_profile
command. For example, if you want to deny all traffic to the subnet 10.42.73.0 to 10.42.73.255, you must first
create
an access
profile that instructs the Switch to examine all of the relevant fields of each frame:
CREATE ACCESS_PROFILE PROFILE_ID 1 IP SOURCE_IP_MASK 255.255.255.0
Here we have created an access profile that will examine the IP field of each frame received by the Switch. Each source IP address
the Switch finds will be combined with the
source_ip_mask
with a logical AND operation. The
profile_id
parameter is used to give
the access profile an identifying number
−
in this case,
1
. The
deny
parameter instructs the Switch to filter any frames that meet the
criteria
−
in this case, when a logical AND operation between an IP address specified in the next step and the
ip_source_mask
match.
The default for an access profile on the Switch is to
permit
traffic flow. If you want to restrict traffic, you must use the
deny
parameter.
Now that an access profile has been created, you must add the criteria the Switch will use to decide if a given frame should be
forwarded or filtered. Here, we want to filter any packets that have an IP source address between 10.42.73.0 and 10.42.73.255:
config access_profile profile_id 1 add access_id 1 ip source_ip 10.42.73.1 port 1 deny
Here we use the
profile_id 1
which was specified when the access profile was created. The
add
parameter instructs the Switch to add
the criteria that follows to the list of rules that are associated with access profile 1. For each rule entered into the access profile, you
can assign an
access_id
that both identifies the rule and establishes a priority within the list of rules. A lower
access_id
gives the rule
a higher priority. In case of a conflict in the rules entered for an access profile, the rule with the highest priority (lowest
access_id
)
will take precedence.
The
ip
parameter instructs the Switch that this new rule will be applied to the IP addresses contained within each frame’s header.
source_ip
tells the Switch that this rule will apply to the source IP addresses in each frame’s header. Finally, the IP address
10.42.73.1
will be combined with the
source_ip_mask
255.255.255.0
to give the IP address 10.42.73.0 for any source IP address
between 10.42.73.0 to 10.42.73.255.
Due to a chipset limitation, the Switch supports a maximum of 14 access profiles. The rules used to define the access profiles are
limited to a total of 1792 rules for the Switch. One rule can support ACL per port or per portmap.
The access profile commands in the Command Line Interface (CLI) are listed (along with the appropriate parameters) in the
following table.
Command Parameters
create access_profile profile_id
<value 1-14> [ethernet {vlan | source_mac <macmask 000000000000-
ffffffffffff> | destination_mac <macmask 000000000000-ffffffffffff> | 802.1p |
ethernet_type} | ip {source_ip_mask <netmask> | destination_ip_mask
<netmask> | dscp | [icmp | igmp | tcp {src_port_mask <hex 0x0-0xffff> |
dst_port_mask <hex 0x0-0xffff> | flag_mask [all | {urg | ack | psh | rst | syn |
fin}]} | udp {src_port_mask <hex 0x0-0xffff> | dst_port_mask <hex 0x0-
xffff>} | protocol_id_mask <hex 0x0-0xff> {user_define_mask <hex 0x0-
0xffffffff>}]} | ipv6 {[class | flowlabel} | source_ipv6_mask <ipv6mask> |
destination_ipv6_mask <ipv6mask>]}]
delete access_profile profile_id
<value 1-14>
config access_profile profile_id
<value 1-14> [add access_id [auto_assign | <value 1-128>] [ethernet {vlan
<vlan_name 32> | source_mac <macaddr 000000000000-ffffffffffff> |
destination_mac <macaddr 000000000000-ffffffffffff> | 802.1p <value 0-7> |
ethernet_type <hex 0x0-0xffff>} port [<portlist> | all] [permit {priority <value
0-7> {replace_priority} | rx_rate {no_limit | <value 1-156249>]} | deny] | ip
{source_ip <ipaddr> | destination_ip <ipaddr> | dscp <value 0-63> | [icmp |
igmp | tcp {src_port <value 0-65535> | dst_port <value 0-65535> | urg | ack
| psh | rst | syn | fin} | udp {src port <value 0-65535> | dst port <value 0-
177