Cisco IP SLA

Данная статья чуть менее чем полностью является переводом Cisco IOS IP SLAs Configuration Guide, Release 12.4 и предназначена для выступления в роли простейшего HOW-TO.

Cisco IOS IP Service Level Agreements (SLAs) дает возможность гарантировать клиентам работу business-critical приложений, таких как голос, видео и критичные к задержкам данные. Технология SLAs была разработана для повышения уровня мониторинга IP-инфраструктуры. С помощью Cisco IOS IP SLAs пользователи могут проверить качество предоставляемого сервиса, увеличить надежность сети, подтвердить заявленную поставщиком пропускную способность канала, проактивно идентифицировать сетевые проблемы. Cisco IOS IP SLAs использует активный метод контроля, генерируя трафик непрерывным, надежным, и предсказуемым способом, позволяя таким образом измерить производительность и качество сети.

Принцип действия данной технологии традиционен и прост — маршрутизатор на одной стороне канала генерирует трафик с заданными параметрами, маршрутизатор на второй стороне канала выступает в роли ответчика.

Рассмотрим наиболее часто употребляемые типы генерируемого трафика:

IP SLAs UDP

Механизм определения джиттера IP SLAs UDP был разработан в первую очередь с целью определения пригодности канала для передачи голосовой и видео информации. Как сказано в Википедии, под джиттером часто понимается разброс максимального и минимального времени прохождения пакета от среднего. К примеру, посылается 100 пакетов минимальное время прохождения пакета — 395 мс, среднее — 400 мс, максимальное — 405 мс, в этом случае джиттер можно считать маленьким. Если же посылается 100 пакетов минимальное время прохождения пакета — 1 мс, среднее — 50 мс, максимальное — 100 мс, в этом случае джиттер большой.

В этом (и во всех последующих) случае, ответчик конфигурируется следующим образом:

enable
configure terminal
ip sla monitor responder

Конфигурация генератора определяется следующими параметрами:

Параметр Значение по умолчанию Пример использования
Число пакетов 10 type jitter dest-ipaddr command, num-packets option
Размер пакета 32 bytes request-data-size command
Интервал между пакетами, мс 20 ms type jitter dest-ipaddr command, interval option
Интервал между сериями, сек 60 frequency (IP SLA) command
Простейшая конфигурация выглядит так:

