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

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

Управляем почтовой очередью в MTA Qmail на сервере FreeBSD.

qmqtool

Порт: /usr/ports/mail/qmqtool
Сайт: http://jeremy.kister.net/code/qmqtool

qmqtool — утилита для просмотра очереди qmail и манипулирования сообщениями. По функциональности аналогична qmHandle, но имеет более удобный интерфейс (как для управления так и для просмотра результатов) и использует альтернативный метод для удаления сообщений из очереди (принудительное «устаревание» сообщений), который позволяет безопасно удалять письма без остановки почтовой системы.

qmqtool version 1.13
syntax: qmqtool [-l] [-L] [-R] [-S [-nN]] [-T] [-s] [-Q] [-c] [-r] [-i [-nN]] [-V]
[-E(A|R|L)] [-U(A|R|L)] [-vN [-w]] [-e(N|[-f 'STRING'|-oN])] [-u(N|[-f 'STRING'|-oN])]
[-d(N|[-f 'STRING'|-oN])] [-f 'STRING'] [-oN] [-B(b|r)]

-l              list messages in all parts of the queue
-L              list messages in local queue
-R              list messages in remote queue
-T              list messages in todo queue
-s              show statistical information
-Q              be as quiet as possible (useful for snmp, cron, and such)
-V              be more verbose
-B
b             Backup queue into /var/qmail/queue.backup/
r             Restore backup from /var/qmail/queue.backup/
-c              check queue consitancy
-r              repair queue (by deleting fragments) found by checking queue consistancy
-i              show how many messages are queued per ip
-nN          pay attention to the Nth last smtp-hop
-S              show how many bytes are queued per ip
-e              expire message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-u              unexpire message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-d              delete message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-E              expire messages in [A]ll, [R]emote, or [L]ocal queues
-U              unexpire messages in [A]ll, [R]emote, or [L]ocal queues
-v
N             view first 100 lines of message number N
N -w          view whole message N
-f 'STRING'     display comma separated list of message number(s) containing STRING.
prints 0 if no matches are found.
-o N            display comma separated list of message number(s) older than N hours.
prints 0 if no matches are found.

Примеры

Посмотреть очередь в порядке ‘local’, ‘remote’, and ‘todo’:

qmqtool -s -Q

Посмотреть почтовую очередь по типам:

qmqtool [-l] [-L] [-R] [-T]

  • -l => вся очередь
  • -L => очередь local
  • -R => очередь remote
  • -T => очередь todo

Посмотреть информацию по всей очереди:

qmqtool -l

Показывает первые 100 строчек сообщения с ID 3368277:

qmqtool -v 3368277

Устаревает в очереди письма, в которых содержится такая строка

qmqtool -e -f ‘192.168.1.10’

Пример, когда сервер был заспамлен кем то.

Смотрим на очереди и видим, что у нас большая исходящая очередь:
qmqtool -s -Q

3
18554
199

Просматриваем все очереди и выбираем подозрительное письмо:
qmqtool -l | more

3368277 (3, remote)
Envelope Sender: 04.1.0.656D696C79636F6C7440686F746D61696C2E636F6D@domain.ru
Envelope Recipient: wc52@hotmail.com (To Be Delivered)
Envelope Recipient: wfiler@hotmail.com (To Be Delivered)
Envelope Recipient: poohandhomer@hotmail.com (To Be Delivered)
Envelope Recipient: cabron76@hotmail.com (To Be Delivered)
Envelope Recipient: devo1977@hotmail.com (To Be Delivered)
Envelope Recipient: claus_qvist@hotmail.com (To Be Delivered)
Envelope Recipient: klenakis@hotmail.com (To Be Delivered)
Date: Fri, 10 Oct 2008 05:40:57 +0800
From: "emily at MySpace" <04.1.0.656D696C79636F6C7440686...
To: <wc52>
Subject: emily invites you to MySpace

Смотрим первые 100 строчек подозрительного письма и находим IP-адрес «плохого»:

qmqtool -v 3368277 | more

MESSAGE NUMBER 3368277:

