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

Метки статьи: ‘vlan’

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

Один из наших читателей (пожелавший остаться анонимом) прислал нам по мылу конфигурацию для схемы с Juniper MX80, в которой прокидывается vlan через trunk проходящий через 80тые Juniper`ы.
Спасибо ему за инфу, т.к. она точно будет полезна всем кто столкнется с подобной задачей.

Топология

MX80-client [ge-1/0/2] <—> [ge-1/0/4] MX80-1 [ge-1/0/1] <—> [ge-1/0/7] MX80-2 [ge-1/1/1] <—> [ge-2/0/0] M120-client

Описание топологии

Access port   <—>    (Trunk port back to back)  <—>    Access port

IP-адрес на MX80-client (слева) — 200.200.200.1/30
IP-адрес на M120-client  (справа) — 200.200.200.2/30

Конфиги

MX80-1

root@MX80-1# show interfaces ge-1/0/1
flexible-vlan-tagging;
native-vlan-id 100;
encapsulation flexible-ethernet-services;
unit 2 {
    encapsulation vlan-bridge;
    vlan-id 10;
}
root@MX80-1# show interfaces ge-1/0/4
encapsulation ethernet-bridge;
unit 0 {
    family bridge;
}
root@MX80-1# show bridge-domains
DEV {
    domain-type bridge;
    vlan-id 10;
    interface ge-1/0/1.2;
    interface ge-1/0/4.0;
}

MX80-2

root@MX80-2# show interfaces ge-1/0/7
flexible-vlan-tagging;
encapsulation flexible-ethernet-services;
unit 2 {
    encapsulation vlan-bridge;
    vlan-id 10;
}
root@MX80-2# show interfaces ge-1/1/1
encapsulation ethernet-bridge;
unit 0 {
    family bridge;
}
root@MX80-2# show bridge-domains
DEV {
     domain-type bridge;
     vlan-id 10;
     interface ge-1/0/7.2;
     interface ge-1/1/1.0;
}

MX80-client

root@MX80-client# show interfaces ge-1/0/2
unit 0 {
    family inet {
        address 200.200.200.1/30;
    }
}
root@MX80-client# run show interfaces ge-1/0/2
Physical interface: ge-1/0/2, Enabled, Physical link is Up
Interface index: 160, SNMP ifIndex: 514
Link-level type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error:
None, MAC-REWRITE Error: None, Loopback: Disabled,
Source filtering: Disabled, Flow control: Enabled, Auto-negotiation:
Enabled, Remote fault: Online, Speed-negotiation: Disabled,
Auto-MDIX: Enabled
Device flags   : Present Running
Interface flags: SNMP-Traps Internal: 0x0
Link flags     : None
CoS queues     : 8 supported, 8 maximum usable queues
Current address: 80:71:1f:c2:05:62, Hardware address: 80:71:1f:c2:05:62
Last flapped   : 2011-01-19 13:12:48 UTC (17:20:05 ago)
Input rate     : 0 bps (0 pps)
Output rate    : 0 bps (0 pps)
Active alarms  : None
Active defects : None

Logical interface ge-1/0/2.0 (Index 71) (SNMP ifIndex 656)
Flags: SNMP-Traps 0x0 Encapsulation: ENET2
Input packets : 30
Output packets: 9
Protocol inet, MTU: 1500
Flags: Sendbcast-pkt-to-re
Addresses, Flags: Is-Preferred Is-Primary
Destination: 200.200.200.0/30, Local: 200.200.200.1,
Broadcast: 200.200.200.3
Protocol multiservice, MTU: Unlimited

M120-client

root@M120# show interfaces ge-2/0/0
unit 0 {
    family inet {
        address 200.200.200.2/30;
    }
}
root@M120# run show interfaces ge-2/0/0
Physical interface: ge-2/0/0, Enabled, Physical link is Up
Interface index: 143, SNMP ifIndex: 523
Link-level type: Ethernet, MTU: 1514, Speed: 1000mbps, Loopback:
Disabled, Source filtering: Disabled, Flow control: Enabled,
Auto-negotiation: Enabled, Remote fault: Online
Device flags   : Present Running
Interface flags: SNMP-Traps Internal: 0x4000
Link flags     : None
CoS queues     : 8 supported, 8 maximum usable queues
Current address: 00:19:e2:67:f3:fc, Hardware address: 00:19:e2:67:f3:fc
Last flapped   : 2011-01-19 18:32:34 UTC (17:19:47 ago)
Input rate     : 0 bps (0 pps)
Output rate    : 0 bps (0 pps)
Active alarms  : None
Active defects : None

Logical interface ge-2/0/0.0 (Index 87) (SNMP ifIndex 310)
Flags: SNMP-Traps Encapsulation: ENET2
Input packets : 7
Output packets: 2430
Protocol inet, MTU: 1500
Flags: None
Addresses, Flags: Is-Preferred Is-Primary
Destination: 200.200.200.0/30, Local: 200.200.200.2,
Broadcast: 200.200.200.3

Проверка ICMP запросами

root@M120# run ping 200.200.200.1
PING 200.200.200.1 (200.200.200.1): 56 data bytes
64 bytes from 200.200.200.1: icmp_seq=0 ttl=64 time=0.541 ms
64 bytes from 200.200.200.1: icmp_seq=1 ttl=64 time=0.499 ms
64 bytes from 200.200.200.1: icmp_seq=2 ttl=64 time=0.496 ms
64 bytes from 200.200.200.1: icmp_seq=3 ttl=64 time=0.505 ms
^C
--- 200.200.200.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.496/0.510/0.541/0.018 ms
root@MX80-client# run ping 200.200.200.2
PING 200.200.200.2 (200.200.200.2): 56 data bytes
64 bytes from 200.200.200.2: icmp_seq=0 ttl=64 time=0.652 ms
64 bytes from 200.200.200.2: icmp_seq=1 ttl=64 time=0.511 ms
64 bytes from 200.200.200.2: icmp_seq=2 ttl=64 time=0.445 ms
64 bytes from 200.200.200.2: icmp_seq=3 ttl=64 time=0.504 ms
^C
--- 200.200.200.2 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.445/0.528/0.652/0.076 ms

Таблица MAC адресов на MX80`ых расположенных в центре по топологии

