Artem Kolpakov писал(а):
stepmail писал(а):
Друзья, посмотрите, пожалуйста, мое сообщение от Пт фев 14, 2014 13:00. Не было ли ни у кого подобных проблем с ACL'ями?
Или может кто-то готов проверить на своей железке? Я вышлю текст скриптика, который зацикливаю для создания ACL'ек и добавления/удаления потом правил.
Можете привести весь список создаваемых/удаляемых acl, описать все ваши действия по воспроизведению проблемы?
Спасибо.
Артем, добрый день, да конечно.
АЦЛ, которые я хочу получить на порту:
create access_profile packet_content_mask offset1 l2 0 0xffff0000 offset2 l2 16 0xffffffff profile_id 2
create access_profile ethernet destination_mac ffffffffffff ethernet_type profile_id 3
create access_profile ethernet destination_mac ffffff000000 profile_id 4
create access_profile ip source_ip_mask 255.255.255.255 destination_ip_mask 255.255.255.255 profile_id 5
create access_profile ip source_ip_mask 0.0.0.0 profile_id 6
config access_profile profile_id 3 add access_id 9 ethernet ethernet_type 0x0806 port 5 permit
config access_profile profile_id 3 add access_id 10 ethernet destination_mac FF-FF-FF-FF-FF-FF port 5 deny
config access_profile profile_id 4 add access_id 10 ethernet destination_mac 01-00-5E-00-00-00 port 5 deny
config access_profile profile_id 5 add access_id 10 ip source_ip 192.168.25.51 destination_ip 193.27.41.21 port 5 permit replace_priority_with 4
config access_profile profile_id 5 add access_id 11 ip source_ip 192.168.25.51 port 5 permit
config access_profile profile_id 6 add access_id 12 ip source_ip 0.0.0.0 port 5 deny
config access_profile profile_id 2 add access_id 10 packet_content offset1 0x8060000 offset2 0xc0a81933 port 5 permit
config access_profile profile_id 2 add access_id 11 packet_content offset1 0x8060000 port 5 deny
Настраиваю их только по snmp скриптом
#!/bin/bash
echo "creating acl_profile for ARP_ACL"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.2 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.2.2 i 9
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.17.2 x 00000003
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.18.2 i 0
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.19.2 i 0
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.20.2 x ffff0000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.21.2 i 0
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.22.2 i 16
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.23.2 x ffffffff
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.2 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.10 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.3.2.10 x 08060000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.4.2.10 x c0a81933
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.8.2.10 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.7.2.10 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.10 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.11 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.3.2.11 x 08060000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.8.2.11 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.7.2.11 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.11 i 1
#Multicast & Broadcast ACL
echo
echo "creating acl_profile for Broadcast & Multicast_ACL"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.4 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.2.4 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.4.4 x 00000001
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.5.4 x ffffff000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.4 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.3 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.2.3 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.4.3 x 00000011
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.5.3 x ffffffffffff
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.3 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.4.10 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.4.4.10 x 01005e000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.11.4.10 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.10.4.10 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.4.10 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.3.10 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.4.3.10 x ffffffffffff
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.11.3.10 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.10.3.10 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.3.10 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.3.9 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.3.3.9 i 2054
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.11.3.9 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.10.3.9 x 08000000
#ACL for l2_qos mapping
echo
echo "creating acl_profile for l2_qos mapping"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.5 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.2.5 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.4.5 x 00000600
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.9.5 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.11.5 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.10.5 x ffffffff
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.12.5 x ffffffff
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.5 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.10 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.7.5.10 a 193.27.41.21
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.8.5.10 a 192.168.25.51
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.24.5.10 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.25.5.10 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.28.5.10 i 4
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.10 i 1
#IP addressing ACL
echo
echo "creating acl_profile for IP addressing ACL"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.11 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.8.5.11 a 192.168.25.51
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.24.5.11 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.25.5.11 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.11 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.6 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.2.6 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.4.6 x 00000400
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.11.6 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.12.6 x 00000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.1.2.1.30.6 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.6.12 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.8.6.12 a 0.0.0.0
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.24.6.12 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.25.6.12 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.6.12 i 1
echo acl_profile done! no sleepping
echo "! DONE !"
Этот скрипт и создает профайли, и затем добавляет правила в первый раз.
После этого смотрим на свиче show con cur include access_pr и убеждаемся, что все на месте.
А далее запускаю скрипт для удаления всеx правил и создания их заново
#!/bin/bash
n=$1
while [ "$n" -lt "$2" ]
do
echo "deleting acl rules"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.10 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.11 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.6.12 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.10 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.11 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.3.9 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.3.10 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.4.10 i 6
echo "done!"
echo
#ARP_ACL
echo "creating acls for the $n time"
n=`expr $n + 1`
echo
echo "creating acl_profile for ARP_ACL"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.10 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.3.2.10 x 08060000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.4.2.10 x c0a81933
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.8.2.10 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.7.2.10 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.10 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.11 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.3.2.11 x 08060000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.8.2.11 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.7.2.11 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.4.1.1.99.2.11 i 1
#Multicast & Broadcast ACL
echo
echo "creating acl_profile for Broadcast & Multicast_ACL"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.4.10 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.4.4.10 x 01005e000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.11.4.10 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.10.4.10 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.4.10 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.3.10 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.4.3.10 x ffffffffffff
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.11.3.10 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.10.3.10 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.3.10 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.99.3.9 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.3.3.9 i 2054
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.11.3.9 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.2.1.1.10.3.9 x 08000000
#ACL for l2_qos mapping
echo
echo "creating acl_profile for l2_qos mapping"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.10 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.7.5.10 a 193.27.41.21
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.8.5.10 a 192.168.25.51
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.24.5.10 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.25.5.10 i 6
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.28.5.10 i 4
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.10 i 1
#IP addressing ACL
echo
echo "creating acl_profile for IP addressing ACL"
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.11 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.8.5.11 a 192.168.25.51
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.24.5.11 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.25.5.11 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.5.11 i 1
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.6.12 i 5
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.8.6.12 a 0.0.0.0
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.24.6.12 x 08000000
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.25.6.12 i 2
snmpset -v 2c -c test1 192.168.25.50 .1.3.6.1.4.1.171.10.75.15.2.15.3.1.1.99.6.12 i 1
echo acl_profile done! no sleepping
echo acl_profile done!
echo
done
echo "! DONE ! $n TIMES"
Скрипт хранится под именем while_test_acl_arp.sh и запускается следующим образом ./while_test_acl_arp.sh 0 n , где n - кол-во повторений скрипта. У меня хватает 110-115 раз (./while_test_acl_arp.sh 0 120), чтобы свитч перестал работать с ACL и по snmp, и в cli, и в веб морде. Профайлы можно создавать/удалять, а правила больше не добавляются. Только ребутать остается.