пятница, 12 декабря 2014 г.

ASA Site-to-Site IPsec dual-ISP redundancy

Есть два офиса. В одном (главном) два аплика, в другом - один. В офисах стоят ASA 5505. Между ними IPSec Site-toSite tunnel. При падении основного канала нужно, чтобы туннель автоматически поднимался через резервный.


Схема в GNS3

На sw1 не обращайте внимания, он выведен в реальную сеть для управления фаерволами. Трафик идет через маршрутизаторы.

вторник, 18 ноября 2014 г.

Dual ISP enterprise (branch) cisco router, firewall (ASA)

Классическая задача для предприятий и малого бизнеса - настройка маршрутизатора с двумя каналами в интернет без использования динамических протоколов маршрутизации. Очень много информации на эту тему есть в сети. Решил и я сделать заметку.

Нужно дать пользователям интернет и опубликовать какой-либо сервис (например, RDP) наружу.

Основные затыки происходят тут:
- динамическая смена маршрута 0.0.0.0 0.0.0.0;
- настройка NAT для двух внешних интерфейсов;
- доступность опубликованного сервиса сразу через оба ISP.

Есть хороший пост на хабре - По просьбам трудящихся: Dual ISP на маршрутизаторах cisco без BGP и на сайте этого же автора более полная дока, с рассмотренным вариантом использования сразу двух ISP - Сергей Фёдоров "Подключение к 2 ISP с настройкой трекинговой маршрутизации и NAT.

Вот дока 2008 года с сайта cisco - http://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/100658-ios-nat-load-balancing-2isp.html.

Итак, нам нужно использовать IP SLA для решения первого пункта, ROUTE-MAP для решения второго и третьего.

Использую эти документы, я собрал схему в GNS3. В моем случае опубликован был сервис telnet. На внешних адресах (172.16.X.X) он светился в порту 10023, внутри шел на 192.168.1.2:23.


Опять про MTU

четверг, 6 ноября 2014 г.

Выпустить GNS3 в реальный мир tagged (trunk) портом

У меня возникла необходимость подключить GNS3 к физическим маршрутизаторам. В процессе изучения MPLS я проверял работу функционала bfd, который отказался работать внутри dynamips.
Для построения моей схемы мне нужно было не менее четырех интерфейсов. На моем ноуте только один сетевой порт под rj45. Очевидно, что нужно использовать dot1q. Откровенно говоря, раньше я не подключал сетку GNS к живой сети, но мне попадалась статейка о том, как это делается.

Тут проблем никаких не возникло. В GNS есть элемент "облако". Именно с помощью него можно подключиться к миру.

В настройках облака выбираем нужный ethernet-адаптер и делаем линк между элементами.




У меня реальная сетка - это 192.168.3.0 с шлюзом .1. Настраиваем интерфейс маршрутизатора, проверяем доступность интернетов.

среда, 5 ноября 2014 г.

Windows 7, dot1q и tagged port (trunk)

В гугле пишут, что если у тебя сетевуха intel, то она обязана уметь dot1q. Речь идет о Win7. Это прекрасно, но в моем ноуте стоит Realtek. Есть шансы и у этой сетевухи. Пообщавшись с человеком, который подружил винду с vlan на карте от Realtek, я понял, что ничего тут сложного нет. Всего-то нужна свежая версия драйвера и утилита Realtek Ethernet Diagnostic Utility.


Все достаточно легко нашлось на сайте Realtek. Обновил дрова, поставил утилиту, бутнул ноут по старой прывычке. Загрузился. Открываю утилиту.


Выбираю VLAN, жму add, указываю номер тега "3". Программа задумывается, перебирает свои пункты, в результате в сетевых подключениях у меня появляется интерфейс "Подключение по локальной сети 5" с надписью "сетевой кабель не подключен". В утилите не появилось никаких новых vlan. Список был все также пуст. При этом настоящий физический интерфейс потерял "поддержку tcp/ipv4", после чего я, естественно, отвалился от сетки. Я просто вернул обратно поддержку tcpip и опять попал в нативный vlan.. Да, забыл сказать, предварительно я настроил порт на коммутаторе в котором мне подается нативный vlan и vlan с номерами 3 и 8 с тегами.

среда, 8 октября 2014 г.

Базовые сервисы технологии MPLS

Хорошая обзорная статья по технологии MPLS.
Оригинал статьи - http://nag.ru/go/text/15448/

