[[tssltd:общие_настройки|Вернуться к оглавлению]] ==== Управление пропускной способностью (shaping traffic) ==== Устройство МКСЗ «Diamond VPN/FW» поддерживает возможность управления пропускной способностью для разных типов трафика на основе различных полей и заголовков сетевого пакета. С помощью настроек можно задать как гарантированную полосу для сервиса, так и возможное отклонение по пропускной способности в случае наличия свободного канала передачи данных. Управлять политиками пропускной способности можно только для исходящего сетевого трафика. Для примера разберем вариант настройки заданной полосы пропускания для каждого типа трафика (__//изобр. 11.b.1//__). {{ :tssltd:7с.png |}}\\ __//Изобр. 11.b.1. Схема подключения и приоритезации сетевого трафика//__ Политику пропускной способности будет задавать на основе ip подсетей. Исходные данные по подсетям представлены в __//табл. 11.b.1//__. __//Табл. 11.b.1. Настройка параметров управления сетевого трафика//__ ^ Название отдела ^ IP подсеть ^ Гарантированная полоса ^ Допустимая полоса ^ Класс трафика ^ | Общий канал | 100 Мбит/c |||| | Телефония | 172.16.92.0/24 | 10 Мбит/c | 10 Мбит/c | 11 | | Бухгалтерия | 192.168.45.0/24 | 30 Мбит/c | 40 Мбит/c | 12 | | Отдел продаж | 10.10.13.0/24 | 20 Мбит/c | 30 Мбит/c | 13 | | Остальной трафик | --- | --- | 40 Мбит/c | 15 | Под гарантированной полосой следует понимать исходящую пропускную способность канала передачи данных, которую мы гарантируем для заданной подсети. При пиковой нагрузки сети пропускная способность для заданной подсети не опустится ниже этого значения. Под допустимой полосой следует понимать исходящую пропускную способность канала передачи данных, которую может занять сетевой трафик для заданной подсети при условии, что общий канала передачи данных будет свободен. В случае появления нагрузки значение допустимой полосы будет уменьшено до значения гарантированного значения. Конфигурация, которая будет обеспечивать заданные параметры представлена ниже: # tc qdisc add dev eth1 root handle 1: htb default 15 # tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit # # tc class add dev eth1 parent 1: classid 1:15 htb rate 40mbit # tc class add dev eth1 parent 1: classid 1:11 htb rate 10mbit # tc class add dev eth1 parent 1: classid 1:12 htb rate 30mbit ceil 40mbit # tc class add dev eth1 parent 1: classid 1:13 htb rate 20mbit ceil 30mbit # # tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 172.16.92.0/24 flowid 1:11 # tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.45.0/24 flowid 1:12 # tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 10.10.13.0/24 flowid 1:13 После задания настроек все изменения по приоритезации сетевого трафика вступят в силу. Для просмотра информации о текущих настройках приоритезации на сетевом интерфейсе необходимо выполнить команду «**tc -s c s dev <название сетевого интерфейса>**»: # tc -s c s dev eth1 class htb 1:11 root prio 0 rate 10Mbit ceil 10Mbit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 20000 ctokens: 20000 class htb 1:1 root prio 0 rate 100Mbit ceil 100Mbit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 2000 ctokens: 2000 class htb 1:13 root prio 0 rate 20Mbit ceil 30Mbit burst 1600b cburst 1593b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 10000 ctokens: 6656 class htb 1:12 root prio 0 rate 30Mbit ceil 40Mbit burst 1593b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 6656 ctokens: 5000 class htb 1:15 root prio 0 rate 40Mbit ceil 40Mbit burst 1600b cburst 1600b Sent 665577 bytes 2544 pkt (dropped 0, overlimits 18 requeues 0) backlog 0b 0p requeues 0 lended: 2526 borrowed: 0 giants: 0 tokens: 4681 ctokens: 4681 Также для просмотра статистики можно использовать команду «**tc -s -g class show dev <название сетевого интерфейса>**»: # tc -s -g class show dev eth1 +---(1:15) htb prio 0 rate 40Mbit ceil 40Mbit burst 1600b cburst 1600b | Sent 750991 bytes 2840 pkt (dropped 0, overlimits 19 requeues 0) | backlog 0b 0p requeues 0 | +---(1:12) htb prio 0 rate 30Mbit ceil 40Mbit burst 1593b cburst 1600b | Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) | backlog 0b 0p requeues 0 | +---(1:13) htb prio 0 rate 20Mbit ceil 30Mbit burst 1600b cburst 1593b | Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) | backlog 0b 0p requeues 0 | +---(1:1) htb prio 0 rate 100Mbit ceil 100Mbit burst 1600b cburst 1600b | Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) | backlog 0b 0p requeues 0 | +---(1:11) htb prio 0 rate 10Mbit ceil 10Mbit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 Чтобы сохранить настройки управление пропускной способностью сетевого интерфейса необходимо перенести их в инициализирующий файл «**run-post.sh**», который будет автоматически выполняться при каждом запуске устройства. Файл находится в папке «**/media/storage/overlay/**». Чтобы перейти в папку «**/media/storage/overlay**» необходимо выполнить команду «**cd /media/storage/overlay/**» Чтобы открыть файл для задания конфигурации необходимо выполнить команду «**nano /media/storage/overlay/run-post.sh**» и задать конфигурацию управление пропускной способностью (__//изобр. 11.b.2//__). {{ :tssltd:tc_run_post.png | Задание конфигурации для сетевого интерфейса }}\\ __//Изобр. 11.b.2. Задание конфигурации для сетевого интерфейса//__ Для сохранения настроек необходимо нажать комбинацию клавиш «**Ctrl + X**», на вопрос о сохранении изменения ответь «**Yes**» и нажать на клавишу «**Enter**». Проверить, что настройки сохранены можно с помощью команды «**cat run-post.sh**». После сохранения настроек, для их инициализации необходимо выполнить команду «**/media/storage/overlay/run-post.sh**». Настройки управление пропускной способностью будут автоматически применяться при каждом запуске устройства. Для удаления политики управления пропускной способностью необходимо выполнить команду «**tc qdisc del dev eth1 root handle 1: htb default 15**». [[tssltd:общие_настройки|Вернуться к оглавлению]]