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

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

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

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

Случается, что сетевая карта в серваке на 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)
Загрузка...
Отправить на почту Отправить на почту

Ответ на частые вопросы:

  • Как добавить статический маршут ?
  • Как посмотреть таблицу маршрутизации ?

Для примера будем добавлять маршрут в сеть 10.10.0.0/16 (маска 255.255.0.0) через gateway 10.10.1.1/24

Не забывайте, что маршрут добавится ТОЛЬКО если на вашем компьютере есть IP-адрес который входит в одну подсеть с gateway (в данном примере gateway 10.10.1.1, значит у вас должен быть настроен IP-адрес из сети 10.10.1.0/24 т.к IP-адрес gateway имеет маску /24 (255.255.255.0))

FreeBSD

Добавление:

route add 10.10.0.0/16 10.10.1.1

если после выполнения команды вам говорится, что команда не найдена, то используйте полный путь до команды route (и для других команд):

/sbin/route

так же если прочитать:

man route

то можно узнать, что статический роутинг можно добавить и так:

/sbin/route add -net 10.10.0.0 -netmask 255.255.0.0 10.10.1.1

Просмотр таблицы маршрутизации выполняется командой:

netstat -rn

с полным путем:

/usr/bin/netstat -rn

Удаление:

/sbin/route delete 10.10.0.0/16


Linux

Добавление:

route add -net 10.10.0.0/16 gw 10.10.1.1

альтернатива:

ip route add 10.10.0.0/16 via 10.10.1.1

Просмотр таблицы:

route -n

или используйте:

ip route

Удаление:

route delete -net 10.10.0.0 netmask 255.255.0.0


Windows

Откройте командную строку (cmd).

Добавление:

route add 10.10.0.0 mask 255.255.0.0 10.10.1.1

Просмотр:

route print

Удаление:

route delete 10.10.0.0 mask 255.255.0.0 10.10.1.1


Если у Вас все ещё есть вопросы, то прочтите мануал (инструкцию) к данным командам в Вашей ОС.

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

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

CARP — Common Address Redundancy Protocol

Другими словами это протокол избыточности, который позволяет двум или более компьютерам в одной подсети иметь одновременно один и тот же IP адрес, при этом возможна настройка этой группы компьютеров как взаимозаменяемые (главный компьютер отключился/сломался — вместо него сразу же принимается за работу другой, у которого приоритет выше) и так по кругу. Максимально количество компьютеров в группе — 256, в сети между ними не должно быть роутеров.

Также возможна конфигурация данной группы как некий кластер, который будет обрабатывать приходящие пакеты по кругу( 1-2-3-4-5…..256-1-2-3-4), то есть распределяя нагрузку на сервис.

Вариант первый. Резервирование.

1) Необходимо на всех компьютерах группы включить в ядро опцию

device carp

Пересобрать его и установить.

cd /usr/src
make buildkernel KERNCONF=PARANOID #PARANOID — мое название конфигурации ядра.
make installkernel KERNCONF=PARANOID

2) Выставить на каждом компьютере группы опцию sysctl

sysctl net.inet.carp.preempt=1

и добавить в /etc/sysctl.conf # Чтоб при следующей загрузке данный параметр автоматически выставился в 1.

net.inet.carp.preempt=1

Данная опция включает в CARP функцию резервирования.

3) Настроить сетевые карты каждого из группы компьютеров на ОТДЕЛЬНЫЙ ip адрес из одной подсети. ВАЖНО ! Так как можно запутаться и писать на интерфейс сразу у всей группы один и тот-же адрес, что вызовет конфликт адресов.

Например:

PC1 — 10.100.0.1/24
PC2 — 10.100.0.2/24
PC3 — 10.100.0.3/24

4) Создать интерфейс carp, прописать ему ip (именно на этом IP будет висеть ваш сервис), VHID (Идентификатор CRAP группы), и выдать каждому CARP интефейсу на каждом из компьютеров группы свой УНИКАЛЬНЫЙ advskew (приоритет сервера) чем он ниже — тем раньше, в случае сбоя, этот сервер присвоит себе IP и будет обрабатывать запросы, и пароль группы pass (Также должен быть одинаковый в одной группе)

PC1

ifconfig carp0 create

ifconfig carp0 vhid 1 pass VeRySeCrEtPaSsWoRd 10.100.0.4/24 advskew 0

