Настройка моста (с чего начать ?)

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Настройка моста

Сообщение Maitreya »

Здравствуйте.

Есть FreeBSD 6.0, хочу сделать мост между двумя сетями, желательно с фильтром пакетов.
Кое-что уже читал, хочу проконсультироваться, нужно ли компилировать ядро заново, и с какими опциями?

Если у вас есть опыт по данному вопросу, прошу поделиться.
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Настройка моста

Сообщение Poor Fred »

Maitreya писал(а):
25.01.2006 13:22
Есть FreeBSD 6.0, хочу сделать мост между двумя сетями, желательно с фильтром пакетов.
Кое-что уже читал, хочу проконсультироваться, нужно ли компилировать ядро заново, и с какими опциями?


Опыт у меня есть, только без фильтра. Перекомпилировать нужно. Включить option BRIDGE. А вообще все делается по хендбуку, там достаточно подробно расписано. И про фильтр тоже есть. Все довольно-таки просто.
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Re: Настройка моста

Сообщение Maitreya »

А можно ли настроить интерфейсы так, чтобы сетевых адресов у них не было ?
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Настройка моста

Сообщение Poor Fred »

Maitreya писал(а):
26.01.2006 13:38
А можно ли настроить интерфейсы так, чтобы сетевых адресов у них не было ?


Вот этого не знаю. Даже не соображу для чего это нужно. Попробуй сначала мост поднять, а потом поиграйся с адресами.

ИМХО в любом случае клиентским компам нужен шлюз по умолчанию куда слать запросы, а если у него адреса нет... Даже не знаю.
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Re: Настройка моста

Сообщение Maitreya »

Вот что получается.

Пересобрал ядро с опцией BRIDGE

в файл /etc/sysctl.conf добавил строчки:
net.link.ether.bridge.enable=1
net.link.ether.bridge.config=vr0,vr1

в файл /etc/rc.conf добавил:
gateway_enable="YES"

сетевые интерфейсы не настраивал

Как мне понять что мост появился, и как на него адрес настроить?

спасибо за сотрудничество.
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Настройка моста

Сообщение Poor Fred »

Maitreya писал(а):
26.01.2006 22:24
сетевые интерфейсы не настраивал

Как мне понять что мост появился, и как на него адрес настроить?


Для начала пингануть компы из другой подсети. Если нужен доступ для виндовых компов, то поднять Самбу. В конфигах должны быть строки
wins support = Yes
interfaces = vr0, vr1

Если не хочется, то можно поднять DNS (тут не подскажу, не поднимал) или на каждой виндовой машине прописать в windows/system32/drivers/etc/hosts соответствия, к примеру
192.168.1.10 account
192.168.1.11 printserver

Честно говоря, уже не помню в подробностях, что я делал и в какой последовательности, но там ничего сложного нет на удивление. И что-то сомневаюсь насчет возможности НЕ назначать адреса сетевушкам.
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Re: Настройка моста

Сообщение Maitreya »

Я так понимаю, на каждую сетевую надо назначить адрес ?
И ещё вопрос: маршруты надо указывать между ними ?
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Re: Настройка моста

Сообщение Maitreya »

Сетевушкам назначил адреса - компьютеры из другой сети не пингуются...
Подскажите, что я сделал не так - делал всё по Handbook.
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Настройка моста

Сообщение Poor Fred »

Maitreya писал(а):
27.01.2006 12:22
Я так понимаю, на каждую сетевую надо назначить адрес ?
И ещё вопрос: маршруты надо указывать между ними ?


А что тут такого странного? Если одна из них смотрит в сеть 192.168.1.0, а другая в 192.168.2.0, то и назначить им соответственные адреса. У меня совсем просто было: обеим сетям сервак раздавал динамические адреса, поэтому у меня даже вопроса об адресах не было.
Маршруты вроде не надо. То, что ты указал в sysctl.conf (net.link.ether.bridge.config=vr0,vr1) и указывает, что сервер передает запросы с одной сетевухи на другую.

Maitreya писал(а):
30.01.2006 13:33
Сетевушкам назначил адреса - компьютеры из другой сети не пингуются...
Подскажите, что я сделал не так - делал всё по Handbook.


