ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Метки статьи: ‘Cisco Systems’

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

Исходные данные

  1. Несколько vlan на сisco catalyst 3560G. В качестве примера будут использоваться vlan 10,20 и 30
  2. Сервер на FreeBSD с работающим trafd и сетевым интерфейсом «смотрящим» в cisco catalyst 3560G

Задача

Получить статистику по трафику для каждого из вланов по отдельности.

Вариант решения

1. Настройка зеркалирования трафика на 3560.

Предполагаем, что интерфейс сервера соединён с портом Gi0/1 на 3560.

Настраиваем порт:
c3560# conf t
c3560(config)# interface GigabitEthernet0/1
c3560(config-if)# description mirror_server
c3560(config-if)# switchport trunk encapsulation dot1q
c3560(config-if)# switchport trunk allowed vlan 10,20,30
c3560(config-if)# switchport mode trunk
c3560(config-if)# exit
c3560(config)# exit
c3560# wri

Создаём сессию span:
c3560# conf t
c3560(config)#monitor session 2 source vlan 10 , 20 , 30 both
c3560(config)#monitor session 2 destination interface Gi0/1 encapsulation dot1q
c3560(config)# exit
c3560# wri

На вторую команду коммутатор может сказать что-то похожее

% Warning: One or more specified dest port does not support requested encapsulation.

Однако порт нормально добавляется в сессию
c3560# sho monitor session 2

Session 2
---------
Type              : Local Session
Source VLANs      :
Both          : 10,20,30
Destination Ports : Gi0/11
Encapsulation : DOT1Q
Ingress : Disabled

2. Настройка интерфейсов сервера и trafd
Предполагаем, что на сервере для получения зеркалируемого трафика используется интерфейс bge1.

Создаём vlan’ы на интерфейсе bge1:

/sbin/ifconfig bge1 up
/sbin/ifconfig vlan10 create vlan 10 vlandev bge1
/sbin/ifconfig vlan10 up promisc
/sbin/ifconfig vlan20 create vlan 20 vlandev bge1
/sbin/ifconfig vlan20 up promisc
/sbin/ifconfig vlan30 create vlan 30 vlandev bge1
/sbin/ifconfig vlan30 up promisc
/sbin/ifconfig bge1 -promisc

Устанавливаем trafd:

cd /usr/ports/net-mgmt/trafd
make install clean

После установки смотрим, что он установился:

/usr/sbin/pkg_info | grep trafd
trafd-3.0.1_2 The BPF Traffic Collector

Описываем trafd в /etc/rc.conf (параметры будут использоваться стартовым скриптом /usr/local/etc/rc.d/trafd.sh.sample):

trafd_enable=»YES»
trafd_ifaces=»vlan10 vlan20 vlan30″
trafd_flags=»-r -p»

Стартуем trafd:
/usr/local/etc/rc.d/trafd.sh.sample start

И наблюдаем запущенные процессы:

/bin/ps -ax | grep trafd

93173  ??  Ss     0:04.28 /usr/local/bin/trafd -i vlan10 -r -p
93175  ??  Ss     0:12.64 /usr/local/bin/trafd -i vlan20 -r -p
93177  ??  Ss     2:05.00 /usr/local/bin/trafd -i vlan30 -r -p

Добавляем в планировщик (/etc/crontab) периодический сброс накопленной trafd информации:

*/10 * * * * root /usr/local/bin/trafdump vlan10; sleep 2; /usr/local/bin/trafsave vlan10
*/10 * * * * root /usr/local/bin/trafdump vlan20; sleep 2; /usr/local/bin/trafsave vlan20
*/10 * * * * root /usr/local/bin/trafdump vlan30; sleep 2; /usr/local/bin/trafsave vlan30

Логи будут сохраняться в директории /usr/local/var/trafd как отдельные файлы вида trafd.vlan10, trafd.vlan20, trafd.vlan30 в бинарном формате. Каждые 10 минут будет происходить дописывание вновь сбрасываемого трафика в эти файлы, т.е. append.
Файл с историей дампа трафика по умолчанию: /var/log/traffic.log