PC2

ifconfig carp0 create

ifconfig carp0 vhid 1 pass VeRySeCrEtPaSsWoRd 10.100.0.4/24 advskew 1

PC3

ifconfig carp0 create

ifconfig carp0 vhid 1 pass VeRySeCrEtPaSsWoRd 10.100.0.4/24 advskew 2

Таким образом получается что если ломается PC1, то тут-же за него начинает работать PC2, если и он ломается, и при этом PC1 все еще не восстановлен, то в работу включается PC3.

Синхронизировать сервера можно по физическим интерфейсам с IP 10.100.0.1-3, но своими силами.

Вариант второй. Распределение нагрузки.

Ядро так-же собираем с поддержкой CARP но в sysctl выставляем значение уже arpbalance в 1

sysctl net.inet.carp.arpbalance=1

и соотвественно в /etc/sysctl.conf

net.inet.carp.arpbalance=1

Как видно из названия обьекта, балансировка происходит на основании MAC-адреса клиентского компьютера, соответственно, роутеров между сервером и клиентом не должно быть.

Затем на каждом из серверов группы надо настроить 2 CARP интерфейса и 1 физический (vlan-ы тоже поддерживаются) с разными vhid (Если на одном РС у этого VHID advskew=100, то на другом РС на этом-же VHID должен быть advskew=0).

PC1

ifconfig em0 10.100.0.1/24

ifconfig carp0 create

ifconfig carp0 vhid 1 pass SeCrEt 10.100.0.2/24 advskew 0

ifconfig carp1 create

ifconfig carp1 vhid 2 pass AnoTheRSeCrEt 10.100.0.2/24 advskew 100

PC2

ifconfig em0 10.100.0.3/24

ifconfig carp0 create

ifconfig carp0 vhid 1 pass SeCrEt 10.100.0.2/24 advskew 100

ifconfig carp1 create

ifconfig carp1 vhid 2 pass AnoTheRSeCrEt 10.100.0.2/24 advskew 0

Теперь при обращении к IP 10.100.0.2 для каждого отдельного физического устройства сервера будут отзываться по очереди. В случае падения одного из серверов отвечать на запросы будет оставшиеся.

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

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

Jabber ( болтовня, трёп) — система для быстрого обмена сообщениями и информацией о присутствии (в контакт-листе) между любыми двумя пользователями Интернета на основе открытого протокола XMPP.
В наше время, стал очень распространён протокол обмена сообщениями — Jabber. Сейчас я расскажу, как установить собственный Jabber-сервер на FreeBSD при помощи OpenFire.

Итак, поехали…

1. Для начала устанавливаем из портов сервер OpenFire:

cd /usr/ports/net-im/openfire
make install clean

Если в процессе инсталляции программа установки попросит Вас загрузить дополнительное ПО — загрузите, иначе, программа может начать работать неправильно или не будет работать вообще.

2. Подготовка:

Если инсталляция прошла успешно (а она должна пройти успешно), смело приступайте к запуску сервера:
Для начала нужно добавить следующую строку в /etc/rc.conf:

openfire_enable=”YES”

3. Запускаем:

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

Затем проверяем, загрузился ли он:

/usr/local/etc/rc.d/wildfire status
The daemon is running.

Если всё нормально, открывайте браузер и соединяйтесь с сервером (если он не локальный, на его внешний IP-адрес) на порт 9090, или подключаемся 127.0.0.1:9090 (если он локальный).
Находим строку «Domain» и вводим имя домена, на котором будет располагаться Jabber-сервер (можно ввести IP-адрес вашего сервера)
В качестве СУБД выбираем «Embedded DataBase» (хотя можно установить и выбрать другую СУБД)
Раз всё закончено жмём «Continue» и вводим пароль администратора Jabber-сервера.

4. Добавляем пользователей:

Перед тем, как добавлять новых пользователей, нужно внести некоторые настройки.

Для начала переходим по ссылке «Registration & Login», тут нужно выбрать могут или нет пользователи самостоятельно создавать аккаунты. Для добавления пользователей переходим в раздел «Users/Group». Для создания нового пользователя щёлкаем по «Create New User». Для создания новой группы щёлкаем по «Create New Group».

Ну думаю всё основное уже ясно. Удачи.

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

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