MPLS ATM интеграция.
MPLS QoS.
MPLS Traffic Engineering (TE).
  Traffic Engineering (TE).
  Fast Re Route (FRR).
MPLS L3 VPN.
MPLS L2 VPN.
  Point-to-Point VPN (AToM, EoMPLS).
  Multi-Point VPN (VPLS).
GMPLS.
Заключение.
Основным преимуществом MPLS считается ускорение скорости продвижения пакетов (IP) в ядре сети. Однако существуют и другие, не менее важные, приложения для этой технологии.
MPLS ATM интеграция.
Прежде всего, MPLS предоставляет дополнительную возможность соединения IP и ATM-сетей. Считается, что на сегодня это наилучший вариант консолидации сетевой инфраструктуры, содержащей ATM элементы. MPLS и ATM обычно рассматривают как дополняющие друг друга технологии. Возможность развернуть MPLS поверх ATM инфраструктуры практически дает вторую жизнь ATM.
MPLS QoS.
MPLS не определяет новую QoS архитектуру, а базируется на использовании широко известной и зарекомендовавшей себя на практике IP QoS парадигмы.
Для IP QoS определено две модели: IntServ и DiffServ.
IntServ определяет потоковый QoS и использует RSVP для сигнализации.
DiffServ использует маркировку пакетов на границе сети и дальнейшую обработку. Трафик разбивается на классы и в зависимости от этого обрабатывается механизмами ограничения, выравнивания и приоритезации.
MPLS QoS использует DiffServ подход, помещая необходимую маркировку в заголовке. Эквивалентом DSCP метки может являться трехбитовое Experimental поле в MPLS.
Кроме того, реализация TE в принципе может автоматически выполнять функции QoS.
MPLS Traffic Engineering (TE).
Traffic Engineering (TE).
Traffic Engineering (TE) – это возможность управления направлением прохождения трафика с целью выполнения определенных условий (резервирование каналов, распределение загрузки сети, балансировка и предотвращение перегрузок).
Обычные протоколы маршрутизации (IGP протоколы IS-IS, OSPF) предоставляют ограниченные возможности по управлению трафиком на основе метрик составляющих сеть линков.
Основной механизм TE в MPLS – использование однонаправленных туннелей (MPLS TE tunnel) для задания пути прохождения определенного трафика. Например, для одного вида трафика, например высокоприоритетного голосового можно проложить один путь через сеть, а для низкоприоритетного – другой. Так как туннели – однонаправленные, то обратный путь может быть совершенно другим.
Рисунок 1

пятница, 18 июля 2014 г.

ASA. Резервирование IPSec туннелей, RA VPN.

