Я из мира Linux. В Linux я занимался межсетевыми экранами, QoS, динамической маршрутизацией, туннелями, ipsec, ipv6 и даже писал собственные сетевые расширения для ядра.
И вот теперь у меня под контролем Cisco 681. Я понимаю основы, но постоянно сталкиваюсь с некоторыми проблемами, например:
Я гуглил и читал разные вещи, но все же я был очень неопытен, когда имел дело с этим.
Например, я пытаюсь добавить простой QoS на основе классов для рабочей конфигурации одного из маршрутизаторов.
Я подготовил простой конфиг:
no ip access-list extended RT_PROTOCOLS
ip access-list extended RT_PROTOCOLS
permit icmp any any
permit udp any any eq 53
permit tcp any any eq 22
!
no ip access-list extended HIGH_PROTOCOLS
ip access-list extended HIGH_PROTOCOLS
permit tcp any any eq 80
permit tcp any any eq 443
!
class-map match-any RT_CLASS
match access-group name RT_PROTOCOLS
class-map match-any HIGH_CLASS
match access-group name HIGH_PROTOCOLS
!
policy-map INTERNET_OUT_POLICY
class RT_CLASS
bandwidth percent 10
random-detect
class HIGH_CLASS
bandwidth percent 40
random-detect
class class-default
fair-queue
bandwidth percent 40
random-detect
!
policy-map INTERNET_OUT_QOS
class class-default
shape average 8000
service-policy INTERNET_OUT_POLICY
!
interface FastEthernet4
no fair-queue
service-policy output INTERNET_OUT_QOS
!
и копирую через copy scp://source running-config
. Маршрутизатор немедленно вызывает высокий пинг и примерно через 20 секунд полностью зависает.
Как мне отладить, что не так?
Мы будем благодарны за любые ссылки, документы, советы и подсказки.
Как правило, применяйте конфигурации с консоли, через сеанс Telnet или SSH к устройству, вместо того чтобы пытаться скопировать конфигурацию в работающую конфигурацию. Сделав это, вы будете предупреждены о любых проблемах с конфигурацией при попытке настроить.
Я думаю, что конкретная проблема, с которой вы столкнулись, заключается в том, что у 681 довольно слабый процессор и сопоставление номеров портов UDP / TCP относительно интенсивно, поэтому я подозреваю, что у вас просто заканчивается вычислительная мощность. Если вы попробуете сделать пару show process cpu
после применения конфигурации вы, вероятно, увидите резкий скачок загрузки ЦП.
редактировать: Одна удобная вещь, которая (в некоторой степени) решает проблему отсутствия под рукой tcpdump (он доступен в некоторых более новых версиях IOS, но только бит "захвата", затем вам нужно будет загрузить файлы PCAP на другой хост, чтобы выполнить анализ) - это то, что я обычно называю «мониторингом ACL». Просто определите ACL, который соответствует тому, что вы хотите проверить (наличие или отсутствие), а затем закончите permit ip any any
чтобы фактически не блокировать трафик. Если трафик, который вы специально ищете, проходит, счетчики в ACL (как показано с помощью "show access-list название") будет увеличиваться.
Вот несколько советов, которые помогут сузить вывод команды show run, аналогично grep:
show run | begin word : to start displaying the config at a specific line containing word show run | include word : to display all the lines containing the given word show run | section word : is a good one, too
Мне нравится выполнять настройку через сеанс последовательной консоли с помощью PuTTy, чтобы у меня был метод доступа к IOS, не зависящий от работающего интерфейса (и как товарищ по Linux, который занимается этим всего шесть месяцев или около того, я часто возится и ломает интерфейсы).
Вместе с последовательной консолью я делаю все незавершенные резервные копии и восстанавливаю, установив terminal length 0
так что я могу скопировать и вставить всю текущую конфигурацию в файл, внести в него массовые изменения, если необходимо, и снова вставить его, если необходимо.
- трудно отлаживать (где tcpdump ?!)
debug ip packets
Опасно (см. Ваш пункт №2), но есть парсеры, которые могут генерировать файл .pcap из отладки cisco.
- легко повесить / вылететь (особенно при отладке)
Конечно. Даже с большими роутерами.
- Мне понадобятся практические советы о том, как управлять этим (копирование running-config через scp и обратно не удается ...)
router#copy tftp://tftpsrv.local/conf/router-confg start
Destination filename [startup-config]?
[OK]
router#configure replace nvram:startup-config
This will apply all necessary additions and deletions
to replace the current running configuration with the
contents of the specified configuration file, which is
assumed to be a complete configuration, not a partial
configuration. Enter Y if you are sure you want to proceed. ? [no]: y
...
Перезагрузка не требуется. Вы также можете скопировать конфигурацию с tftp-сервера.
- большая часть документации, которую я нахожу, - ИМХО корпоративная чушь (много слов, меньше информации)
Хорошую информацию можно найти в блогах CCIE. И если вы хотите потренироваться в лаборатории, посетите лабораторию сообщества packetlife!