Received: (qmail 25338 invoked from network); 10 Oct 2008 05:39:48 +0300
Received: from 192-168-1-10.domain.com [192.168.1.10]  (HELO domain.ru)
by mail.domain.ru with ESMTP; 10 Oct 2008 05:39:49 +0300
Received: from smtp18.yenddx.com ([87.7.74.130]) by mxs.perenter.com with ESMTP; Fri, 10 Oct 2008 04:49:54 +0400
Received: from mailout.endmonthnow.com [4.27.168.168] by mail.webhostings4u.com with SMTP; Fri, 10 Oct 2008 03:36:22 +0400
Received: from [198.252.208.227] by rly04.hottestmile.com with SMTP; Fri, 10 Oct 2008 02:22:10 +0400
Received: from unknown (HELO m1.gns.snv.thisdomainl.com) (Fri, 10 Oct 2008 02:05:54 +0400)
by mtu67.syds.piswix.net with ASMTP; Fri, 10 Oct 2008 02:05:54 +0400
Message-ID: <E49C5996>
Date: Fri, 10 Oct 2008 00:44:13 +0400
Reply-To: "emily at MySpace" <04>
From: "emily at MySpace" <04>
MIME-Version: 1.0
To: <damoon_tar>
Subject: emily invites you to MySpace
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

emily is a member of MySpace and is inviting you to join.

Выполняем команду на «устаревание» всех писем в очереди, в которых в заголовке содержится строка «192.168.1.10»:

qmqtool -e -f ‘192.168.1.10’

Проверяем очереди ещё раз:

qmqtool -s -Q

3
147
199

Видим, что очередь уменьшилась. Так же можно просто удалить эти письма:

qmqtool -d -f ‘192.168.1.10’

Но удалять письма из очереди нужно только при остановленном qmail.

qmHandle

Порт: /usr/ports/mail/qmhandle
Сайт: http://sourceforge.net/projects/qmhandle/

qmHandle v1.3.2
Copyright 1998-2003 Michele Beltrame

Available parameters:
-a       : try to send queued messages now (qmail must be running)
-l       : list message queues
-L       : list local message queue
-R       : list remote message queue
-s       : show some statistics
-mN      : display message number N
-dN      : delete message number N
-fsender : delete message from sender
-f're'   : delete message from senders matching regular expression re
-Stext   : delete all messages that have/contain text as Subject
-h're'   : delete all messages with headers matching regular expression re (case insensitive)
-b're'   : delete all messages with body matching regular expression re (case insensitive)
-H're'   : delete all messages with headers matching regular expression re (case sensitive)
-B're'   : delete all messages with body matching regular expression re (case sensitive)
-t're'   : flag messages with recipients in regular expression 're' for earlier retry (note: this lengthens the time message can stay in queue)
-D       : delete all messages in the queue (local and remote)
-V       : print program version

Additional (optional) parameters:
-c       : display colored output
-N       : list message numbers only
(to be used either with -l, -L or -R)

Примеры

Просмотр очередей:

qmHandle -l

Просмотр письма ID 2049438:

qmHandle -m2049438

Удалить все письма с subject «Test»:

qmHandle -S»Test»

Удалять письма из очереди нужно только при остановленном qmail.

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

Авторы: Николаев Дмитрий (virus (at) subnets.ru) && Debugger
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту
    Не найдено

Участились вопросы по сабжу.

Случается, что сетевая карта в серваке на FreeBSD ну никак не хочет подниматься и вязаться со свичем. Или случаются ситуации когда на порту свича full-duplex, а на сетевой карте FreeBSD его нет и соответственно работает half-duplex, что приводит к ошибкам и потерям. Для исправления ситуации можно попробовать жестко задать скорость и дуплекс.

Рассмотрим метод ручного задания режимов, что приведет к отключению autoselect режима.

Все выполняется командой ifconfig с использованием опций:

  • media — задает скорость
  • mediaopt — задает дуплекс

Посмотрим состояние сетевой карты em0 ДО изменений:

/sbin/ifconfig em0

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:02:a5:4e:92:48
inet 172.16.10.14 netmask 0xffffff00 broadcast 172.16.10.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active

Видим что на карте, по умолчанию, работает autoselect.

Принудительно поставим 100baseTX и full-duplex на сетевой карте с именем em0:

/sbin/ifconfig em0 media 100baseTX mediaopt full-duplex

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

/sbin/ifconfig em0

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:02:a5:4e:92:48
inet 172.16.10.14 netmask 0xffffff00 broadcast 172.16.10.255
media:  Ethernet 100baseTX <full-duplex>
status: active

Видим, что теперь жестко выставлено 100baseTX и full-duplex.