enable
configure terminal
ip sla monitor operation-number
type jitter dest-ipaddr {hostname | ip-address} dest-port port-number [num-packets number-of-packets] [interval inter-packet-interval]
frequency seconds
exit
ip sla monitor schedule operation-number [life {forever | seconds}] [start-time {hh:mm[:ss] [month day | day month] | pending | now | after hh:mm:ss] [ageout seconds] [recurring]
exit
show ip sla monitor configuration [operation-number]

Пример:

ip sla monitor 1
type jitter dest-ipaddr 20.0.10.3 dest-port 65051 num-packets 20
request-data-size 160
tos 128
frequency 30
ip sla monitor schedule 1 start-time after 00:05:00
ip sla monitor 2
type jitter dest-ipaddr 20.0.10.3 dest-port 65052 num-packets 20 interval 10
request-data-size 20
tos 64
frequency 30
ip sla monitor schedule 2 start-time after 00:05:05

Посмотреть результаты можно командой:

show ip sla monitor configuration 1

Для оценки пригодности канала под использование Voice over IP (VoIP) существует IP SLAs VoIP UDP. При этом осуществляется эмуляция кодеков g.711a/m и g.729 и вычисляется voice quality scores (MOS и ICPIF). Конфигурация при этом выглядит так:

ip sla monitor 1
type jitter dest-ipaddr 20.0.10.3 dest-port 16001 codec g729a
tos 184
frequency 60
request-data-size 172
exit
ip sla monitor schedule 1 start-time now life forever
ip sla monitor 2
type jitter dest-ipaddr 209.165.200.225 dest-port 16384 codec g711alaw advantage-factor 2
exit
ip sla monitor schedule 2 start-time now

Аналогично выглядит настройка IP SLAs TCP, которая позволяет определить время, затраченное на операцию TCP Connect между маршрутизатором Cisco и каким-либо другим сетевым устройством. Суть заключается в вычислении времени, прошедшего с отправки пакета TCP request маршрутизатором до получения ответа от удаленного хоста. Точность определения увеличивается в случае использования маршрутизаторов Cisco с обоих сторон и в этом случае можно использовать любой порт назначения. В противном случае необходимо использовать порт, открытый на удаленной стороне, например 21 или 80.

Простейший пример выглядит следующим образом:

ip sla monitor 9
type tcpConnect dest-ipaddr 172.29.139.132 dest-port 5000
frequency 10
!
ip sla monitor schedule 9 life forever start-time now

Для получения более полной информации, обратитесь к справочному руководству, ссылка на которое представлена ниже. Хочу отметить, что Cisco IP SLA является мощным инструментом для определения характеристик канала и рекомендуется для использования в повседневной деятельности сетевого администратора.

Используемая литература:

Cisco IOS IP SLAs Configuration Guide, Release 12.4 http://www.cisco.com/en/US/docs/ios/12_4/ip_sla/configuration/guide/hsla_c.html

Сгибнев Михаил

Настройка Cisco Easy VPN с использованием IPSec Dynamic Virtual Tunnel Interface (DVTI)

Тема неоднократно рассмотренная, но не потерявшая своей актуальности. В случае, если организация обладает разветвленной сетью мини-офисов, число сотрудников в которых не превышает 5-10 человек, а единственно доступным (по цене, в том числе) является только канал Интернет, то для организации защищенных каналов связи весьма удобно использовать технологию Cisco Easy VPN.

В отличие от NHRP/mGRE, технологию Cisco Easy VPN поддерживают все модели маршрутизаторов Cisco. При использовании бюджетных маршрутизаторов (85х, 86х и т.д.) мы также ограничены и в выборе протокола динамической маршрутизации.

В данном примере у нас имеется Hub, осуществляющий прием подключений от региональных офисов и Spoke, на котором организован туннель к Hub. Маршрутизация осуществляется по протоколу RIP (ODR не работает в Easy VPN), при этом к Spoke отдается маршрут по умолчанию, а от него принимается маршрут к его локальной сети.

Конфигурация Hub:

!
version 12.4
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
service sequence-numbers
!
hostname lab
!
boot-start-marker
boot-end-marker
!
enable secret cisco
!
aaa new-model
!
!
aaa authentication login default local
aaa authorization network default local
!
aaa session-id common
!
resource policy
!
clock timezone MSK 3
clock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 3:00
no network-clock-participate slot 1
ip cef
!
!
!
no ip domain lookup
ip domain name dreamcatcher.ru
!
!
username cisco privilege 15 secret cisco
!
!
policy-map Minibranch_TraffShape
class class-default
shape average 2560000
!
!
crypto keyring Minibranch
pre-shared-key address 0.0.0.0 0.0.0.0 key MegaKey
!
crypto isakmp policy 10
encr aes 256
authentication pre-share
group 2
crypto isakmp invalid-spi-recovery
crypto isakmp keepalive 120 20 periodic
crypto isakmp nat keepalive 20
crypto isakmp profile Minibranch
keyring Minibranch
match identity address 0.0.0.0
virtual-template 1
!
!
crypto ipsec transform-set Minibranch esp-aes 256 esp-sha-hmac
!
crypto ipsec profile Minibranch
set transform-set Minibranch
set pfs group2
!
!
interface FastEthernet0/0
description --- To Inet ---
ip address 192.168.100.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
description --- LAN ---
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!
interface Virtual-Template1 type tunnel
description --- Minibranch ---
bandwidth 256
ip unnumbered FastEthernet1/0
tunnel source FastEthernet0/0
tunnel mode ipsec ipv4
tunnel protection ipsec profile Minibranch
service-policy output Minibranch_TraffShape
!
router rip
version 2
passive-interface default
no passive-interface Virtual-Template1
network 192.168.1.0
default-information originate
distribute-list prefix DEF out
distribute-list prefix RIP in
no auto-summary
!
ip route 0.0.0.0 0.0.0.0 192.168.100.1
!
ip prefix-list DEF seq 5 permit 0.0.0.0/0
!
ip prefix-list RIP seq 5 permit 192.168.0.0/16 le 24
!
control-plane
!
line con 0
line aux 0
line vty 0 4
!
!
end
[/cc]

Конфигурация Spoke:

[cc lang="bash"]
version 15.1
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname branch
!
boot-start-marker
boot-end-marker
!
!
logging buffered 51200 warnings
enable secret cisco
!
no aaa new-model
memory-size iomem 10
crypto pki token default removal timeout 0
!
!
ip source-route
!
ip cef
no ip domain lookup
ip domain name dreamcatcher.ru
!
username cisco privilege 15 secret cisco
!
crypto keyring Minibranch
pre-shared-key address 0.0.0.0 0.0.0.0 key MegaKey
!
crypto isakmp policy 10
encr aes 256
authentication pre-share
group 2
crypto isakmp invalid-spi-recovery
crypto isakmp keepalive 120 20
crypto isakmp nat keepalive 20
crypto isakmp profile Minibranch
keyring Minibranch
match identity address 0.0.0.0
virtual-template 1
!
!
crypto ipsec transform-set Minibranch esp-aes 256 esp-sha-hmac
!
crypto ipsec profile Minibranch
set transform-set Minibranch
set pfs group2
!
interface Tunnel0
description --- To GW ---
ip unnumbered Vlan1
ip virtual-reassembly in
tunnel source FastEthernet4
tunnel mode ipsec ipv4
tunnel destination 192.168.100.2
tunnel protection ipsec profile Minibranch
!
interface FastEthernet4
description --- WAN ---
ip address 192.168.101.2 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
description --- LAN ---
ip address 192.168.2.1 255.255.255.0
ip tcp adjust-mss 1452
!
router rip
version 2
passive-interface default
no passive-interface Tunnel0
network 192.168.2.0
distribute-list prefix RIP out
no auto-summary
!
ip route 0.0.0.0 0.0.0.0 192.168.101.1
!
!
ip prefix-list RIP seq 5 permit 192.168.0.0/16 le 24
!
line con 0
login local
no modem enable
line aux 0
line vty 0 4
privilege level 15
login local
transport input telnet ssh
!
end

Используемая литература:

Configuration Examples and TechNotes

Автор: Сгибнев Михаил

Cisco 871 PPPoE

Несколько примеров настройки PPPoE на интерфейсе Ethernet на различных Cisco 8xx-серии.

Первый вариант рабочего примера для 12.4:

vpdn enable
!
vpdn-group 1
request-dialin
protocol pppoe

bba-group pppoe global

interface Ethernet1
no ip address
duplex auto
pppoe enable group global
pppoe-client dial-pool-number 1

interface Dialer0
mtu 1492
ip address negotiated
no ip proxy-arp
encapsulation ppp
dialer pool 1
dialer-group 1
no cdp enable
ppp authentication chap callin
ppp chap hostname pik
ppp chap password 0 password
!
ip route 0.0.0.0 0.0.0.0 Dialer0
!
dialer-list 1 protocol ip permit

bba-group pppoe global создается автоматически (при protocol pppoe), в ней конфигурируются специфические настройки для pppoe.

Ставить на эзер «ip address dhcp» нет смысла, так как принцип назначения ип следующий:

pppoe-server на стадии IPCP (negotiat’а или NCP) в CONFACK пакете отправляет ip адрес, который он берет либо от NAS’а либо из локальных настроек.

IP назначается Dialler интерфейсу, от которого клонятся Virtual-Access’ы.

Ether выбирает Dialer’ы из dial-pool’а который указывается в конфигурации.

Еще один вариант:

c871.pav.ru#sh run
Building configuration...

Current configuration : 2087 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname c871
!
boot-start-marker
boot-end-marker
!
logging buffered 4096 debugging
enable secret 5 $1$N7No$0kcQbJdzAdPDsyJLm9Nlv/
!
no aaa new-model
!
resource policy
!
ip subnet-zero
ip cef
!
!
vpdn enable
!
vpdn-group 1
!
!
!
!
username artem secret 5 $1$Rhi5$tOD3VzqcQewDkJMZ85Ymi.
!
!
!
crypto isakmp policy 1
encr 3des
hash md5
authentication pre-share
group 2
crypto isakmp key izm_pav address 213.33.х.х no-xauth
!
!
crypto ipsec transform-set new-set esp-3des esp-md5-hmac
!
crypto map VPNtunnel 10 ipsec-isakmp
set peer 213.33.x.x
set transform-set new-set
set pfs group2
match address 101
!
!
bba-group pppoe global
!
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface FastEthernet4
no ip address
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
pppoe enable group global
pppoe-client dial-pool-number 1
!
interface Vlan1
ip address 192.168.0.100 255.255.255.0
ip nat inside
ip virtual-reassembly
!
interface Dialer0
mtu 1492
ip address negotiated
ip nat outside
ip virtual-reassembly
encapsulation ppp
dialer pool 1
dialer-group 1
no cdp enable
ppp authentication chap callin
ppp chap hostname host
ppp chap password 0 pass
crypto map VPNtunnel
!
ip classless
ip route 0.0.0.0 0.0.0.0 Dialer0
!
no ip http server
no ip http secure-server
ip nat inside source list ACL_NAT interface Dialer0 overload
!
ip access-list extended ACL_NAT
deny ip 192.168.0.0 0.0.0.255 192.168.3.0 0.0.0.255
permit ip 192.168.0.0 0.0.0.255 any
!
access-list 101 permit ip 192.168.0.0 0.0.0.255 192.168.3.0 0.0.0.255
dialer-list 1 protocol ip permit
!
control-plane
!
!
line con 0
no modem enable
line aux 0
line vty 0 4
password vty_pass
login
transport input telnet ssh
!
scheduler max-task-time 5000
end

Третий вариант рабочей конфигурации с Cisco 881. Работает у меня, но без настройки vpdn.

c88115#sh run
Building configuration...

Current configuration : 6637 bytes
!
! Last configuration change at 13:05:40 MSK Fri Dec 16 2011 by ...
! NVRAM config last updated at 13:09:23 MSK Fri Dec 16 2011 by ...
!
version 15.1
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname c88115
!
boot-start-marker
boot system flash c880data-universalk9-mz.151-3.T.bin
boot-end-marker
!
!
!
no aaa new-model
!
memory-size iomem 10
clock timezone MSK 4 0
crypto pki token default removal timeout 0
!
crypto pki trustpoint TP-self-signed-pulse-20111205
enrollment selfsigned
subject-name cn=IOS-Self-Signed-Certificate-pulse-20111205
revocation-check none
rsakeypair TP-self-signed-pulse-20111205
!
!
crypto pki certificate chain TP-self-signed-pulse-20111205
certificate self-signed 01
30820241 308201EB A0030201 02020101 300D0609 2A864886 F70D0101 04050030
!........................................................................
quit
ip source-route
!
!
!
!
ip dhcp pool 10
network 10.52.15.0 255.255.255.128
default-router 10.52.15.126
dns-server 10.50.10.1 10.50.10.2 208.67.222.222 208.67.220.220 8.8.8.8 8.8.4.4
!
ip dhcp pool 20
network 10.52.15.128 255.255.255.128
default-router 10.52.15.254
dns-server 10.50.10.1 10.50.10.2 208.67.222.222 208.67.220.220 8.8.8.8 8.8.4.4
option 242 ascii "MCIPADD=10.50.20.1,MCPORT=1719,HTTPSRVR=10.50.10.160"
!
!
ip cef
no ip domain lookup
ip domain name domain.org
ip inspect name inout tcp timeout 43200
ip inspect name inout udp timeout 43200
no ipv6 cef
!
!
multilink bundle-name authenticated
license udi pid CISCO881-K9 sn FCZ1523CXXX
license boot module c880-data level advipservices
!
!
archive
log config
hidekeys
!
!username ....
!
!
!
!
ip ssh version 2
!
!
crypto isakmp policy 10
authentication pre-share
crypto isakmp key xxxxxxxxxx address 0.0.0.0 0.0.0.0
!
!
crypto ipsec transform-set TrSet esp-3des esp-md5-hmac
mode transport
!
crypto ipsec profile VPN_Profile
set transform-set TrSet
!
!
!
!
!
!
interface Loopback1
ip address 192.168.221.15 255.255.255.255
!
interface Loopback2
ip address 192.168.222.15 255.255.255.255
!
interface Tunnel1
ip address 192.168.201.15 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication NPF_101
ip nhrp map multicast 123.45.67.89
ip nhrp map 192.168.201.1 123.45.67.89
ip nhrp network-id 100001
ip nhrp holdtime 300
ip nhrp nhs 192.168.201.1
ip ospf network broadcast
ip ospf priority 0
tunnel source Dialer1
tunnel mode gre multipoint
tunnel key 100001
tunnel protection ipsec profile VPN_Profile
!
interface Tunnel2
ip address 192.168.202.15 255.255.255.0
ip mtu 1400
ip nhrp authentication NPF_102
ip nhrp map 192.168.202.1 123.45.67.89
ip nhrp network-id 100002
ip nhrp holdtime 300
ip nhrp nhs 192.168.202.1
ip ospf network broadcast
ip ospf priority 0
tunnel source Dialer1
tunnel destination 123.45.67.89
tunnel key 100002
!
interface FastEthernet0
shutdown
!
interface FastEthernet1
switchport access vlan 10
!
interface FastEthernet2
switchport access vlan 20
!
interface FastEthernet3
shutdown
!
interface FastEthernet4
no ip address
ip virtual-reassembly in
duplex auto
speed auto
pppoe-client dial-pool-number 1
!
interface Vlan1
no ip address
shutdown
!
interface Vlan10
ip address 10.52.15.126 255.255.255.128
ip nat inside
ip virtual-reassembly in
!
interface Vlan20
ip address 10.52.15.254 255.255.255.128
!
interface Dialer1
ip address negotiated
ip access-group FromInet in
ip mtu 1492
ip nat outside
ip inspect inout out
ip virtual-reassembly in
encapsulation ppp
dialer pool 1
ppp authentication chap callin
ppp chap hostname xxxxxxxxxxx
ppp chap password 7 xxxxxxxxxxxxxxxxxxxxxxx
no cdp enable
!
router ospf 1
network 10.52.15.0 0.0.0.127 area 1
network 192.168.201.0 0.0.0.255 area 1
!
router ospf 2
network 10.52.15.128 0.0.0.127 area 2
network 192.168.202.0 0.0.0.255 area 2
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip nat inside source route-map nonat interface Dialer1 overload
ip route 0.0.0.0 0.0.0.0 Dialer1
!
ip access-list extended FromInet
permit icmp any any
permit tcp any any eq 22
permit esp host 123.45.67.89 any
permit gre host 123.45.67.89 any
permit udp host 123.45.67.89 any
permit ip host 123.45.67.89 any
ip access-list extended nonat-toHQ
deny ip 10.52.15.0 0.0.0.127 10.50.0.0 0.0.255.255
deny ip 10.52.15.0 0.0.0.127 10.52.0.0 0.0.255.255
permit ip 10.52.15.0 0.0.0.127 any
!
logging esm config
access-list 1 permit 10.52.15.0 0.0.0.127
no cdp run

!
!
!
!
route-map nonat permit 10
match ip address nonat-toHQ
!
snmp-server community pulse-snmp RO
snmp-server host 10.50.10.190 version 2c pulse-snmp
!
control-plane
!
!
line con 0
login local
no modem enable
line aux 0
line vty 0 4
exec-timeout 60 0
login local
transport input ssh
!
scheduler max-task-time 5000
ntp update-calendar
ntp peer 192.168.201.1
end

KhantyMansiysk-c881-15#

VLAN trunking на Cisco ASA

* VLAN Trunking (ASA 5510, ASAOS 7.2.1)

Hey! If you are trying to trunk VLAN 1, you are going to run into trouble (using the below config, I think you may have to configure Ethernet0/3 (NOT a sub-interface) to have an ip address. You will not be able to type in ‘vlan 1’, as it is assumed). You have been warned.

same-security-traffic permit inter-interface
same-security-traffic permit intra-interface

interface Ethernet0/3
no nameif
no security-level
no ip address
!
interface Ethernet0/3.1
description Development Network
vlan 50
nameif dev
security-level 40
ip address 192.168.50.1 255.255.255.0 standby 192.168.50.2
!
interface Ethernet0/3.2
description Test Network
vlan 88
nameif test
security-level 60
ip address 192.168.88.1 255.255.255.0 standby 192.168.88.2

Разные варианты NAT на Cisco ASA

* One-to-One (aka two-way) NAT (ASA 5510, ASAOS 7.2.1)

The syntax for this can be confusing. Here is a generic example:
static (outside interface name, inside interface name) inside ip, outside ip netmask 255.255.255.255

static (internet,office) 192.168.77.101 216.142.200.221 netmask 255.255.255.255
static (internet,office) 192.168.77.102 216.142.200.222 netmask 255.255.255.255
static (internet,office) 192.168.77.103 216.142.200.223 netmask 255.255.255.255
static (test,office) 192.168.77.104 172.30.11.14 netmask 255.255.255.255
static (test,office) 192.168.77.105 172.30.11.15 netmask 255.255.255.255

* Simple Many-to-One (aka one-way) NAT (ASA 5510, ASAOS 7.2.1)

global (outside) 1 216.142.200.220 netmask 255.255.255.255
nat (inside) 1 192.168.77.0 255.255.255.0 0 0

* Complex Many-to-One (aka one-way) NAT (ASA 5510, ASAOS 7.2.1)

access-list skip-nat-inside permit ip any host 192.168.6.11
access-list skip-nat-inside permit ip any host 192.168.6.12
access-list skip-nat-inside permit ip any 192.168.222.0 255.255.255.0

global (outside) 1 216.142.200.220 netmask 255.255.255.255
global (outside) 2 216.142.200.221 netmask 255.255.255.255
nat (inside) 0 access-list skip-nat-inside
nat (inside) 1 10.1.1.0 255.255.255.0 0 0
nat (inside) 1 172.66.3.0 255.255.255.0 0 0
nat (inside) 1 192.168.5.0 255.255.255.0 0 0
nat (inside) 2 192.168.77.0 255.255.255.0 0 0

Failover into Cisco ASA

* Basic Failover (ASA 5510, ASAOS 7.2.1, Requires 1 dedicated interface)

interface Ethernet0/0
description Colo Network
nameif colo
security-level 60
ip address 192.168.99.1 255.255.255.0 standby 192.168.99.2

interface Ethernet0/1
description Office Network
nameif office
security-level 50
ip address 192.168.77.1 255.255.255.0 standby 192.168.77.2

interface Management0/0
description LAN Failover Interface

failover
failover lan unit primary
failover lan interface fobasic Management0/0
failover key *****
failover interface ip fobasic 192.168.200.1 255.255.255.0 standby 192.168.200.2

* Stateful Failover (ASA 5550, ASAOS 8.0.4, Requires 2 dedicated interfaces)

interface GigabitEthernet0/0
description Colo Network
nameif colo
security-level 60
ip address 192.168.99.1 255.255.255.0 standby 192.168.99.2

interface GigabitEthernet0/1
description STATE Failover Interface

interface Management0/0
description LAN Failover Interface

interface GigabitEthernet1/0
description Office Network
nameif office
security-level 50
ip address 192.168.77.1 255.255.255.0 standby 192.168.77.2

failover
failover lan unit primary
failover lan interface fobasic Management0/0
failover key *****
failover link fostate GigabitEthernet0/1
failover interface ip fobasic 192.168.200.1 255.255.255.0 standby 192.168.200.2
failover interface ip fostate 192.168.201.1 255.255.255.0 standby 192.168.201.2

Cisco ASA — Enable SSH

asa1# conf term
asa1(config)# crypto key generate rsa
INFO: The name for the keys will be:
Keypair generation process begin. Please wait...

asa1(config)# show crypto key mypubkey rsa
Key pair was generated at: 16:24:10 UTC Jan 6 2009
Key name:
Usage: General Purpose Key
Modulus Size (bits): 1024
Key Data:

xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxx

ssh 192.168.1.25 255.255.255.255 inside
ssh timeout 30
ssh version 2
username cisco password xxxxxxx
aaa authentication ssh console LOCAL

Cisco ASA — General VPN Troubleshooting

show vpn-sessiondb remote
show vpn-sessiondb remote | include Username

show ipsec sa
show ipsec sa detail
show ipsec sa | include access-list
show ipsec sa | include crypto endpt

show ipsec sa entry
show ipsec sa entry detail
show ipsec sa entry | include peer
show ipsec sa entry | begin peer address: 192.168.1.10
show ipsec sa entry detail | begin peer address: 192.168.1.10
show ipsec sa peer 192.168.1.10
show ipsec sa peer 192.168.1.10 detail

show ipsec stats
show ipsec sa summary

Перехват трафика на Cisco ASA

Предисловие

…Есть сервер приложения. На нем вертится это самое приложение. Сам сервер на всякий случай спрятан от пользователей за фаерволом.

Звонит однажды администратор приложения сетевому администратору и говорит:

— Я вчера запустил новую фишку в своей программе, но у пользователей она не работает. Наверное, твой фаервол режет такой необходимый для юзеров трафик.

— Хорошо – говорит сетевой админ. – Скажи мне, какие порты использует твоя новая фишка.

— TCP/abxy и TCP/abxz

— эти порты открыты на фаерволе. У тебя что то не так на сервере.

— На сервере все в порядке. Это на твоем сетевом железе что то не так.

Один из способов решения проблемы — посмотреть и проанализировать интересующий обоих администраторов трафик. В данном случае можно обойтись без снифера так как cisco ASA умеет перехватывать проходящий через нее трафик. О том, как это сделать рассказано в этой статье.

Примеры настройки для Cisco ASA5510.

Процесс состоит из нескольких этапов:

— создание access-list-ов, описывающих трафик, который нужно перехватить

— запуск перехватчиков

— просмотр перехваченных данных

Схема соединения, рассматриваемых ниже примеров, представлена на рисунке.

 

Сначала создаем access-list, в котором описываем трафик, который собираемся перехватывать.

asa1(config)#

asa1(config)#access-list CAPT1 extended permit ip host 10.1.1.10 host 192.168.1.4

asa1(config)#access-list CAPT1 extended permit ip host 192.168.1.4 host 10.1.1.10

asa1(config)#

Согласно этому листу, будем перехватывать весь ip трафик, идущий в обоих направлениях между 10.1.1.10 и 192.168.1.4. При необходимости, можно ограничиться только нужными протоколами и портами.

Теперь стартуем перехват пакетов с помощью команды capture

asa1#

asa1#capture CA1 interface outside access-list CAPT1

asa1#

Здесь CA1 – это имя перехватчика. outside – имя интерфейса, на котором будем перехватывать пакеты.

По-хорошему, надо запустить еще один перехватчик – на интерфейсе ‘DMZ’.

asa1#

asa1#capture CA2 interface DMZ access-list CAPT1

asa1#

В результате мы будем иметь данные о трафике на обоих интерфейсах. Если эти данные будут различаться, можно будет сделать вывод о том, что ASA действительно не пропускает определенный трафик. Дело в том, что команда capture перехватывает трафик до того, как к нему будут применены какие либо политики безопасности. Пусть, например, access-list на входе интерфейса outside не пропускает любые ICMP пакеты. Тем не менее, перехватчик, настроенный на этом интерфейсе, увидит ‘следы’ от команды ‘ping’

Проверим состояние перехватчиков

asa1#

asa1#sh capture

capture CA1 type raw-data access-list CAPT1 interface outside [Capturing - 0 bytes]

capture CA2 type raw-data access-list CAPT1 interface DMZ[Capturing - 0 bytes]

asa1#

Теперь запустим ping с компьютера пользователя в сторону сервера.

C:\>ping 192.168.1.4

Pinging 192.168.1.4with 32 bytes of data:

Reply from 192.168.1.4: bytes=32 time=1ms TTL=128

Reply from 192.168.1.4: bytes=32 time=1ms TTL=128

Reply from 192.168.1.4: bytes=32 time=1ms TTL=128

Reply from 192.168.1.4: bytes=32 time=1ms TTL=128

Ping statistics for 192.168.1.4:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 1ms, Maximum = 1ms, Average = 1ms

C:\>

Еще раз проверим состояние перехватчиков.

asa1#

asa1#sh capture

capture CA1 type raw-data access-list CAPT1 interface outside [Capturing - 720 bytes]

capture CA2 type raw-data access-list CAPT1 interface DMZ[Capturing - 720 bytes]

asa1#

Судя по тому, что количество перехваченных байт теперь больше 0, в буферах перехватчиков появились данные. Посмотрим, что они из себя представляют.

asa1#

asa1#sh capture CA1

8 packets captured

1: 15:39:53.928647 10.1.1.10 > 192.168.1.4: icmp: echo request

2: 15:39:53.928952 192.168.1.4 > 10.1.1.10: icmp: echo reply

3: 15:39:54.921384 10.1.1.10 > 192.168.1.4: icmp: echo request

4: 15:39:54.921690 192.168.1.4 > 10.1.1.10: icmp: echo reply

5: 15:39:55.921384 10.1.1.10 > 192.168.1.4: icmp: echo request

6: 15:39:55.921674 192.168.1.4 > 10.1.1.10: icmp: echo reply

7: 15:39:56.921430 10.1.1.10 > 192.168.1.4: icmp: echo request

8: 15:39:56.921720 192.168.1.4 > 10.1.1.10: icmp: echo reply

8 packets shown

asa1#
asa1#sh capture CA2

8 packets captured

1: 15:39:53.928815 10.1.1.10 > 192.168.1.4: icmp: echo request

2: 15:39:53.928937 192.168.1.4 > 10.1.1.10: icmp: echo reply

3: 15:39:54.921522 10.1.1.10 > 192.168.1.4: icmp: echo request

4: 15:39:54.921659 192.168.1.4 > 10.1.1.10: icmp: echo reply

5: 15:39:55.921522 10.1.1.10 > 192.168.1.4: icmp: echo request

6: 15:39:55.921644 192.168.1.4 > 10.1.1.10: icmp: echo reply

7: 15:39:56.921552 10.1.1.10 > 192.168.1.4: icmp: echo request

8: 15:39:56.921705 192.168.1.4 > 10.1.1.10: icmp: echo reply

8 packets shown

asa1#

Мы получили две ‘фотографии’ прохождения пакетов через интерфейсы фаервола. Можем, даже, сказать, что на прохождение от ‘outside’ до ‘DMZ’ пакетам требуется 120 — 170 мкс, а в обратном направлении — 15 -30 мкс.

Теперь попробуем открыть WEB станицу с сервера 192.168.1.4 и посмотрим, на перехваченный трафик:

asa1#

asa1# sh cap CA1

35 packets captured

1: 14:09:43.657238 10.1.1.10.3029 > 192.168.1.4.80: S 517995293:517995293(0) win 65535

2: 14:09:43.657558 192.168.1.4.80 > 10.1.1.10.3029: S 2097782201:2097782201(0) ack 517995294 win 8192

3: 14:09:43.657924 10.1.1.10.3029 > 192.168.1.4.80: . ack 2097782202 win 65535

4: 14:09:43.658092 10.1.1.10.3029 > 192.168.1.4.80: P 517995294:517995577(283) ack 2097782202 win 65535

5: 14:09:43.658245 192.168.1.4.80 > 10.1.1.10.3029: P 2097782202:2097782203(1) ack 517995577 win 8191

. . . . . .

. . . . . .

asa1#

Для того, что бы увидеть содержимое пакетов данных, воспользуемся командой ‘show capture CA1 dump’.

asa1# sh cap CA1 dump

35 packets captured

1: 14:09:43.657238 10.1.1.10.3029 > 192.168.1.4.80: S 517995293:517995293(0) win 65535

0x0000 4500 0030 f378 4000 7f06 40bd 9bf8 ef39 E..0.x@...@....9

0x0010 0a19 3247 0bd5 0050 1edf fb1d 0000 0000 ..2G...P........

0x0020 7002 ffff 9633 0000 0204 04ec 0101 0402 p....3..........

2: 14:09:43.657558 192.168.1.4.80 > 10.1.1.10.3029: S 2097782201:2097782201(0) ack 517995294 win 8192

0x0000 4500 002c 1db4 0000 ff06 d685 0a19 3247 E..,..........2G

0x0010 9bf8 ef39 0050 0bd5 7d09 9db9 1edf fb1e ...9.P..}.......