root@MX80-1# run show bridge mac-table
MAC flags (S -static MAC, D -dynamic MAC,
SE -Statistics enabled, NM -Non configured MAC)

Routing instance : default-switch
Bridging domain : DEV, VLAN : 10
MAC                 MAC      Logical
address             flags    interface
00:19:e2:67:f3:fc   D        ge-1/0/1.2
80:71:1f:c2:05:62   D        ge-1/0/4.0
root@MX80-2# run show bridge mac-table
MAC flags (S -static MAC, D -dynamic MAC,
SE -Statistics enabled, NM -Non configured MAC)

Routing instance : default-switch
Bridging domain : DEV, VLAN : 10
MAC                 MAC      Logical
address             flags    interface
00:19:e2:67:f3:fc   D        ge-1/1/1.0
80:71:1f:c2:05:62   D        ge-1/0/7.2
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 2, среднее: 5,00 из 5)
Loading...Loading...
Отправить на почту Отправить на почту
На "правах" заметки

Столкнулся сегодня с задачей создания vlan с номером из диапазона с 1006  по 4094 включительно (extended-range vlan).
Все делается как обычно:


Switch(config)# vlan 1070
Switch(config-vlan)# name EXT_VLAN
Switch(config-vlan)# end

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

% Failed to create VLANs 1070
Failed due to unknown reason.
%Failed to commit extended VLAN(s) changes.
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 2, среднее: 4,00 из 5)
Loading...Loading...
Отправить на почту Отправить на почту

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

  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...
Отправить на почту Отправить на почту

Может возникнуть ситуация когда пропускной способности одного гигабитного интерфейса не достаточно.

Решить эту проблему может ещё один интерфейс и агрегирование их в один логический.

В нашем примере мы используем гигабитные интерфейсы.

Juniper

Войдем в режим конфигурации:

root@juniper> configure

перейдем в раздел chassis

