- Ограничить скорость интернета cisco asa
- Ограничение скорости подключения на CISCO ASA 5510
- IT Weekdays
- Задача: Ограничить скорость передачи данных для определённого сервиса (например: видеонаблюдение) на межсетевом экране Cisco ASA 5510 используя ASDM.
- Ограничение скорости интернета для пользователей на Cisco ASA 5510 или как мы переходили на Cisco ASA — часть 2
Ограничить скорость интернета cisco asa
Ограничение скорости подключения на CISCO ASA 5510
Подскажите, пожалуйста, можно ли на CISCO ASA 5510 ограничить скорость конкретному пользователю? Если можно, то как?
: Saved
:
ASA Version 8.0(3)
!
hostname GW-FW
domain-name default.domain.invalid
enable password r0/J1dqzenkSCG8m encrypted
names
dns-guard
!
interface Ethernet0/0
nameif inside
security-level 100
ip address 192.168.200.2 255.255.255.0
!
interface Ethernet0/1
nameif stream
security-level 0
ip address 81.195.34.170 255.255.255.240
!
interface Ethernet0/2
nameif tascom
security-level 0
ip address 10.104.29.2 255.255.255.0
!
interface Ethernet0/3
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
shutdown
nameif management
security-level 100
no ip address
management-only
!
passwd r0/J1dqzenkSCG8m encrypted
boot system disk0:/asa803.bin
ftp mode passive
dns domain-lookup tascom
dns server-group DefaultDNS
name-server 10.30.1.11
domain-name default.domain.invalid
object-group network internet
network-object host 192.168.35.5
network-object host 192.168.35.15
.
.
network-object host 192.168.150.2
object-group network in-internet
network-object host 81.195.34.173
network-object host 81.195.34.172
network-object host 81.195.34.171
network-object host 81.195.34.168
network-object host 81.195.34.169
network-object host 81.195.34.167
access-list INTERNET extended permit ip object-group internet any
access-list IN-INTERNET extended permit ip any object-group in-internet
pager lines 24
logging enable
logging timestamp
logging standby
logging buffered debugging
logging asdm informational
logging host inside 192.168.35.5
mtu inside 1500
mtu stream 1500
mtu tascom 1500
mtu management 1500
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm603.bin
no asdm history enable
arp timeout 14400
global (stream) 1 interface
global (tascom) 1 interface
nat (inside) 1 0.0.0.0 0.0.0.0
static (inside,stream) 81.195.34.173 192.168.100.4 netmask 255.255.255.255
static (inside,stream) 81.195.34.172 192.168.100.2 netmask 255.255.255.255
static (inside,stream) 81.195.34.171 192.168.35.2 netmask 255.255.255.255
static (inside,stream) 81.195.34.168 192.168.150.150 netmask 255.255.255.255
static (inside,stream) 81.195.34.169 192.168.100.120 netmask 255.255.255.255
static (inside,stream) 81.195.34.167 192.168.100.18 netmask 255.255.255.255
static (inside,stream) 81.195.34.166 192.168.100.6 netmask 255.255.255.255
access-group INTERNET in interface inside
access-group IN-INTERNET in interface stream
route stream 0.0.0.0 0.0.0.0 81.195.34.161 1 track 1
route stream 0.0.0.0 0.0.0.0 81.195.34.161 1
route tascom 0.0.0.0 0.0.0.0 10.104.29.1 2
route tascom 10.0.0.0 255.0.0.0 10.104.29.1 1
route inside 192.168.0.0 255.255.0.0 192.168.200.1 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
dynamic-access-policy-record DfltAccessPolicy
http server enable
http 192.168.1.0 255.255.255.0 management
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
sla monitor 123
type echo protocol ipIcmpEcho 194.87.0.50 interface stream
num-packets 2
request-data-size 50
timeout 2
threshold 2000
sla monitor schedule 123 life forever start-time now
!
track 1 rtr 123 reachability
telnet 192.168.0.0 255.255.0.0 inside
telnet timeout 5
ssh timeout 5
console timeout 0
threat-detection basic-threat
threat-detection statistics access-list
username greeth password N1lMX/f/y5Y8Dk2J encrypted
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns migrated_dns_map_1
parameters
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns migrated_dns_map_1
inspect ftp
inspect h323 h225
inspect h323 ras
inspect rsh
inspect rtsp
inspect esmtp
inspect sqlnet
inspect skinny
inspect sunrpc
inspect xdmcp
inspect sip
inspect netbios
inspect tftp
inspect icmp
inspect http
!
service-policy global_policy global
prompt hostname context
Cryptochecksum:caa211312eb3ae37921f3cfadb946577
: end
Если не трудно на примере.
IT Weekdays
Задача: Ограничить скорость передачи данных для определённого сервиса (например: видеонаблюдение) на межсетевом экране Cisco ASA 5510 используя ASDM.
Данная ситуация может возникнуть когда мы имеем канал, который используется для различных сервисов: RDP, SIP, FTP, VIDEO и прочего. Чтобы служба безопасности не забирала всю ширину канала своим видеонаблюдением и давала пользователям бухгалтерии комфортно работать в «1С» по RDP и разговаривать по SIP, необходимо как-то этот канал поделить между используемыми сервисами.
Одним из вариантов решения данной проблемы, является ограничение максимальной скорости для конкретного сервиса. В терминологии Cisco это называется Policing.
2. Выбираем интерфейс, на который повесим политику, а также задаём Имя и Описание создаваемой политики
3. Выбираем критерий, по которому будем фильтровать трафик. Будем использовать расширенный список доступа – ACL
Внимание! Самое главное правильно его написать. Если говорить о системе видеонаблюдения ILDVR то клиент подключается к серверу к порту TCP 5100. Так как порт клиента динамический, то в ACLe необходимо в дополнительной секции в поле Source Service указать наш порт 5100.
Максимальная скорость указывается в битах/секунду и округляется до тысячи. Размер окна всплеска Cisco рассчитывает на основании указанной максимальной скорости, устанавливается вручную, однако если Вы не попали в «пожелания Cisco», то при применении конфигурации ASDM ругнётся, но примет указанной значение. Конечно, лучше изменить значение размера всплеска на рекомендуемое.
Важно правильно указать направление политики. Применить эту политику во входящем направлении интерфейса или на выходе, смотря на какой интерфейс Вы вешаете политику: в данном случае на интерфейсе находящемся в сети сервера.
Важно! В случае ограничения TCP протокола, изменения вступают в силу только после переустановки TCP-соединений.
Ограничение скорости интернета для пользователей на Cisco ASA 5510 или как мы переходили на Cisco ASA — часть 2
Итак, с PBR на Cisco ASA кое-как разобрались. Пришло время взяться за ограничение скорости для пользователей. На дебиане оно было реализовано просто и эффективно: при помощи iptables + htb у всех были выставлены минимальная (гарантированная) и максимальная скорость. Все были довольны, всем всего хватало. По необходимости, скорость конкретным пользователям весьма просто увеличивалась или уменьшалась.
Но тут пришла угрюмая и неповоротливая циска. В первую очередь хотелось бы немного рассказать о том, какие способы ограничения скорости есть в Cisco ASA.
Первый и, как мне кажется, более правильный способ — шейпинг трафика (traffic shaping). Его прелесть в том, что при превышении разрешенной скорости пакеты не отбрасываются, а по возможности складываются в буфер, откуда в дальнейшем отправляются в точку назначения. Это может вносить небольшие задержки (которые зависят от размера буфера и наличия высокоприоритетного трафика), но при этом мы можем отдавать приоритет определенному (например, голосовому) трафику и передавать его максимально быстро. Шейпинг трафика может быть применен только по отношению к исходящим пакетам.
Второй способ — traffic policing. Основное его отличие от шейпинга состоит в отсутствии буфера, т.е. «лишние» пакеты просто отбрасываются. Еще одним отличием от шейпинга является то, что он может применяться как к входящим пакетам, так и к исходящим. Несмотря на отсутствие буфера, приоритезация трафика возможна и в этом случае. Осуществляется она благодаря использованию очереди LLQ (Low-latency queuing). Отличие от шейпинга в данном случае состоит в том, что задержки для любого типа трафика будут ниже, но при этом возможность потери пакетов гораздо выше.
С точки зрения качества обслуживания, было бы неплохо использовать шейпинг трафика. Но тут кроется основная проблема: ASA умеет шейпить трафик только для class-default, т.е. весь трафик, да и то только исходящий. По сути, эта «фишка» реализована тут только для приближения скорости передаваемых данных к ширине канала — передать максимум, пусть и с задержками, потерять минимум.
Таким образом, ограничить входящую скорость всем и каждому мы можем только при помощи полисинга. При этом, если мы желаем ограничить скорость именно для каждого айпишника, нам придется создать по одному acl (access-list) на каждый адрес. Далее, для каждого acl необходимо создать class-map. Вот тут-то и кроется загвоздка. Общее количество class-map’ов в ASA ограничено числом 255. Если общее количество работников/серверов превышает это значение, то вы не сможете ограничить всех и каждого. Так или иначе придется разбивать всех по определенным группам и выставлять скорость уже для группы. При этом, естественно, любители скачивать торренты будут «отбирать» у группы больше скорости, чем было в случае iptables + htb — соответственно качество обслуживания остальных будет ниже.
Рассмотрим конкретный пример ограничения входящей скорости до 10 Мбит/с.
Создать access-list для интересующих нас адресов (сеть 192.168.1.0/24):
access-list LIMITED extended permit tcp any 192.168.1.0 255.255.255.0
Создать соответствующий class-map:
class-map LIMITED match access-list LIMITED
policy-map LIMITED class LIMITED police output 10000000
И применить его к интерфейсу локальной сети:
service-policy LIMITED interface LOCAL
Несколько пояснений по вышеуказанной конфигурации:
- направление трафика output соответствует трафику, исходящему с интерфейса внутрь сети, т.е. в нашем случае это будет входящий трафик из интернета;
- скорость для полисинга указывается в битах в секунду;
- policy-map применяется для локального интерфейса, т.к. на внешнем интерфейсе у нас будут видны только адреса, которые прошли через NAT;
Такой вариант ограничения скорости может быть хорошим в том случае, если список адресов, у которых скорость ограничена всегда укладывается в одну подсеть или редко меняется. На практике такое встречается не часто и поэтому гораздо удобнее пользоваться группами объектов. В группы можно добавлять адреса по одному или целыми подсетями. При этом, два одинаковых адреса добавить не получится (чего не скажешь о двух одинаковых правилах access-list). Создадим группу и добавим в нее несколько хостов:
object-group network LIMITED network-object host 192.168.1.5 network-object host 192.168.1.7 network-object host 192.168.1.8
Создадим access-list для этой группы:
access-list LIMITED extended permit tcp any object-group LIMITED
Если же нам необходимо исключить из полисинга какой-то трафик (к примеру, трафик DMZ-сети), то мы должны добавить соответствующий access-list с действием deny до этого правила. Выглядеть это будет примерно так (допустим, DMZ-сеть имеет адреса 192.168.15.0/24):
access-list LIMITED extended deny tcp 192.168.15.0 255.255.255.0 object group LIMITED access-list LIMITED extended permit tcp any object-group LIMITED
После этого применим такие же class-map и policy-map, которые были рассмотрены выше и сохраним конфигурацию краткой командой wr. При необходимости, можно посмотреть статистику полисинга:
show service-policy police
Эта команда выведет данные по ограничению скорости для каждого class-map, перечисленного в policy-map.
На этом простая настройка ограничения скорости завершена.