0x0020 6012 2000 6fee 0000 0204 0564 `. .o......d

3: 14:09:43.657924 10.1.1.10.3029 > 192.168.1.4.80: . ack 2097782202 win 65535

0x0000 4500 0028 f37a 4000 7f06 40c3 9bf8 ef39 E..(.z@...@....9

0x0010 0a19 3247 0bd5 0050 1edf fb1e 7d09 9dba ..2G...P....}...

0x0020 5010 ffff a75b 0000 P....[..

4: 14:09:43.658092 10.1.1.10.3029 > 192.168.1.4.80: P 517995294:517995577(283) ack 2097782202 win 65535

0x0000 4500 0143 f37b 4000 7f06 3fa7 9bf8 ef39 E..C.{@...?....9

0x0010 0a19 3247 0bd5 0050 1edf fb1e 7d09 9dba ..2G...P....}...

0x0020 5018 ffff 24a9 0000 4745 5420 2f20 4854 P...$...GET / HT

0x0030 5450 2f31 2e31 0d0a 4163 6365 7074 3a20 TP/1.1..Accept:

0x0040 2a2f 2a0d 0a41 6363 6570 742d 4c61 6e67 */*..Accept-Lang

0x0050 7561 6765 3a20 7275 0d0a 4163 6365 7074 uage: ru..Accept

0x0060 2d45 6e63 6f64 696e 673a 2067 7a69 702c -Encoding: gzip,

0x0070 2064 6566 6c61 7465 0d0a 5573 6572 2d41 deflate..User-A

0x0080 6765 6e74 3a20 4d6f 7a69 6c6c 612f 342e gent: Mozilla/4.

0x0090 3020 2863 6f6d 7061 7469 626c 653b 204d 0 (compatible; M

0x00a0 5349 4520 362e 303b 2057 696e 646f 7773 SIE 6.0; Windows

0x00b0 204e 5420 352e 313b 2053 5631 3b20 2e4e NT 5.1; SV1; .N

0x00c0 4554 2043 4c52 2031 2e31 2e34 3332 323b ET CLR 1.1.4322;

0x00d0 2049 6e66 6f50 6174 682e 323b 202e 4e45 InfoPath.2; .NE

0x00e0 5420 434c 5220 322e 302e 3530 3732 373b T CLR 2.0.50727;

0x00f0 202e 4e45 5420 434c 5220 332e 302e 3034 .NET CLR 3.0.04

0x0100 3530 362e 3330 3b20 4d53 2d52 5443 204c 506.30; MS-RTC L

0x0110 4d20 3829 0d0a 486f 7374 3a20 3130 2e32 M 8)..Host: 10.2

0x0120 352e 3530 2e37 310d 0a43 6f6e 6e65 6374 5.50.71..Connect

0x0130 696f 6e3a 204b 6565 702d 416c 6976 650d ion: Keep-Alive.

0x0140 0a0d 0a ...

. . . . . .

. . . . . .

asa1#

В этом коротком фрагменте мы видим, как браузер начинает открывать WEB страницу.

Таким образом, наша цель – перехватить и просмотреть пользовательский трафик, достигнута.

По умолчанию размер буфера, в котором перехватчики хранят данные, – 500Кбайт. Через некоторое время буферы заполнятся, и новые данные перестанут запоминаться.

asa1#

asa1# sh capture

capture CA1 type raw-data access-list CAPT1 interface outside [Buffer Full - 524208 bytes]

capture CA2 type raw-data access-list CAPT1 interface DMZ[Buffer Full - 524208 bytes]

asa1#

Для очистки буфера используется команда ‘clear capture’.

asa1#

asa1# clear capture CA1

asa1# sh capture

capture CA1 type raw-data access-list CAPT1 interface outside [Capturing - 0 bytes]

capture CA2 type raw-data access-list CAPT1 interface DMZ[Capturing - 0 bytes]

asa1#

Для полной остановки и удаления перехватчиков нужно выполнить команду ‘no capture’.

asa1#

asa1# no capture CA1

asa1# no capture CA2

asa1#

asa1# sh capture

asa1#

Теперь можно удалить ставший ненужным access-list CAPT1.

asa1(config)#

asa1(config)#no access-list CAPT1 extended permit ip host 10.1.1.10 host 192.168.1.4

asa1(config)#no access-list CAPT1 extended permit ip host 192.168.1.4 host 10.1.1.10

asa1(config)#

В заключении можно сделать вывод: Cisco ASA предоставляет мощное средство мониторинга, которое поможет найти ошибки в настройке сетевых устройств.

Настройка Internet Authentication Service (RADIUS) в Windows Server 2003

Устанавливаем службу Internet Authentication Service, которая в Windows Server выполняет роль RADIUS-сервера. Установка производится из меню Установка программ, дополнительные компоненты Windows.

Вводим настройки Cisco ASA 5510 — IP и пароль.. В свою очередь его прописываем на Cisco ASA:

aaa-server MS-AD protocol radius
aaa-server MS-AD (inside) host 10.51.10.254
key CiscoDDD

Вводим настройка аутентификации.

Отключаем шифрование.

Теперь Cisco будет успешно авторизоваться на RADIUS-сервере.