Итак, с чего бы начать повествование… Пожалуй, начну с того, как все было раньше и как развивалось. Я пришел в компанию-интегратор около двух лет назад. До этого в течении пяти лет я трудился у операторов ШПД и мобилников. Там я занимался магистральной сетью. Здесь же пришлось перейти на другой уровень - сетей предприятия. Если операторские сети характеризуются большим трафиком и кучей маршрутов, то сети предприятий - это интеллектуальные услуги с небольшим трафиком. Везде своя специфики, разные устройства.
Любой интегратор - контора проектная, где прибыль приносят исключительно проекты. Когда специалист занимается настройкой или проектированием по какому-либо проекту, оплата его труда идет из бюджета этого проекта. В компании есть внешние проекты - проекты, которые приносят деньги, и есть внутренние - такие как “Поддержка внутренней сетевой инфраструктуры” и т.д. Внутренние тоже требуют затрат труда, но руководители проектов не любят тратить бюджет вутренний, да и специалисты не любят внутренние проекты из-за того, что по ним час труда стоит меньше (эдакая мотивация заниматься внешними коммерческими проектами). Из вышесказанного можно сделать вывод, что внутренняя структура ИТ находится на уровне “чтобы работало”, но с минимальными затратами.
Когда я пришел в фирму, внутренняя сеть представляла собой классический пример SOHO (даже не SMB). Единственное, что отличало  её от домашней сети - наличие нескольких VLAN (DMZ, WLAN, LAN). На периметре стояла одинокая ASA 5505 с единственным каналом в интернет. На этой железке был поднят сервис Remote Access VPN на Cisco Anyconnect с авторизацией через LDAP. Нужно заметить, что был реализован и доступ через Clientless SSL VPN со всеми его фичами такими как split-tunnel, java-приложения (rdp, vnc, telnet/ssh).
Временами у провайдера случались аварии. И все бы ничего, если бы в один прекрасный день, это не произошло во время электронных торгов, а именно какой-то борьбы за тендер. Так встал вопрос о подключении второго провайдера и резервировании доступа в интернет. Подключили ещё один канал от другого оператора. Новый канал падал чаще, но, тем не менее, они все время падали в разное время.
  На ASA я реализовал автоматическое переключение с использованием IP SLA и Track. Пингуем гугловский публичный днс через основной канал. Если пинги не проходят, убираем статический маршрут “по-умолчанию” с наибольшей метрикой (по срабатывани. track). Остается маршрут постоянный с большей метрикой. Резервирование интернета есть.
 Прошло некоторое время, и у фирмы появился офис в другом городе. Вся инфраструктуара находится, соответственно, в основном офисе. Появилась новая задача - подключить офис к существующим ресурсам с минимальными затратами. Так появилась ещё одно ASA и IPSec site-to-site туннель. И всё шло хорошо до первого падения основного канала. Туннель не резервируется. На ASA основного офиса нет возможности построить два туннеля через разные интерфейсы на один IP адрес т.к. маршрут наружу для удаленного хоста идет только через один интерфейс. В момент падения туннели приходилось переделывать руками.
 Так получилось, что у меня оказалась одна свободная ASA 5505. Я решил задействовать её, переместив на нее резервный канал в интернет. В виду минимальных расходов на собственную инфраструктуру в ядре нашей сети нет коммутатора L3, поэтому пока не реализовано резервирования “шлюза по-умолчанию”, в связи с чем я решил включить вторую ASA в первую (ASA не поддерживает ни один из FHRP). При начилчии коммутатора L3 в ядре резервирование “шлюза по-умолчанию” делается на динамическом протоколе маршрутизации.

 Начальная схема:

пятница, 27 июня 2014 г.

IPTV через Mikrotik по DLNA

Началось все с того, что у меня сломалась домашняя IPTV приставка Aminet. Она была уже достаточно старенькая, HD каналы не умела показывать, поэтому у меня были мысли её заменить на какой-нибудь другой плеер. Незадолго до этого события я поменял домашний маршрутизатор с D-link Dir-300 на Mikrotik RouterBOARD 951G-2HnD.


четверг, 19 июня 2014 г.

EtherChannel vs LACP vs PAgP

В конце есть статьи полезные ссылки.
Оригинал тут - http://advanxer.com/blog/2013/08/etherchannel-vs-lacp-vs-pagp/

Etherchannel
What is EtherChannel?
EtherChannel links formed when two or more links budled together for the purposes of aggregating available bandwidth and providing a measure of physical redundancy. Without EtherChannel, only one link will be available while the rest of the links will be disabled by STP, to prevent loop.
p/s# Etherchannel is a term normally used by Cisco, other vendors might calling this with a different term such as port trunking, trunking (do not confuse with cisco’s trunk port definition), bonding, teaming, aggregation etc

понедельник, 9 июня 2014 г.

Calalyst 4500 serial numbers

Чтобы получить подробную инфу по платам и их серийникам в 4500 и 6500 есть команда

Cat4507RE-Core-2#show idprom ?
  all           show all non-interface IDPROMs
  chassis       show IDPROM for chassis
  clock-module  show IDPROM for backplane clock module
  fan-tray      show IDPROM for system fan tray
  interface     show contents of gbic connected to this interface
  module        show IDPROM for module
  mux-buffer    show IDPROM for mux buffers
  power-supply  show IDPROM for power supply
  supervisor    show IDPROM for supervisor

show IDPROMs for chassis and supervisor

четверг, 22 мая 2014 г.

Ошибка PLATFORM_UCAST-4-PREFIX Catalsyt 3750

show platform tcam utilization
sh platform ip unicast counts
sh platform ip unicast failed route 

Тут подробно - http://www.anticisco.ru/forum/viewtopic.php?f=2&t=4836&view=previous

