По следам
этой темы.
На "старой" ревизии B1 у нас существовали ACLки, которые разрешали по 8 ip-адресов на порт. Адреса выдаются через option_82 с DHCP Relay и привязаны, таким
образом, к порту. Клиенты могут настраивать себе адреса из своего диапазона и статикой (так что только DHCP Snooping в данном случае, как я понимаю, не поможет).
Пример правила для порта под 3200-28 B1:
Код:
# Allow ARP with user's ip-addresses (/29 per port)
create access_profile packet_content_mask offset1 l2 0 0xFFFF offset2 l2 16 0xFFFF offset3 l2 18 0xFFF8 profile_id 252
# Allow user's ip-addresses (/29 per port)
create access_profile ip source_ip 255.255.255.248 profile_id 253
# Common rule: deny any other ARP
create access_profile packet_content_mask offset1 l2 0 0xFFFF profile_id 254
# Common rule: Deny any other IP
create access_profile ip source_ip 0.0.0.0 profile_id 255
# 10.53.114.8/29 at port 1
config access_profile profile_id 252 add access_id 1 packet_content offset1 0x0806 offset2 0x0A35 offset3 0x7208 port 1 permit
config access_profile profile_id 253 add access_id 1 ip source_ip 10.53.114.8 port 1 permit
config access_profile profile_id 254 add access_id 1 packet_content offset1 0x0806 port 1 deny
config access_profile profile_id 255 add access_id 1 ip source_ip 0.0.0.0 port 1 deny
Попытка "переложения" правил на 3200-28 C1 лад:
Код:
# Allow ARP with user's ip-addresses (/29 per port)
create access_profile profile_id 1 profile_name allow_arp_ip packet_content_mask offset_chunk_1 3 0x0000FFFF offset_chunk_2 7 0x0000FFFF offset_chunk_3 8 0xFFF80000
# Allow user's ip-addresses (/29 per port)
create access_profile profile_id 2 profile_name allow_ip ip source_ip_mask 255.255.255.248
# Common rule: deny any ARP
create access_profile profile_id 3 profile_name deny_any_arp ethernet ethernet_type
# Common rule: Deny any IP
create access_profile profile_id 4 profile_name deny_any_ip ip source_ip_mask 000.000.000.000
# Allow ARP with sender ip net 10.53.129.8 at port 1
config access_profile profile_id 1 add access_id 1 packet_content offset_chunk_1 0x0000806 offset_chunk_2 0x00000A35 offset_chunk_3 0x81080000 port 1 permit counter enable
# Allow IP packets with ip net 10.53.129.8 at port 1
config access_profile profile_id 2 add access_id 1 ip source_ip 10.53.129.8 port 1 permit
# Deny any other ARP at port 1
config access_profile profile_id 3 add access_id 1 ethernet ethernet_type 0x0806 port 1 deny
# Deny any other IP at port 1
config access_profile profile_id 4 add access_id 1 ip source_ip 000.000.000.000 port 1 deny
Проблема с C1 заключается в том, что dhcp_relay отрабатывает теперь не
до ACL, а
после, так что без удаления "обще-"запрещающего правила DHCP-запрос от пользователя даже не проходит.
Что можно сделать в данной ситуации? IPMB отметаем из-за нежелания "привязываться" к MAC'ам пользователя на уровне коммутатора.