Отключение интерфейсов во FreeBSd

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
frosty
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-10-30 20:05:34

Отключение интерфейсов во FreeBSd

Непрочитанное сообщение frosty » 2012-05-15 7:17:41

Всем привет!
Коллеги, прошу помочь с решением следующей проблемы. Имеется виртуальный сервер на VMware ESXi. На нем установлена FreeBSD 8.2 (x86).
Пересобрано ядро с поддержкой PF. А именно, в стандартный конфиг ядра добавлены строки:

Код: Выделить всё

device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCC
В /etc/rc.conf добавлено:

Код: Выделить всё

gateway_enable=«YES»
pf_enable=«YES»
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable=«YES»
pflog_logfile="/var/log/pflog"
pflog_flags=""
При создании виртаульной машины в ней было сконфигурировано три сетевых адаптера.
Общая картина сети выглядит как (рис.1)

В сети, к которой подключен интерфейс em2 находится локалка обслуживаемого отдела (несколько рабочих станций, без AD).
В сети, к которой подключен интерфейс em1 находится локалка головного офиса (поднят AD, почта на Exchange, расшарены папки и принтеры).
Обслуживаемый отдел является обособленным подразделением и имеет собственное подключение к Интернет (интерфейс em0).

Необходимо обеспечить отделу полноценное пользование всеми ресурсами домена AD, при этом выход в интернет сделать свободным через интерфейс em0.
ДНС используются из домена. Машинам из локалки отдела в свойствах сетевой карты добавлен DNS-суффикс домена AD головного офиса (чтобы краткие имена понимал).
С доступом в интернет через em0 все отлично - работает без нареканий.

С доступом в сеть с доменом проблемы. Периодически с маршрутизатора становится невозможным разрешить DNS имена ресурсов из домена.
Отсюда и проблемы - в локалке отдела становятся недоступны ресурсы из головного офиса.

Долго пытался решить проблему, отключал pf, проверял маршрутизацию - выявил одно: проблема периодична. Помогает периодический рестарт интерфейса em1.

Если кто-нибудь сталкивался с похожей проблемой, прошу помочь. Заранее благодарен за любые советы.
Хотя бы понять в чем причина (может проблема в драйверах к виртуальным интерфейсам, но ведь остальные два работают отлично).
P.S. Когда пропадает "связь", то при попытке пинга с маршрутизатора машин из домена AD наблюдается картина: пакеты уходят с интерфейса em1, а назад ничего не приходит, хотя широковещательные пакеты из этой сети фиксируются tcpdump'ом.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

frosty
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-10-30 20:05:34

Re: Отключение интерфейсов во FreeBSd

Непрочитанное сообщение frosty » 2012-05-15 8:01:59

cat /etc/pf.conf

Код: Выделить всё

#### macros
wan_if="em0"
oez_if="em1"
lan_if="em2"
cat /etc/pf.conf

icmp_types="{ echoreq, unreach }"
trusted_lan="10.20.245.0/27"
untrusted_lan="10.0.0.0/8"
localnet="127.0.0.0/8"

# global options
set block-policy return
set skip on lo0
set skip on $lan_if
scrub in all

#### NAT
nat on $wan_if from $trusted_lan to any -> ($wan_if)
# filter
antispoof quick for $wan_if
###antispoof quick for $oez_if

########block all ##
pass out on $wan_if from $wan_if to any keep state
pass out on $oez_if from $oez_if to any keep state
pass out on { $wan_if $oez_if } from $trusted_lan to any keep state
pass in on $wan_if inet proto tcp from any to ($wan_if) port 22 flags S/SA keep state
pass log inet proto icmp all icmp-type $icmp_types
Схема сети (рис.1) приведена здесь http://hdd.tomsk.ru/gallery/ktauwtmf#wplxwxqo

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Отключение интерфейсов во FreeBSd

Непрочитанное сообщение Bayerische » 2012-05-15 8:30:42

Костыль в виде скрипта-попингуя, чтобы передёргивал сеть?

frosty
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-10-30 20:05:34

Re: Отключение интерфейсов во FreeBSd

Непрочитанное сообщение frosty » 2012-05-15 8:40:37

Bayerische писал(а):Костыль в виде скрипта-попингуя, чтобы передёргивал сеть?
Думал, но дело не в пинге. Т.е. в момент проблемы из сети с доменом AD машина с FreeBSD пингуется, а с нее пинги пропадают.
Лечится не пингом, а рестартом интерфейсом. Не рестартить же интерфейс каждые 3 минуты.
Хочу найти в чем проблема.

frosty
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-10-30 20:05:34

Re: Отключение интерфейсов во FreeBSd

Непрочитанное сообщение frosty » 2012-05-21 6:52:05

Народ, неужели никто не сталкивался с подобной проблемой? Всю голову сломал :st:

vst777
проходил мимо

Re: Отключение интерфейсов во FreeBSd

Непрочитанное сообщение vst777 » 2012-05-25 10:32:45

У меня похожая проблема, описание скинул сюда http://forums.freebsd.org/showthread.ph ... post178399
#cat /var/log/messages | grep kernel
.........
May 24 16:20:20 kernel: em1: link state changed to UP
May 24 16:20:21 kernel: em1: link state changed to DOWN
May 24 16:20:32 kernel: em1: Watchdog timeout -- resetting
May 24 16:20:32 kernel: em1: Queue(0) tdh = 276, hw tdt = 245
May 24 16:20:32 kernel: em1: TX(0) desc avail = 30,Next TX to Clean = 275
May 24 16:25:34 kernel: em0: link state changed to DOWN
May 24 16:26:49 kernel: em0: link state changed to UP
May 24 16:28:36 kernel: em1: link state changed to UP
May 24 16:28:43 kernel: em1: link state changed to DOWN
May 24 16:28:46 kernel: em1: link state changed to UP
May 24 16:28:50 kernel: em1: link state changed to DOWN
.........
Наблюдаются жуткие тормоза при работе с cyrus-imapd, периодически отваливается авторизация squid
Как вариант можно попробовать отключить device polling support для сетевых интерфейсов, но мне это правда не помогло

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Отключение интерфейсов во FreeBSd

Непрочитанное сообщение snorlov » 2012-05-25 11:36:00

гуглите все, что связано с драйверами em...

frosty
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-10-30 20:05:34

Re: Отключение интерфейсов во FreeBSd

Непрочитанное сообщение frosty » 2012-05-28 6:34:22

Дело в том, что перепробовал разные драйвера сетевых карт в VmWare (на текущий момент проблемный интерфейс определяется как le0 - проблема осталась (!)). Причем остальные два интерфейса видятся как em** - работают отлично.

receptor
мл. сержант
Сообщения: 106
Зарегистрирован: 2010-05-02 12:59:03

Re: Отключение интерфейсов во FreeBSd

Непрочитанное сообщение receptor » 2012-06-22 0:58:37

Странно что вообще что-либо работает.
Физическую сеть никто к виртуалке не подключает для работы.