Получить статистику по трафику для каждого из вланов по отдельности.
1. Настройка зеркалирования трафика на 3560.
Предполагаем, что интерфейс сервера соединён с портом Gi0/1 на 3560.
Настраиваем порт:c3560# conf tc3560(config)# interface GigabitEthernet0/1c3560(config-if)# description mirror_serverc3560(config-if)# switchport trunk encapsulation dot1qc3560(config-if)# switchport trunk allowed vlan 10,20,30c3560(config-if)# switchport mode trunkc3560(config-if)# exitc3560(config)# exitc3560# wriСоздаём сессию span:c3560# conf tc3560(config)#monitor session 2 source vlan 10 , 20 , 30 bothc3560(config)#monitor session 2 destination interface Gi0/1 encapsulation dot1qc3560(config)# exitc3560# 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/trafdmake install clean
После установки смотрим, что он установился:
/usr/sbin/pkg_info | grep trafdtrafd-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=0net.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