Тут же мимо ходом. Нашел процесс, который съедает весь цпу. HL3U bkgrd process. По нему нашел вот что - https://supportforums.cisco.com/discussion/11788206/hl3u-bkgrd-proce-high-cpu-usage-3750x-switch:
Hl3u bkgrd process - manages quite a few background tasks like
- Hardware Arp throttling house keeping tasks
- Retry adjs/Fib in case of an out of hardware resource condition
- proxy arp house keeping functions
- ICMP redirect processing
- TTL ICMP error generation in some conditions
- handling correct route forwarding in an output acl full condition
2) Check for ARP statictics under sh ip traffic.I dont have any access to the config of your device hence assuming.
could you check if "no ip arp incomplete enable" command dose the trick for you?
3) Also consider the bug mentioned by Alex thats a clean hit.

воскресенье, 11 мая 2014 г.

PPTP. network behind client.

Две площадки объединены туннелем. На одной стоит PPTP сервер на линуксе, на другой микротик, который цепляется к первому клиентским туннелем. За микротиком сетка 192.168.3.0/24. В линуксе нужно прописать маршрут. Делаем это динамически при подключении определенного пира. IP-адрес для пира постоянный. Итак, в файл /etc/ppp/ip-up дописываем:

#!/bin/sh
#
# This script is run by the pppd after the link is established.
# It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes,
# set IP address, run the mailq etc. you should create script(s) there.
#
# Be aware that other packages may include /etc/ppp/ip-up.d scripts (named
# after that package), so choose local script names with that in mind.
#
# This script is called with the following arguments:
#    Arg  Name                          Example
#    $1   Interface name                ppp0
#    $2   The tty                       ttyS1
#    $3   The link speed                38400
#    $4   Local IP number               12.34.56.78
#    $5   Peer  IP number               12.34.56.99
#    $6   Optional ``ipparam'' value    foo

# The  environment is cleared before executing this script
# so the path must be reset
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH

# These variables are for the use of the scripts run by run-parts
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM

# as an additional convenience, $PPP_TTYNAME is set to the tty name,
# stripped of /dev/ (if present) for easier matching.
PPP_TTYNAME=`/usr/bin/basename "$2"`
export PPP_TTYNAME

case "$5" in
        172.26.100.42)
                /sbin/route add 192.168.3.161/32 gw 172.26.100.42
                ;;
        *)
esac

# If /var/log/ppp-ipupdown.log exists use it for logging.
if [ -e /var/log/ppp-ipupdown.log ]; then
  exec > /var/log/ppp-ipupdown.log 2>&1
  echo $0 $*
  echo
fi

# This script can be used to override the .d files supplied by other packages.
if [ -x /etc/ppp/ip-up.local ]; then
  exec /etc/ppp/ip-up.local "$*"
fi

run-parts /etc/ppp/ip-up.d \
  --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6"

# if pon was called with the "quick" argument, stop pppd
if [ -e /var/run/ppp-quick ]; then
  rm /var/run/ppp-quick
  wait
  kill $PPPD_PID
fi

Тут есть описание переменных, можно сделать это в отдельном файле ip-up.local. Да, чтобы одинаковые маршруты не плодились не забудьте прописать аналогичное в ip-down (route del).

четверг, 20 марта 2014 г.

Wing Motorola dhcp server on rfs 6000

Некоторое время не мог понять, почему же dhcp сервер в контроллере rfs6000 пишет в логах "Jan 02 15:54:39 2012: %DAEMON-3-ERR: dhcpd: DHCPDISCOVER from b4:c7:99:df:a8:e0 via vlan1: network vlan1: no free leases" при отсутствии вообще назначений. И тут до меня дошло :)

Смотрим на конфиг:

!
dhcp-server-policy dhcp-policy-global
 dhcp-pool WLAN1
  network 192.168.18.0/24
  excluded-address range 192.168.18.1 192.168.18.10
  default-router 192.168.18.1
  dns-server 8.8.8.8
 dhcp-pool AP-POOL
  network 192.168.19.0/24
  excluded-address range 192.168.19.1 192.168.19.10
  default-router 192.168.19.1
  dns-server 8.8.8.8
!

среда, 12 марта 2014 г.

Cisco IOS destination NAT from inside/outside