В случае с гигабитными линками команда ессно та же, но скорость другая:

/sbin/ifconfig em0 media 1000baseTX mediaopt full-duplex

Для того, чтобы после ребута выставленная руками скорость и дуплекс оставались, необходимо внести это в /etc/rc.conf:

ifconfig_em0=»inet 172.16.10.14 netmask 255.255.255.0 media 100baseTX mediaopt full-duplex»

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

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

Введение

Есть такая удобная штука как 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)
Загрузка...
Отправить на почту Отправить на почту
    Не найдено

В продолжении статьи «Конфигурация OSPF на оборудовании Cisco Systems» посмотрим как в данной схеме можно выполнить редистрибуцию статических маршрутов, ну скажем на маршрутизаторе Б, в протокол OSPF.

Например на маршрутизаторе Б появился статический маршрут, ну скажем 192.168.0.0/24:

Switch> enable
Switch# configure terminal
Switch(config)# ip route 192.168.0.0 255.255.255.0 10.0.1.10

и мы хотим «вбросить» этот маршрут в OSPF.

С этой задачей нам поможет справится редистрибуция маршрутов из одного протокола в другой.

Приступим

1. Создадим access-list, по нему мы будем match`ить нужный нам маршрут(ы):

Switch(config)# ip access-list standard 10
Switch(config-std-nacl)# permit 192.168.0.0 0.255.255.255
Switch(config-std-nacl)# exit

2. Создадим маршрутную карту, в которой укажем access-list созданный в п.1:

Switch(config)# route-map redistr-static permit 100
Switch(config-route-map)# match ip address 10
Switch(config-route-map)# exit

3. Укажем OSPF, что мы хотим сделать редистрибуцию:

Switch(config)# router ospf 10
Switch(config-router)# redistribute static route-map redistr-static

4. Сохраним конфиг:

Switch(config-router)# exit
Switch(config)# exit
Switch# wri

Вот и все. Теперь все статические маршруты, попадающие под access-list 10 будут редистрибутированы в OSPF.

Не могу не подметить, что в команде redistribute, можно:
а) задать и метрику, с которой будет выполняться данная редистрибуция:

Switch(config-router)# redistribute static route-map redistr-static metric 15

б) задать tag, с которым будет распространяться маршрут (по нему, на других маршрутизаторах, можно определять откуда маршрут пришел):
Switch(config-router)# redistribute static route-map redistr-static metric 15 tag 1

Посмотрим, route-map и access-list на маршрутизаторе Б:
Switch# show route-map redistr-static

route-map redistr-static, permit, sequence 100
Match clauses:
ip address (access-lists): 10
Set clauses:
Policy routing matches: 0 packets, 0 bytes

Switch# show access-lists 10

Standard IP access list 10
    10 permit 192.168.0.0, wildcard bits 0.255.255.255 (2 matches)

На маршрутизаторе А вы должны видеть этот маршрут:
Switch# show ip route ospf | inc 192.168.0.0/24

O E2    192.168.0.0/24 [110/15] via 10.0.255.2, 1m, Vlan10

На маршрутизаторе В также:
Switch# show ip route ospf | inc 192.168.0.0/24

O E2    192.168.0.0/24 [110/15] via 10.0.255.9, 1m, Vlan100

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

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

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

Вы ознакомились с теорией протокола OSPF и готовы к его настройке. Ну чтож, поехали.

Посмотрим на следующую схему сети. Что имеется:

  • 3шт. catalyst 3560G с включенной функцией маршрутизации
  • маршрутизатор А связывает нашу сеть с сетью Интернет
  • к маршрутизаторам Б и В подключены клиенты, находящиеся в 200-ом влане и IP-подсетях 10.0.1.0/24 и 10.0.2.0/24
  • у маршрутизаторов Б и В указан статический маршрут до default gateway (маршрутизатор А, 10.0.255.1)
Схема сети до включения OSPF

Схема сети до включения OSPF

В данной схеме OSPF вроде бы совсем не к чему. Можно его конечно запустить, но плюсов он особо не принесет. А теперь сделаем следущее: соединим маршрутизаторы Б и В между собой. В такой схеме, можно как минимум обеспечить резервирование линков от маршрутизатора Б до А и от В до А, а также быстро заводить новые подсети и распространить маршруты до них в нашей сети — динамическая маршрутизация (в данном случае OSPF) нам в этом поможет.

Итак полученная схема, на которой, как мне кажется, вы сможете понять/посмотреть принципы работы OSPF, которую мы и будем настраивать:

Схема с OSPF

Схема с OSPF

Мы рассмотрим работу OSPF в broadcast среде и на point-to-point соединении.

Приступим

Маршрутизатор А

Switch> enable
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name main
Switch(config-vlan)# exit
Switch(config)# int vlan 10
Switch(config-if)# ip address 10.0.255.1 255.255.255.248

Явно укажем тип среды, в котором будет работать этот интерфейс в OSPF:

Switch(config-if)# ip ospf network broadcast
Switch(config-if)# exit

Продолжаем:

Switch(config)# ip routing
Switch(config)# ip subnet-zero
Switch(config)# ip classless

Переходим к настройке OSPF, номер процесса у нас будет 10:

Switch(config)# router ospf 10
Switch(config-router)# log-adjacency-changes

Зададим RID 255.255.255.255, для того чтобы данный маршрутизатор при выборах DR и BDR всегда выбирался как DR (у кого больший router-id тот и победит в выборах за место DR в сети если у всех маршрутизаторов одинаковый приоритет), а так же потом будет легко его определять ( в выводах show команд) по этому номеру RID как «верхний» маршрутизатор:

Switch(config-router)# router-id 255.255.255.255

Включим протокол OSPF на интерфейсе vlan 10 в Area 0:

Switch(config-router)# network 10.0.255.0 0.0.0.7 area 0

Команда network означает, что маршрутизатор включит протокол OSPF на тех IP интерфейсах, которые попадают под указанную маску подсети.

Укажем что мы хотим распространять default маршрут в сеть OSPF, т.е. данный маршрутизатор будет распространять маршрут по умолчанию:

Switch(config-router)# default-information originate

Сохраним конфигурацию:

Switch(config-router)# exit
Switch(config)# exit
Switch# wri

Маршрутизатор Б

Создадим влан 10, в котором «живут» маршрутизаторы А и В:
Switch> enable
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name main

Создадим влан 200, в котором «живут» клиенты:

Switch(config-vlan)# vlan 200
Switch(config-vlan)# name clients
Switch(config-vlan)# exit

Зададим IP-адреса созданным вланам

Switch(config)# int vlan 10
Switch(config-if)# ip address 10.0.255.2 255.255.255.248
Switch(config-if)# ip ospf network broadcast
Switch(config-if)# int vlan 200
Switch(config-if)# ip address 10.0.1.1 255.255.255.0
Switch(config-if)# exit

Создадим влан 100, в по которому будут обмениваться маршрутизаторы Б и В

Switch(config)# vlan 100
Switch(config-vlan)# name backup
Switch(config-vlan)# exit
Switch(config)# int vlan 100
Switch(config-if)# ip address 10.0.255.9 255.255.255.252

Явно укажем тип среды, в котором будет работать этот интерфейс в OSPF, но не такой как на маршрутизаторе А, т.к. между маршрутизаторами Б и В явно выраженное p2p соединение и нет смысла проводить выборы DR и BDR на p2p линке, там всегда будет только два маршрутизатора: Б и В.

Избавим протокол OSPF от этой необходимости:

Switch(config-if)# ip ospf network point-to-point
Switch(config-if)# exit

Продолжаем:

Switch(config)# ip routing
Switch(config)# ip subnet-zero
Switch(config)# ip classless

Переходим к настройке OSPF. Номер процесса (10) может отличаться, т.к. OSPF не вставляет номер процесса в отправляемые пакеты, но мы оставим 10, мне так удобнее ;):

Switch(config)# router ospf 10
Switch(config-router)# log-adjacency-changes
Switch(config-router)# router-id 1.1.1.1
Switch(config-router)# network 10.0.255.0 0.0.0.7 area 0

Опишем интерфейс vlan 100, но тут я сделаю немного по другому, для примера:

Switch(config-router)# network 10.0.255.9 0.0.0.0 area 0

Обратите внимание на маску, которая равна 0.0.0.0. Таким образом мы указали OSPF, что только интерфейс с данным адресом участвует в OSPF.

Сделаем запись о сети 10.0.1.0/24:

Switch(config-router)# network 10.0.1.0 0.0.0.255 area 0

Сохраним конфигурацию:

Switch(config-router)# exit
Switch(config)# exit
Switch# wri

Маршрутизатор В

Создадим влан 10, в котором «живут» маршрутизаторы А и Б и влан под клиентов:
Switch> enable
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name main
Switch(config-vlan)# vlan 200
Switch(config-vlan)# name clients
Switch(config-vlan)# exit

Зададим IP-адреса на вланы:

Switch(config)# int vlan 10
Switch(config-if)# ip address 10.0.255.3 255.255.255.248
Switch(config-if)# ip ospf network broadcast
Switch(config-if)# int vlan 200
Switch(config-if)# ip address 10.0.2.1 255.255.255.0
Switch(config-if)# exit

Создадим влан 100, в по которому будут обмениваться маршрутизаторы В и Б

Switch(config)# vlan 100
Switch(config-vlan)# name backup
Switch(config-vlan)# exit
Switch(config)# int vlan 100
Switch(config-if)# ip address 10.0.255.10 255.255.255.252
Switch(config-if)# ip ospf network point-to-point
Switch(config-if)# exit

Продолжаем:

Switch(config)# ip routing
Switch(config)# ip subnet-zero
Switch(config)# ip classless
Switch(config)# router ospf 10
Switch(config-router)# log-adjacency-changes
Switch(config-router)# router-id 2.2.2.2
Switch(config-router)# network 10.0.255.0 0.0.0.7 area 0
Switch(config-router)# network 10.0.255.10 0.0.0.0 area 0
Switch(config-router)# network 10.0.2.0 0.0.0.255 area 0
Switch(config-router)# exit
Switch(config)# exit
Switch# wri

Вот в принципе и все, что было необходимо сделать, чтобы протокол OSPF заработал в этой схеме.
Если вы ввсе сделали правильно, то по команде:

Switch# sh ip ospf neighbor

На маршрутизаторе А, вы увидите:

Neighbor ID     Pri   State       Dead Time   Address        Interface
2.2.2.2       0   FULL/BDR        00:00:30    10.0.255.3     Vlan10
1.1.1.1       0   FULL/DROTHER    00:00:39    10.0.255.2     Vlan10

На маршрутизаторе Б:

Neighbor ID     Pri   State         Dead Time   Address         Interface
255.255.255.255   0   FULL/DR       00:00:32    10.0.255.1      Vlan10
2.2.2.2           0   FULL/-        00:00:33    10.0.255.10     Vlan100

На маршрутизаторе В:

Neighbor ID     Pri   State         Dead Time   Address         Interface
255.255.255.255   0   FULL/DR       00:00:32    10.0.255.1      Vlan10
1.1.1.1           0   FULL/-        00:00:33    10.0.255.9      Vlan100

Посмотрите приходящие маршруты по протоколу OSPF:

Switch# show ip route ospf

На маршрутизаторах Б и В среди маршрутов приходящих по OSPF вы должны видеть и default:

O*E2 0.0.0.0/0 [110/1] via 10.0.255.1, 00:01:02, Vlan10

На маршрутизаторе Б, маршрут до сети 10.0.2.0/24 будет проходить по vlan 100, т.к. это кратчайший маршрут:

O       10.0.2.0/24 [110/2] via 10.0.255.10, 00:00:53, Vlan100

Соответственно на маршрутизаторе В:

O       10.0.1.0/24 [110/2] via 10.0.255.9, 00:00:53, Vlan100

Вот ещё несколько полезных команд.
show ip ospf interface
show ip ospf
show ip ospf database

Если по show ip ospf neighbor ничего нет, то:

  • проверьте правильно ли вы все сконфигурировали
  • «ходит» ли multicast по этим каналам
  • не выставлен ли storm-control или ACL на multicast
  • воспользуйтесь следующими командами debug:
    • debug ip ospf
    • debug ip ospf adj
    • debug ip ospf hello
    • debug ip ospf events
    • debug ip ospf packet

Заключение

Протокол OSPF не так прост как может показаться. Я рассмотрел только начало и совсем немного из того, что умеет данный протокол. В данной схеме, благодаря протоколу OSFP, при падении линков между маршрутизаторами Б и А или В и А связность сети не потеряется и пользователи из IP сетей 10.0.1.0/24 и 10.0.2.0/24 всегда будут иметь возможность обмениваться трафиком между собой, а также с сетью Интернет потому, что мы вбросили default маршрут в сеть OSPF.

Ссылки:

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

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

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