The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Сетевой мост - роутер"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Сетевой мост - роутер"
Сообщение от Beh_Older emailИскать по авторуВ закладки(ok) on 03-Дек-04, 11:41  (MSK)
Задача состоит в следующем: на фревой тачке стоят сетевые интерфейсы - один наружный и несколько внутренних. Нужно внутренние интерфейсы объеденить с помощью моста в один кластер, присвоить ему айпишник и устроить ему НАТ наружу. Начал делать все как по http://bsd.opennet.ru/base/net/FilterBridge.txt.html
Столкнулся со след. проблемами:

1) Заданные опции ядра
options BRIDGE
options IPFIREWALL
не избавляют от необходимости подгрузки соответствующих модулей(второй - через rc.conf, первый вообще вручную)

2) После kldload bridge.ko и установки переменных

# sysctl -w net.inet.ip.fw.one_pass=0
# sysctl -w net.link.ether.bridge_ipfw=1
# sysctl -w net.link.ether.bridge=1

мост походу активизируется и даже пропускает через себя пакеты, то есть фря работает как добрый свич :) Но не более того. На экране - постоянные "ядерные" сообщения (ярко-белого цвета):
ether_input: drop bdg packet, bif 0x5

3) Так и не понял, как присваивать кластеру айпишник. Прописывание айпишника одному из интерфейсов в кластере приводит к тому, что с фри пингануть можно только только ту часть сети, в которую физически смотрит этот интерфейс. Остальные не пингуются, а ведь их всех же еще и НАТить нужно ...

Помогите, пожалуйста! Почему поддержка моста и фаерволла не вкомпиливается в ядро? Как сделать так, чтобы с кастером можно было работать как с интерфейсом (через ifconfig, например), присвоить айпи и НАТить его потом ? Что за ядерные сообщения на экране? Как их убрать или хотя бы направить в какой-нить файл? Поломано множество копий, вырваны космы волос и обкусано много локтей :)
Заранее большое спасибо за поддержку!!

P.S. ОS - FreeBSD 5.0, сетевушки - Intel Pro 10/100B/100+ , 3com 3c900 и Realtek-8029 (если это имеет значение)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Сетевой мост - роутер"
Сообщение от Beh_Older emailИскать по авторуВ закладки(ok) on 06-Дек-04, 09:28  (MSK)
Ну что - неужели никто не занимался подобной проблемой ?! Ну подскажите - поделитесь опытом! Пожалуйста!
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Сетевой мост - роутер"
Сообщение от Мишка Искать по авторуВ закладки on 06-Дек-04, 12:04  (MSK)
Скриптик для объединения интерфейсов

#!/bin/sh
kldload /boot/kernel/ng_ether.ko
kldload /boot/kernel/ng_one2many.ko
ifconfig rl0 up
ifconfig rl1 up
ngctl mkpeer rl0: one2many upper one
ngctl connect rl0: rl0:upper lower many0
ngctl connect rl1: rl0:upper lower many1
ngctl msg rl1: setpromisc 1
ngctl msg rl1: setautosrc 0
ngctl msg rl0:upper \
        setconfig "{ xmitAlg=1 failAlg=1 enabledLinks=[ 1 1 ] }"
ifconfig rl0 inet 192.168.0.78


в итоге имеем 200 мбит/c

оба интерфейса воткнуты в адин свитч

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Сетевой мост - роутер"
Сообщение от Beh_Older emailИскать по авторуВ закладки(ok) on 06-Дек-04, 12:19  (MSK)
>Скриптик для объединения интерфейсов
>
>#!/bin/sh
>kldload /boot/kernel/ng_ether.ko
>kldload /boot/kernel/ng_one2many.ko
>ifconfig rl0 up
>ifconfig rl1 up
>ngctl mkpeer rl0: one2many upper one
>ngctl connect rl0: rl0:upper lower many0
>ngctl connect rl1: rl0:upper lower many1
>ngctl msg rl1: setpromisc 1
>ngctl msg rl1: setautosrc 0
>ngctl msg rl0:upper \
>        setconfig "{ xmitAlg=1 failAlg=1
>enabledLinks=[ 1 1 ] }"
>ifconfig rl0 inet 192.168.0.78
>
>
>в итоге имеем 200 мбит/c
>
>оба интерфейса воткнуты в адин свитч

Ого !! Круто ! Походу это то, что мне нужно, даже еще с крутым наворотом ! :) Вот спасибо доброму человеку, бум пробовать ...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Сетевой мост - роутер"
Сообщение от Beh_Older emailИскать по авторуВ закладки(ok) on 08-Дек-04, 18:03  (MSK)
>>Скриптик для объединения интерфейсов
>>
>>#!/bin/sh
>>kldload /boot/kernel/ng_ether.ko
>>kldload /boot/kernel/ng_one2many.ko
>>ifconfig rl0 up
>>ifconfig rl1 up
>>ngctl mkpeer rl0: one2many upper one
>>ngctl connect rl0: rl0:upper lower many0
>>ngctl connect rl1: rl0:upper lower many1
>>ngctl msg rl1: setpromisc 1
>>ngctl msg rl1: setautosrc 0
>>ngctl msg rl0:upper \
>>        setconfig "{ xmitAlg=1 failAlg=1
>>enabledLinks=[ 1 1 ] }"
>>ifconfig rl0 inet 192.168.0.78
>>
>>
>>в итоге имеем 200 мбит/c
>>
>>оба интерфейса воткнуты в адин свитч
>
>Ого !! Круто ! Походу это то, что мне нужно, даже еще
>с крутым наворотом ! :) Вот спасибо доброму человеку, бум пробовать
>...


Не получается. Нет, все нормально загружается, но пинги не идут, если сетевой провод воткнут в rl1.(а я так понимаю, что должны идти - или теперь сетевушки могут работать ТОЛЬКО в паре?!?)

попробовал по-другому, с п-ю модуля ng_fec:

kldload ng_fec
/usr/sbin/ngctl mkpeer fec dummy fec
/usr/sbin/ngctl msg fec0: add_iface '"fxp0"'
/usr/sbin/ngctl msg fec0: add_iface '"fxp1"'
ifconfig fxp0 up
ifconfig fxp1 up
ifconfig fec0 up
ifconfig fec0 inet 192.168.0.1 netmask 255.255.255.0

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

# ngctl msg fec0: set_mode_inet
# ngctl msg fec0: set_mode_mac
# ngctl msg fec0: set_mode_inet6

тоже не помогает. Все нормально выполняется, но пинги не идут. Более того, в этом случае стоит выполнить команду
# tcpdump -n -i fec0, как происходит
Fatal trap 12: jghfjghfkjg
короче, все с треском закрывается, 15 сек и ребут.
Может, карточки не поддерживают чего-то ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Сетевой мост - роутер"
Сообщение от Beh_Older emailИскать по авторуВ закладки(ok) on 09-Дек-04, 13:30  (MSK)
>>>Скриптик для объединения интерфейсов
>>>
>>>#!/bin/sh
>>>kldload /boot/kernel/ng_ether.ko
>>>kldload /boot/kernel/ng_one2many.ko
>>>ifconfig rl0 up
>>>ifconfig rl1 up
>>>ngctl mkpeer rl0: one2many upper one
>>>ngctl connect rl0: rl0:upper lower many0
>>>ngctl connect rl1: rl0:upper lower many1
>>>ngctl msg rl1: setpromisc 1
>>>ngctl msg rl1: setautosrc 0
>>>ngctl msg rl0:upper \
>>>        setconfig "{ xmitAlg=1 failAlg=1
>>>enabledLinks=[ 1 1 ] }"
>>>ifconfig rl0 inet 192.168.0.78
>>>
>>>
>>>в итоге имеем 200 мбит/c
>>>
>>>оба интерфейса воткнуты в адин свитч

Ага. Кажется, разобрался. Оказывается, сетевушки должны работать не только строго в паре, но даже имеет значение, в каком порядке их поднимать в системе и/или даже в каком порядке подключать к свичу! Я несколько разочарован - я-то думал, что каждый интерфейс в Team-е как бы на подхвате и может работать в одиночку, когда остальные отключены ...
Но в целом, похоже, все работает и на ширине канала 200 мбит :) Кстати, какие средства в FreeBSD есть для измерения траффика в реальном времени(наподобие как в ВыньХР) ? Да, и можно ли потом эту "команду" обьединять в сетевой мост с другими интерфейсами ? Маршрутизировать ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Сетевой мост - роутер"
Сообщение от idle Искать по авторуВ закладки(ok) on 17-Дек-04, 11:41  (MSK)
sysctl -w - недостаточно, надо вписывать в /etc/sysctl.conf.
У меня всё работает на 5.0, есть только две проблемы - при ребуте не присваивается айпишник интерфейсу и 'ether_input: drop bdg packet' я так и не смог понять.
Есть ещё одна фича, netstat -rs показывает нереальное кол-во ошибок - это глюк netstat.
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-bridging.html
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Сетевой мост - роутер"
Сообщение от Beh_Older emailИскать по авторуВ закладки(ok) on 17-Дек-04, 14:39  (MSK)
>sysctl -w - недостаточно, надо вписывать в /etc/sysctl.conf.
>У меня всё работает на 5.0, есть только две проблемы - при
>ребуте не присваивается айпишник интерфейсу и 'ether_input: drop bdg packet' я
>так и не смог понять.
>Есть ещё одна фича, netstat -rs показывает нереальное кол-во ошибок - это
>глюк netstat.
>http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-bridging.html
Работает "прозрачно" ? То есть прописать какой-нить сетевушке айпишник - и пингуется вся сеть ?
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру