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

Архив за Октябрь, 2008

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

Вступление

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

«А может ли 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)
Загрузка...
Отправить на почту Отправить на почту

Управляем почтовой очередью в 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)
Загрузка...
Отправить на почту Отправить на почту