1. Проверь правила брандмауера. Пусть через обе сетевухи пакеты свободно ходят в обе стороны.
2. В Хендбуке есть грабля одна. Пишется строка, которую нужно внести, а потом ремарка, что начиная с 5-й она видоизменилась. Просмотри sysctl-ы, действительно ли мост включился?
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Re: Настройка моста

Сообщение Maitreya »

Уффф. Сделал всётаки!

Удалил исходники ядра, скопировал заново.
Скомпилировал с опцией "device if_bridge".
Затем ifconfig bridge0 create, добавление в него интерфейсов, ну и соответствующие записи в rc.conf.
Заработал сразу.
Всё на удивление просто оказалось, действительно. Правда пришлось не в handbooke, а в man-ах копаться долго.

Спасибо за внимание ;)
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

нужен прозрачный мост с тремя сетевыми интерфейсами и файерволлом
делал по статье
http://www.opennet.ru/base/net/net_bridge.txt.html
мост заработал всего один раз и с двумя интерфейсами

сейчас получается что при
#ipfw add 100 allow ip from any to any

выдаётся сообщение bridge0: discard frame w/o packet header и комп уходит в даун

в чём может быть проблема?

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

        # ifconfig bridge0 create
        #  ifconfig bridge0 addm fxp0 up
        #  ifconfig bridge0 addm fxp1 up
        #  ifconfig bridge0 addm fxp2 up
        # ifconfig bridge0 up
      # sysctl net.link.bridge.pfil_member=1
      # sysctl net.link.bridge.pfil_bridge=1


прописывал каждый раз при запуске, а не через rc.conf

вопрос - в чём может быть проблема?

ядро пересобрано с options IPFIREWALL и device if_bridge

нужно ли указывать allow this machine to function as network gateway в sysinstall'e?
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали:
Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Re: Настройка моста

Сообщение Maitreya »

Сегодня поставлю, фильтр, он мне тоже нужен.
Посмотрю, может чем смогу помочь.
Единственная мысль - удалить исходники ядра и заного скомпилировать, посмотреть что после этого получится.

В rc.conf можно не писать "gateway_enable=YES" (sysinstall добавляет эту строчку)
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

я понял что она добавляет, но нужна ли она вообще? не про неё ли говорит автор статьи?
В коде FreeBSD
5-STABLE и 6-STABLE есть 2 реализации сетевого моста - bridge и
if_bridge. Первая реализация будет скоро удалена из кода FreeBSD, так
что рассмотрим создание фильтрующего моста с помощью более
функционального кода if_bridge.

и что за проблема с ipfw?
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали:
Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Re: Настройка моста

Сообщение Maitreya »

Когда мост делаешь c помощью if_bridge, то gateway_enable НЕ надо писать в rc.conf, надо писать cloned_interfaces.

Пока ничего не могу сказать про ipfw, так как у меня такой проблемы не возникло - ipfw заработал сразу (причём по умолчанию все пакеты блокировал).
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

зачем прописывать cloned_interfaces, если я вручную создаю мост и поднимаю все интерфейсы?
нашёл по этой же теме инересный линк, правда используетсе pf а не ipfw

http://www.mail-archive.com/freebsd-pf@fre...g/msg00787.html

ещё вопрос - всё равно где в ядре эти строки прописывать?
options IPFIREWALL и device if_bridge
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: Настройка моста

Сообщение polachok »

все равно.
2Maitreya: нахрена исходники-то удалять? make clean и все дела :)
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

пересобрал ядро с опцией IPFIREWALL_DEFAULT_TO_ACCEPT
мост заработал сразу
при
#ipfw list
пишет
ipfw:getsockopt(IP_FW_GET): Protocol not available

в чём трабл?
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали:
Аватара пользователя
Maitreya
Сообщения: 87
ОС: Arch, Debian

Re: Настройка моста

Сообщение Maitreya »

polachok писал(а):
09.02.2006 23:09
нахрена исходники-то удалять? make clean и все дела :)

У меня, пока я не удалил исходники, if_bridge не начинал работать. Я и make clean делал. А всё равно не помогало. К тому же в хэнбуке вычитал - если что-то идёт не так, удалите исходники.
К чему стадам дары свободы? Их должно резать или стричь.
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