Если сервер не является шлюзом, во избежание закольцовывания трафика и появления duplicate пакетов лучше отключить
форвардинг:

/sbin/sysctl net.inet.ip.forwarding=0
net.inet.ip.forwarding: 1 -> 0

а также терминировать полученные зеркалированные пакеты на сервере, запретив их хождение через вланы каким-либо файрволлом, например ipfw (правила лучше разместить где-нибудь вначале):

/sbin/ipfw add 10 deny ip from any to any via vlan10
/sbin/ipfw add 20 deny ip from any to any via vlan20
/sbin/ipfw add 30 deny ip from any to any via vlan30

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: MadMax
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 4, среднее: 4,25 из 5)
Loading...Loading...
Отправить на почту Отправить на почту

Заметка

Иногда бывает нужно сменить порт для telnet`а (по умолчанию 23) на какой либо ещё.

Как это сделать ?

Довольно просто.

Войдите в режим enable и:

cisco# conf t
cisco(config)#l ine vty 0 15
cisco(config-line)# rotary 5
cisco(config-line)# exit
cisco(config)# exit
cisco# wri

После выполнения этих команд порт для telnet станет 3005 😉

Проверим:

[root@book ~]# telnet 192.168.38.100 3005

Trying 192.168.38.100...
Connected to 192.168.38.100.
Escape character is '^]'.

User Access Verification
Username:

Вот и все.

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Панфилов Алексей (lehis (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 5,00 из 5)
Loading...Loading...
Отправить на почту Отправить на почту

Введение

Поводом к посту послужил поиск проблемы, следующего характера: блокированные пользователи с помощью ACL на SVI на 3560 продолжают работать.

Данный пост не претендует на некое открытие, возможно автор изначально не внимательно читал rtfm)

Схема работы сети абсолютно стандартная: 3560 в роли L3 -> trunk ports -> L2 коммутаторы. Все пользователи находятся в своих Vlan, для каждого vlan свой SVI на 3560.

Сами конфиги

!
interface GigabitEthernet0/5
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 308,508,553,901-938,951-958,1010-1030
switchport mode trunk
mac access-group DropL2InvalidFrames in

!
interface Vlan904
ip address х.х.х.х 255.255.255.248
ip access-group vlan904-in in
ip access-group vlan904-out out

!
interface Vlan909
ip address у.у.у.у 255.255.255.248
ip access-group vlan909-in in

!
mac access-list extended DropL2InvalidFrames
deny any 0180.c200.0000 0000.0000.000f
deny any host 0180.c200.0010
deny any host 0100.0c00.0000
deny any host 0100.0ccc.cccc
deny any host 0100.0ccc.cccd
deny any host 0100.0ccd.cdce
deny any host 0100.0ccd.cdd0
permit any any
!

sh ip access-lists vlan904-in

Extended IP access list vlan904-in
10 deny tcp host х.х.х.х any eq 445
20 deny tcp host х.х.х.х any eq 135
30 deny tcp host х.х.х.х any eq 139
40 permit ip any any

sh ip access-lists vlan909-in

Extended IP access list vlan909-in
10 deny ip у.у.у.у 0.0.0.7 any
20 permit ip any any

Вывод

Как видно из конфигурации, что клиент находящийся во vlan 909 не должен работать, однако, это не так. После долгих поисков и проб с конфигурацией ACL, было выяснено — исключение строки

mac access-group DropL2InvalidFrames in

из конфигурации порта коммутатора восстанавливало работу ACL L3.

После изучения документа Catalyst 3560 Switch Software Configuration Guide находим некоторые полезные фрагменты:

When an input router ACL and input port ACL exist in an switch virtual interface (SVI), incoming
packets received on ports to which a port ACL is applied are filtered by the port ACL. Incoming
routed IP packets received on other ports are filtered by the router ACL. Other packets are not
filtered.

И еще выдержка:

After you create a MAC ACL, you can apply it to a Layer 2 interface to filter non-IP traffic coming in
that interface. When you apply the MAC ACL, consider these guidelines:
• If you apply an ACL to a Layer 2 interface that is a member of a VLAN, the Layer 2 (port) ACL
takes precedence over an input Layer 3 ACL applied to the VLAN interface or a VLAN map applied
to the VLAN. Incoming packets received on the Layer 2 port are always filtered by the port ACL.
• You can apply no more than one IP access list and one MAC access list to the same Layer 2 interface.
The IP access list filters only IP packets, and the MAC access list filters non-IP packets.

Данный текст можно притянуть «за уши» к решению проблемы и принять, что это так, но однако сам документ, равно как и автор более широко осветить решение данной проблемы не может. Пока этот обнаруженный факт оставляем, как заметка №1, которую надо учитывать при настройке коммутаторов 3560.

P.S. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !
Автор: zaikini
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 5,00 из 5)
Loading...Loading...
Отправить на почту Отправить на почту

Вступление

Время от времени поднимается вопрос:

«А может ли Cisco выступать в качестве pptp-клиента?»

и, обычно, на него следует ответ: «Нет».

Однако, большинство IOS версий 12.2 или выше поддерживают это, если дана комманда service internal (она скрытая — по «?» не отображается, но работает) . После выполнения этой комманды в разделе vpdn group в секции request-dialin становятся доступны комманды rotary-group и pool-member.

Рабочая конфигурация на примере Cisco 827-V4 :

!
service internal
!

рекомендуется, подробности ниже — в «Ссылках»:
!
no ip gratuitous-arps
!
ip multicast-routing
!

Включаем VPN
!
vpdn enable
!
vpdn-group 1
request-dialin
protocol pptp
rotary-group 0

IP-адреса PPTP серверов:

initiate-to ip 1.1.1.1
initiate-to ip 2.2.2.2
!

Настройки Dialer0:
interface Dialer0

Уменьшение стандартного MTU:
mtu 1450

Получаем IP от PPTP сервера:
ip address negotiated

Источник сетевой активности, для автоустановления соединения, без использования дополнительных маршрутов:
ip pim dense-mode

Выставляем инкапсуляцию:
encapsulation ppp

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

dialer in-band
dialer idle-timeout 0
dialer string 123 ! Рекомендуется, но не используется
dialer vpdn
dialer-group 1
no cdp enable
ppp pfc local request
ppp pfc remote apply
ppp encrypt mppe auto
ppp chap hostname ВАШ_ЛОГИН
ppp chap password 0 ВАШ_ПАРОЛЬ
!
dialer-list 1 protocol ip permit

Маршруты до PPTP-серверов:
ip route 1.1.1.1 255.255.255.255 Ethernet0
ip route 2.2.2.2 255.255.255.255 Ethernet0

Маршрут по умолчанию через VPN:
ip route 0.0.0.0 0.0.0.0 Dialer0

После применения данной конфигурации у вас должен сразу подняться туннель:

Router#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0                  192.168.221.106 YES DHCP   up                    up
Dialer0                    10.255.0.1      YES IPCP   up                    up
Virtual-Access1            unassigned      YES unset  up                    up

Подняться default роутинг:

Router#sh ip route
Gateway of last resort is 0.0.0.0 to network 0.0.0.0

     1.1.1.0/32 is subnetted, 1 subnets
S       1.1.1.1 [1/0] via 192.168.221.1
     10.0.0.0/32 is subnetted, 2 subnets
C       10.30.10.1 is directly connected, Dialer0
C       10.255.0.1 is directly connected, Dialer0
C    192.168.221.0/24 is directly connected, Ethernet0
S*   0.0.0.0/0 is directly connected, Dialer0

Ссылки:

P.S. Все команды в вышеприведенной конфигурации являются обязательными.
P.P.S. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !
Автор: Панфилов Алексей (lehis (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 2, среднее: 5,00 из 5)
Loading...Loading...
Отправить на почту Отправить на почту

Введение

Есть такая удобная штука как CDP ( Cisco Discovery Protocol ) — проприетарный протокол второго уровня модели OSI, разработанный компанией Сisco Systems, позволяющий обнаруживать подключенное (напрямую или через устройства первого уровня) сетевое оборудование Сisco, его название, версию IOS и IP-адреса.

Устройство посылает мультикаст анонс на MAC адрес 0100.0ccc.cccc. В конфигурации по-умолчанию анонсы рассылаются каждые 60 секунд на порты Ethernet, Frame Relay и ATM. Каждое устройство, понимающее протокол, сохраняет полученную информацию в таблице и позволяет посмотреть её по команде show cdp neighbours. Если устройство трижды не прислало анонс (при значениях по-умолчанию — 3 минуты), оно удаляется из таблицы. Возникло желание на оборудовании Cisco видеть, какие сервера FreeBSD и через какие сетевые карты подключены.

Практическая реализация

В ответ на желаемое google.ru выдал ссылку на net/ladvd в дереве портов FreeBSD. Этот порт занимается тем, что рассылает анонсы по протоколам CDP и LLDP. Нам как раз подходит первый из них.

Устанавливаем, как обычно:

cd /usr/ports/net/ladvd
make install clean

Добавляем строки в /etc/rc.conf для автозапуска демона при старте системы:

ladvd_enable=»YES»
ladvd_flags=»-c»

флаг -c означает, что сервер будет рассылать анонсы по протоколу CDP.

запускаем демона вручную

/usr/local/etc/rc.d/ladvd start

смотрим на Cisco результат:

Switch> show cdp neighbors

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID                 Local Intrfce    Holdtme   Capability    Platform      Port ID
server01.mydomain.ru      Gig 0/19         165            R        FreeBSD       bge0
Switch-14                 Gig 0/9          125          R S I      WS-C3560G     Gig 0/8

Смотрим внимательнее:

Switch>sh cdp neighbors detail

Device ID: server01.mydomain.ru
Entry address(es):
IP address: 192.168.32.23
Platform: FreeBSD,  Capabilities: Router
Interface: GigabitEthernet0/19,  Port ID (outgoing port): bge0
Holdtime : 156 sec

Version :
FreeBSD 7.0-RELEASE FreeBSD 7.0-RELEASE #2: Wed Sep 24 19:33:17 MSD 2008     root@server01.mydomain.ru :/usr/src/sys/i386/compile/SERVER01 i386

advertisement version: 2
Duplex: full
Management address(es):

В случае возникновения проблем запускаем демона ladvd в «недемоническом» :-) режиме, запустите его с ключами:

ladvd -f -c -vvv

Вывод будет, примерно, таким:

found ethernet interface bge0
adding interface bge0
found ethernet interface bge1
skipping interface bge1 (down)
skipping interface pflog0
skipping interface pfsync0
skipping interface lo0
fetching addresses for all interfaces
ladvd 0.6.1 running
fetching all interfaces
found ethernet interface bge0
adding interface bge0
found ethernet interface bge1
skipping interface bge1 (down)
skipping interface pflog0
skipping interface pfsync0
skipping interface lo0
fetching addresses for all interfaces
starting loop with interface bge0
fetching bge0 media details
autoneg supported on bge0
autoneg enabled on bge0
full-duplex enabled on interface bge0
building cdp packet for bge0
sending cdp packet (262 bytes) on bge0
sleeping for 30 seconds

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

P.S. И два слова о безопасности:

необходимо отключать протокол cdp на интерфейсах, выходящих за защищённый периметр, так как передаваемая информация (например, версия IOS) может использоваться для подготовки атаки через уязвимость конкретной версии IOS.

Глобально, на всем девайсе, выключение CDP производится командой:

Switch(config)# no cdp run

или для конкретного интерфейса:

Switch(config-if)# no cdp enable

P.P.S. О настройке CDP на оборудовании Cisco Systems будет рассказано дополнительно в отдельной статье.

P.P.P.S. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !
Автор: Панфилов Алексей (lehis (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 4, среднее: 4,75 из 5)
Loading...Loading...
Отправить на почту Отправить на почту