[edit]
root@juniper#
edit chassis

теперь необходимо задать количество агрегированных интерфейсов:

[edit chassis]
root@juniper#
set aggregated-devices ethernet device-count 1

Теперь нам нужно выбрать и настроить наши гигабитные интерфейсы:

[edit chassis]
root@juniper#
top

[edit]
root@juniper#
edit interfaces

[edit interfaces]
root@juniper#
set ge-0/1/0 gigether-options 802.3ad ae0

[edit interfaces]
root@juniper#
set ge-1/3/0 gigether-options 802.3ad ae0

теперь можно приступать к настройке агрегированного интерфейса, он имеет имя ae0 и с ним можно делать все тоже самое, что и с обычным интерфейсом, например поднимать вланы:

[edit interfaces]
root@juniper#
set ae0 vlan-tagging

[edit interfaces]
root@juniper#
set ae0 unit 11 vlan-id 11 family inet address 192.168.1.1/24 preferred

Посмотрим итог:

chassis {
     aggregated-devices {
           ethernet {
                device-count 1;
           }
     }
}
interfaces {
    ge-0/1/0 {
          gigether-options {
              802.3ad ae0;
          }
    }
    ge-1/3/0 {
          gigether-options {
              802.3ad ae0;
          }
    }
    ae0 {
          vlan-tagging;
          unit 11 {
                 vlan-id 11;
                family inet {
                       address 192.168.1.1/24 {
                            preferred;
                      }
                }
          }
    }
}

Cisco

Приступим к настройке Cisco Catalyst 3560G


Switch> enable
Switch# configure terminal
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# channel-group 1 mode on
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport trunk allowed vlan 11
Switch(config-if)# switchport mode trunk
Switch(config-if)# interface GigabitEthernet0/2
Switch(config-if)# channel-group 1 mode on
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport trunk allowed vlan 11
Switch(config-if)# switchport mode trunk
Switch(config-if)# interface Port-channel1
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport trunk allowed vlan 11
Switch(config-if)# switchport mode trunk
Switch(config-if)# exit
Switch(config)# port-channel load-balance src-ip


Примечание:
При отладке канала EtherChannel, который не формируется по какой-либо причине, следует помнить, что все порты в группе должны иметь одинаковые атрибуты. Например, у всех портов должна быть одинаковая скорость, дуплексность, VLAN-сеть (или собственная VLAN-сеть для магистрального канала), магистральный режим и инкапсуляция, допустимый VLAN-диапазон и другие параметры.
Полезные команды show:


show etherchannel [channel-group]
<1-48> Channel group number
detail Detail information
load-balance Load-balance/frame-distribution scheme among ports in port-channel
port Port information
port-channel Port-channel information
protocol protocol enabled
summary One-line summary per channel-group

show pagp [group-number]
<1-48> Channel group number
counters Traffic information
internal Internal information
neighbor Neighbor information


Посмотрим итог:

port-channel load-balance src-ip
!
interface Port-channel1
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 11
 switchport mode trunk
!
interface GigabitEthernet0/1
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 11
switchport mode trunk
channel-group 1 mode on
!
interface GigabitEthernet0/2
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 11
switchport mode trunk
channel-group 1 mode on
!

Таким образом мы объединили (агрегировали) по два порта на каждом устройстве (получили 2-х гигабитный интерфейс) и сделали между ними trunk в котором «ходит» vlan 11.

Ссылки:

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

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

У Вас может возникнуть необходимость поднять vlan и trunk на оборудовании Juniper, например маршутизаторы:

Juniper серии M7i, M10i или серия MX

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

Первое что мы делаем это переходим в режим конфигурации:

configure

Как вы наверняка заметили, что конфиг Juniper похож на конфиг DNS серверов и состоит из секций.

Перейдем в секцию конфигурации интерфейсов:

edit interfaces

Дадим команду show чтобы посмотреть какие интерфейсы у нас есть:

show

ge-0/0/0 {

}
fxp0 {
      unit 0 {
      }
}
lo0 {
     unit 0 {
         family inet {
             address 127.0.0.1/32;
        }
     }
}