как включить pf вместо ipfw для моста? в хэндбуке я не могу корректно абзац перевести
Note: The module assumes the presence of options INET and device bpf. Unless NOINET6 for FreeBSD prior to 6.0-RELEASE and NO_INET6 for later releases (for example in make.conf(5)) was defined during the build, it also requiresoptions INET6.

источник http://www.freebsd.org/doc/en_US.ISO8859-1...rewalls-pf.html
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали:
galki
Сообщения: 231

Re: Настройка моста

Сообщение galki »

jet_pilot писал(а):
11.02.2006 19:09
как включить pf вместо ipfw для моста? в хэндбуке я не могу корректно абзац перевести
Note: The module assumes the presence of options INET and device bpf. Unless NOINET6 for FreeBSD prior to 6.0-RELEASE and NO_INET6 for later releases (for example in make.conf(5)) was defined during the build, it also requiresoptions INET6.


Чтобы включить pf напиши в rc.conf
pf_enable="YES"


А в процитированном абзаце пишут о том, что работать это будет если у тебя в конфигурации работающего ядра есть строчки
options INET # InterNETworking
options INET6 # IPv6 communications protocols
device bpf # Berkeley packet filter


Или вместо 'options INET6' в конфигурации ядра (вдруг ты не хочешь чтобы у твоей FreeBSD была поддержка inet6)
собирай мир с ключом -DNO_INET6 (можно написать
NO_INET6="true"
в /etc/make.conf
чтобы каждый раз самому не писать -DNO_INET6 ручками).

Скорее всего, у тебя в конфиге ядра есть и bpf, и INET, и INET6. (без INET у тебя не работал бы сейчас интернет, а без bpf не работает dhcp, например).
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

мне нужно чтоб в ядро было включено а не доп. модулем
что писать кроме:

device pf
device pflog
device pfsync

?
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали:
galki
Сообщения: 231

Re: Настройка моста

Сообщение galki »

jet_pilot писал(а):
12.02.2006 13:52
мне нужно чтоб в ядро было включено а не доп. модулем
что писать кроме:

device pf
device pflog
device pfsync

?


Вне зависимости от того как ты pf хочешь, ещё надо вот это:
options INET # InterNETworking
options INET6 # IPv6 communications protocols
device bpf # Berkeley packet filter


И, скорее всего, ты ещё ALTQ туда захочешь:
options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

как контроль по макам прикрутить? чтобы при смене айпи сразу же файер соединение рубил
arpwatch?
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали:
galki
Сообщения: 231

Re: Настройка моста

Сообщение galki »

jet_pilot писал(а):
12.02.2006 21:16
как контроль по макам прикрутить? чтобы при смене айпи сразу же файер соединение рубил
arpwatch?

при смене мака у айпи, что-ли?
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

или при смене айпи у мака :)
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали:
galki
Сообщения: 231

Re: Настройка моста

Сообщение galki »

jet_pilot писал(а):
12.02.2006 22:39
или при смене айпи у мака :)

/usr/ports/net-mgmt/arpwatch/ ?
Спасибо сказали:
Аватара пользователя
jet_pilot
Сообщения: 54

Re: Настройка моста

Сообщение jet_pilot »

я просто спросил с помощью чего лучше всего это организовать
абзац из описания снорта

# arpspoof
# --------
# Это экспериментальный код для детектирования ARP атак.
# Arpspoof использует идентификационный номер ID 112 и генерирует
# нижеизложенные SID:
#
# SID Описание
# ----- ----------
# 1 Unicast ARP request
# 2 Etherframe ARP mismatch (src)
# 3 Etherframe ARP mismatch (dst)
# 4 ARP cache overwrite attack

#preprocessor arpspoof
#preprocessor arpspoof_detect_host: 192.168.40.1 f0:0f:00:f0:0f:00


и ещё возникла одна мегапроблема, стопорящая прогресс с мостом
при включении pfctl (такое было раньше и с ipfw) и подключении двух свичей к сетевым интерфейсам (всего их 3) комп либо просто зависает, либо выдаёт

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

fatal trap 12: page fault while in kernel mode
. . .
supervisor write, page not present

один из вариантов:

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

xl0: packet with no header

может ли это быть из-за того что на один из интерфейсов моста привязан айпишник?
When you have insomnia, you're never really asleep... and you're never really awake

don't click this link...
Спасибо сказали: