Задача состоит в следующем: на фревой тачке стоят сетевые интерфейсы - один наружный и несколько внутренних. Нужно внутренние интерфейсы объеденить с помощью моста в один кластер, присвоить ему айпишник и устроить ему НАТ наружу. Начал делать все как по 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 (если это имеет значение)