Задача:
Поделить исходящий мировой трафик между клиентами, находящимся за BGP маршрутизатором.
Дано:
100 мегабит/с "Украины", 10 мегабит/с "мира" и маршрутизатор Cisco 2811, на котором поднято BGP соединение с провайдером. Принимаем по BGP от провайдера только дефолтный маршрут 0.0.0.0
Предисловие:
Если, конечно, все делать правильно, изначально, то описанное ниже в корне неверно, так как шейпить на бордере считается высшей степенью хамства... Однако не всегда и не у всех есть лишний маршрутизатор в загашнике или же потребляемые ресурсы не настолько велики, чтобы для них заводить отдельную железку. У меня, например, второй вариант.
Решение:
1. Просим провайдера анонсировать UA-IX отдельным пирингом по отдельному VLAN, тем самым мы разделим потоки трафика, Украина побежит в свой интерфейс, все что не найдется в таблице UA-IX побежит в мировой интерфейс.
2. Определяемся с политикой нарезки трафика и создаем отдельные списки доступа (access-list) для каждого клиента, скорость аплоада на мир которого подлежит обрезанию...
Например: Имеем клиента с IP 192.168.18.21/30
Создаем access-list, находясь в режиме глобального конфигурирования:
router(config)#access-list 101 remark --==World Upload Traffic Shape==--
router(config)#access-list 101 permit ip host 192.168.18.21 any
3. На мировом интерфейсе включаем ограничение скорости с нужными значениями для созданных в п.2 списков доступа
Например: Мировой интерфейс имеет название: FastEthernet 0/1.100
Режем исход на 1 мегабит/с
router(config)#interface FastEthernet 0/1.100
router(config-subif)#rate-limit output access-group 101 1000000 62500 62500 conform-action transmit exceed-action drop
Теперь наш клиент, находящийся в списке доступа под номером 101 будет ограничен 1мегабитом/с исходящего мирового трафика.
П.С. С шейпингом входящего трафика, все аналогично, только задом наперед:
Список доступа:
router(config)#access-list 101 permit ip any host 192.168.18.21
Настройки на интерфейсе:
router(config-subif)#rate-limit input access-group 101 1000000 62500 62500 conform-action transmit exceed-action drop