Вернуться обратно в Блог
Сегодня 1 апреля, день смеха! И сегодня мы будем шутить над маршрутизатором. В шутить мы будем следующим образом - заставим наш роутер управлять ВХОДЯЩИМ трафиком и приоритезировать его по нашему велению и хотению. В этом нам поможет QoS. А как его настроить в домашних условиях - расскажу вам я.
Для начала классифицируем наш входящий траффик и распределим его по очередям
class-map match-any RealTime-Class-Out
match ip precedence 5
class-map match-any Hi-Class-Out
match ip precedence 4
class-map match-any Lo-Class-Out
match ip precedence 2
match ip precedence 1
class-map match-any Med-Class
match access-group name WWW
class-map match-any Lo-Class
match access-group name BitTorrent
class-map match-any Hi-Class
match access-group name Skype
match access-group name IPTV
match access-group name PLEX
class-map match-any Med-Class-Out
match ip precedence 3
class-map match-any RealTime-Class
match access-group name SSH
match access-group name CELL
Теперь создадим политику, которая распределит наш крассифицированный траффик по очередям и обеспечит управление при перегрузках
policy-map Queueing
class RealTime-Class-Out
priority 7000
class Hi-Class-Out
bandwidth remaining percent 50
random-detect
random-detect exponential-weighting-constant 8
random-detect precedence 4 20 60 20
class Med-Class-Out
bandwidth remaining percent 25
random-detect
random-detect exponential-weighting-constant 8
random-detect precedence 3 15 30 15
class Lo-Class-Out
bandwidth remaining percent 20
random-detect
random-detect exponential-weighting-constant 3
random-detect precedence 1 1 15 3
random-detect precedence 2 10 20 10
Теперь создадим политику, которая будет управлять исходящим трафиком, путем тегирования, распределяя его по очереядям, и ограничивая пропускную способность низко-приоритетного трафика.
policy-map TAGGING
class Hi-Class
set precedence 4
class Med-Class
set precedence 3
class Lo-Class
police 10000 2000 2000 conform-action set-prec-transmit 2 exceed-action set-prec-transmit 1 violate-action set-prec-transmit 1
class RealTime-Class
set precedence 5
class class-default
set ip precedence 1
Теперь осталось назначить политики на интерфейсы, а так же одну глобальную политику для тэгирования локального траффика маршрутизатора.
В моем случае интернет приходит от провайдера тегом, по этому создан сабинтерфейс в соответсвующем vlan. Применить политику можно только на физический интерфейс, по этому применяю на Fa0
interface FastEthernet0
no ip address
ip flow ingress
ip flow egress
duplex auto
speed auto
service-policy output Queueing
!
interface FastEthernet0.97
description Transit: SIBSET Uplink [100Mbit] (vlan 97)
encapsulation dot1Q 97
ip address 1.2.3.4 255.255.255.224
ip access-group PROCECT in
no ip redirects
no ip unreachables
no ip proxy-arp
ip flow ingress
ip flow egress
ip nat outside
ip virtual-reassembly in
!
На внутренний интерфейс, который смотрит в локальную сеть навешиваем политику тегирования
interface FastEthernet1
description Cust: SLIDER.WEB studio [100Mbit] (ethernet LAN)
ip address 10.10.45.1 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip accounting output-packets
ip flow ingress
ip flow egress
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
ipv6 address 2001:470:28:1E2:1000::1/69
ipv6 enable
ipv6 nd managed-config-flag
ipv6 dhcp server Pfx_1000-1800 rapid-commit
fair-queue
service-policy input TAGGING
hold-queue 100 out
Назначаем локальную политику для локального трафика
ip local policy route-map TAGGING
Создадим отдельную карту, в которой определим очереди тегированного траффика
route-map TAGGING permit 20
match ip address SSH
set ip precedence flash-override
!
route-map TAGGING permit 40
set ip precedence flash
!
Здесь я приведу набор списков доступа для примера.
ip access-list extended BitTorrent
permit udp any eq 51413 any
permit udp any range 65000 65535 any
permit tcp any range 65000 65535 any
permit tcp any eq 51413 any
ip access-list extended CELL
permit ip any host 10.10.45.147
permit ip host 10.10.45.147 any
ip access-list extended IPTV
permit ip any host 193.238.131.202
permit ip host 193.238.131.202 any
ip access-list extended PLEX
permit tcp any host 10.10.45.3 eq 32400
permit tcp host 10.10.45.3 any eq 32400
ip access-list extended SSH
permit tcp any any eq 22
ip access-list extended Skype
permit udp any eq 44330 any
permit udp any eq 55148 any
ip access-list extended WWW
permit tcp any any eq www
permit tcp any any eq 443
В чем хитрость, спросит пытливый читатель, а я отвечу. Хитрость в том, что таким хитрым образом мы обеспечили приоритезацию трафика внутри самого маршрутизатора, между интерфейсами Fa0 и Fa1. Так как мы не можем управлять входящим трфффиком напрямую, то мы обеспечили данный функционал, упраляя исходящим траффиком с интерфейса Fa0 в сторону Fa1.
Со стороны внутреннего интерфейса Fa1 траффик считается исходящим как в сторону Fa0, та к и в сторону нашей локальной сети. А локальная политика позволяет протегировать траффик прошедший через NAT. Таким образом мы обеспечили полноценную приоритезацию входящего трафика.
С данной настройкой я теперь могу качать файлы на максимальной скорости, не переживая что начнет разваливаться IPTV, заикаться телефония или подлагивать сетевые игры...
Дерзайте и Вы!
PS: между прочим хочу заменить, что после применения QoS на роутере мой Wi-Fi начал разогналя до положенных ему по стандарту скоростей - около 100 мегабит. До этого выше 20-30 не забирался. В качестве точки доступа я использую D-Link DIR-615-R2
Posted in Инфраструктура, Полезности on апр 01, 2017.