Это привычная всем трансляция "снаружи" или как её ещё называют "проброс портов" с внешнего адреса на внутренний хост. Указываем внешний адрес маршрутизатора 10.255.253.2 в браузере, попадаем на 80 порт хоста 10.10.1.213.
!
ip nat inside source static tcp 10.10.1.213 80 interface GigabitEthernet0/0.130 80 vrf WIFI-HEAD
!
А ниже трансляция с другой стороны. Допустим, у вас в сети есть какая-то DMZ, начинающаяся на периметре на ASA. На ней с внешнего интерфейса с адресом 86.115.124.10 транслируется порт 80 на хост 10.10.1.213. Для локальных юзеров сайт не доступен по внешнему этому адресу, а они хотят именно по нему ходить. Ниже строчка, транслирующая dst address с 86.115.124.10 на 10.10.1.213 и обратно т.е. юзеры видят пакеты, которые приходят им в ответ с адреса .10, хотя, на самом деле, они идут с адреса .213.
!
ip nat outside source static tcp 10.10.1.213 80 86.115.124.10 80 vrf WIFI-HEAD extendable
!
interface Integrated-Service-Engine1/0.11
 encapsulation dot1Q 11
 ip vrf forwarding WIFI-HEAD
 ip address 192.168.11.1 255.255.255.0
 ip helper-address 192.168.244.5
 ip nat inside
 ip virtual-reassembly in
!
interface GigabitEthernet0/0.130
 encapsulation dot1Q 130
 ip vrf forwarding WIFI-HEAD
 ip address 10.255.253.2 255.255.255.0
 ip nat outside
 ip virtual-reassembly in
!

среда, 5 марта 2014 г.

Motorola WING 5.X packet capture

rfs6000-19D086#service pktcap on interface me1 filter host 172.16.0.1
Capturing up to 50 packets. Use Ctrl-C to abort.
1 11:57:47.831655 ICMP: 172.16.240.18 > 172.16.0.1 echo request, id 19442, seq 1, length 108, DF, DSCP 0
2 11:57:47.831935 ICMP: 172.16.0.1 > 172.16.240.18 echo reply, id 19442, seq 1, length 108, DSCP 0
3 11:57:48.832765 ICMP: 172.16.240.18 > 172.16.0.1 echo request, id 19442, seq 2, length 108, DF, DSCP 0
4 11:57:48.832977 ICMP: 172.16.0.1 > 172.16.240.18 echo reply, id 19442, seq 2, length 108, DSCP 0
5 11:57:49.832768 ICMP: 172.16.240.18 > 172.16.0.1 echo request, id 19442, seq 3, length 108, DF, DSCP 0
6 11:57:49.833003 ICMP: 172.16.0.1 > 172.16.240.18 echo reply, id 19442, seq 3, length 108, DSCP 0
7 11:57:50.835786 ICMP: 172.16.240.18 > 172.16.0.1 echo request, id 19442, seq 4, length 108, DF, DSCP 0
8 11:57:50.836046 ICMP: 172.16.0.1 > 172.16.240.18 echo reply, id 19442, seq 4, length 108, D

rfs6000-19D086#service pktcap on interface me1 write ?
  FILE  Files: flash:/path/file
               usb1:/path/file
               nvram:startup-config
  URL   URLs:  tftp://[:port]/path/file
               ftp://:@[:port]/path/file
               sftp://:@[:port]>/path/file

rfs6000-19D086#service pktcap on interface me1 write flash:/moto1.pcap filter host 172.16.0.1
Capturing up to 50 packets. Use Ctrl-C to abort.
50

rfs6000-19D086#copy flash:/moto1.pcap ?
  FILE  File to which to copy
        Files: flash:/path/file
               usb1:/path/file
               nvram:startup-config
               running-config (merges with current configuration)
  URL   URL to which to copy
        URLs:  tftp://[:port]/path/file
               ftp://:@[:port]/path/file
               sftp://:@[:port]>/path/file
       

rfs6000-19D086#copy flash:/moto2.pcap ftp://ftpuser:ftpuser@172.16.42.80/



четверг, 23 января 2014 г.

ASA troubleshooting

Для диагностики конфигурации в АСА можно использовать следующие команды:
 - show conn [detail]
 - show xlate

EDGE-5512X/sec/act# show local-host ?

  Hostname or A.B.C.D     Show local host information corresponding to this ip
                          address
  Hostname or X:X:X:X::X  Show local host information corresponding to an IPV6
                          address
  all                     To show connections including to-the-box and
                          from-the-box
  brief                   Enter this keyword for brief information
  connection              Show local host information  based on the number of
                          connections
  detail                  Enter this keyword for detailed information
  |                       Output modifiers
Продолжение следует.