ge-0/0/0 — это наш гигабитный интерфейс на котором мы и будем поднимать vlan
fxp0 — это managment интерфейс (встроенный)
lo0 — это соответственно Loopback интерфейс

Приступим собственно к настройке, возьмем для примера создание 2-х vlan — 5 и 10 на гигабитном интерфейсе ge-0/0/0.

Для того чтобы поднять на интерфейсе ge-0/0/0 vlan`ы нам нужно в «корне» этого интерфейса выставить vlan-tagging, т.е. указать что этот интерфейс будет trunk`ом и будет принимать vlan`ы:

[edit interfaces]
root@juniper#
set ge-0/0/0 vlan-tagging

Следующий шаг это создание sub interface (саб-интерфейсов):

[edit interfaces]
root@juniper#
set ge-0/0/0 unit 5

Тем самым мы создали саб-интерфейс под номером 5-ть. Номера саб-интерфейсов никак не привязаны к номеру vlan. Вы можете задавать любые значения, я (мне так удобней) делаю саб-интерфейсы с номерами vlan, некоторые делаю саб-интерфейсы давая номера по порядку. Тут дело за вами.

Теперь зададим созданному саб-интерфейсу номер vlan:

[edit interfaces]
root@juniper#
set ge-0/0/0 unit 5 vlan-id 5

Выставим ему описание:

[edit interfaces]
root@juniper#
set ge-0/0/0 unit 5 description «My 5 vlan»

Укажем его IP-адрес:

[edit interfaces]
root@juniper#
set ge-0/0/0 unit 5 family inet address 192.168.1.1/24

Посмотрим что у нас получилось:

show

ge-0/0/0 {
   vlan-tagging;
   unit 5 {
       description "My 5 vlan";
       vlan-id 5;
       family inet {
            address 192.168.1.1/24;
       }
}

Теперь по аналогии создадим vlan 10, но немного упростим себе жизнь дабы вводить команду поменьше.

Для этого перейдем в конфигурации чуть глубже, непосредственно в секцию интерфейса ge-0/0/0:

[edit interfaces]
root@juniper#
edit ge-0/0/0

[edit interfaces ge-0/0/0]
root@juniper#

Тем самым нам уже не будет требоваться вводить имя интерфейса при каждой команде, а так же мы введем все сразу одной строкой:

[edit interfaces ge-0/0/0]
root@juniper#
set unit 10 vlan-id 10 description «My 10 vlan» family inet address 192.168.2.1/24

Так мы сразу выполнили все четыре пункта:

  1. создали саб-интерфейс
  2. задали номер влана
  3. задали описание
  4. назначили IP-адрес

Посмотрим что же у нас получилось:

show

ge-0/0/0 {
   vlan-tagging;
   unit 5 {
       description "My 5 vlan";
       vlan-id 5;
       family inet {
            address 192.168.1.1/24;
       }
   unit 10 {
       description "My 10 vlan";
       vlan-id 10;
       family inet {
            address 192.168.2.1/24;
       }
}

Вот и все, теперь интерфейс ge-0/0/0 принимает vlan 5 и 10 и вы можете «подавать» в этот интерфейс trunk в котором прописать эти vlan`ы.

Осталось проверить все ли правильно и не ошиблись ли вы:

[edit interfaces ge-0/0/0]
root@juniper#
commit check

Если в ответ появится configuration check succeeds то все ОК, конфигурация верна. Осталось её закомитить:

[edit interfaces ge-0/0/0]
root@juniper#
commit comment «Set up two sub interfaces on ge-0/0/0»

Конфигурация применится на Juniper и сохранится с указанным комментарием.


Заметка:
Juniper сохраняет до 50-ти конфигураций которые вы commit`ите. Посмотреть можно их список:
root@juniper> show system commit

Если вы находитесь в режиме конфигурирования, то нужно добавлять слово «run»:
[edit]
root@juniper#
run show system commit


Ссылки:

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

Автор: Николаев Дмитрий (virus (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 9, среднее: 4,44 из 5)
Loading...Loading...
Отправить на почту Отправить на почту