LINUX.ORG.RU
ФорумAdmin

Настройка bridge в gentoo


0

0

Если настроить просто сетевой интерфейс, то он работает:
config_eth2=("123.45.67.89/24")
routes_eth2=("default gw 123.45.67.1")
dns_servers_eth2=("123.45.67.1")

Если настроить brigde, то сетевой интерфейс работает нестабильно (отваливается):

config_eth2=("null")
RC_NEED_br2="net.eth2"
config_br2=("123.45.67.89/24")
routes_br2=("default gw 123.45.67.1")
dns_servers_br2=("123.45.67.1")
brctl_br2=("setfd 0" "stp off" "addif eth2")

Что настроено не так?

> Если настроить brigde, то сетевой интерфейс работает нестабильно (отваливается):

Что значит "отваливается"? Как это выглядит в логах? Когда это происходит? Какая версия ядра?

> brctl_br2=("setfd 0" "stp off" "addif eth2")


Попробуй заменить на

> bridge_br2="eth2 ethX ethY" # ...

> brctl_br2=("setfd 0" "stp off")


Можно ещё попробовать выключить поднятие/опускание интерфейсов в зависимости от того, воткнута ли витая пара в сетевуху:

> modules_ethX=("!plug")


Deleted
()

По идее, у моста ip адреса быть вовсе не должно. Нормальная его работа при назначенном адресе ЕМНИП не гарантируется. А вообще мой опыт настройки мостов был неудачен: пытался организовать мост между беспроводной и проводной сетями и совершенно не преуспел - мост не заработал вообще. Может быть, конечно, я что-то облажал, а может статься и так, что мостам особого внимания хакеры ядра не уделили. Если совсем ничего не выйдет, имеет мсысл попробовать что-нибудь из семейства bsd.

LexxTheFox ★★
()
Ответ на: комментарий от LexxTheFox

> По идее, у моста ip адреса быть вовсе не должно. Нормальная его работа при назначенном адресе ЕМНИП не гарантируется.

Как так? ЕМНИП адресов быть не должно у интерфейсов, соединённых в мост. У самого моста - он может быть. В случае моста из двух интерфейсов выходит что-то вроде трёхпортового свича.

> А вообще мой опыт настройки мостов был неудачен: пытался организовать мост между беспроводной и проводной сетями и совершенно не преуспел - мост не заработал вообще.


У меня как раз на домашнем сервере (под gentoo) настроен мост между WiFi'ем и проводной домашней локалкой. Всё работает замечательно.

> Может быть, конечно, я что-то облажал


Скорее всего. Wlan-интерфейс к мосту просто так не подключить из-за каких то особенностей реализации wifi-стека в ядре. В настройках демона hostapd есть специальная опция, которая указывает к какому мосту подключен wlan-интерфейс. Без этой опции с madwifi и nl80211 мост работать не будет.

Deleted
()
Ответ на: комментарий от Deleted

>> По идее, у моста ip адреса быть вовсе не должно. Нормальная его работа при назначенном адресе ЕМНИП не гарантируется.

> Как так? ЕМНИП адресов быть не должно у интерфейсов, соединённых в мост. У самого моста - он может быть. В случае моста из двух интерфейсов выходит что-то вроде трёхпортового свича.

Ну значит таки МИП.

>> Может быть, конечно, я что-то облажал

> Скорее всего. Wlan-интерфейс к мосту просто так не подключить из-за каких то особенностей реализации wifi-стека в ядре. В настройках демона hostapd есть специальная опция, которая указывает к какому мосту подключен wlan-интерфейс. Без этой опции с madwifi и nl80211 мост работать не будет.

Опа! Не знал. У меня как раз madwifi использовался. Спасибо за информацию.

LexxTheFox ★★
()

У меня так всё прекрасно работает (eth0 + eth1 в бридже):

routes_br0=("default via 192.168.1.1")

bridge_br0="eth0 eth1"
config_br0=( "192.168.1.3 netmask 255.255.255.0" )
config_eth0=( "null" )
config_eth1=( "null" )

KRoN73 ★★★★★
()

вот так настроено, для eth0 и двух tap-ов. Работает без проблем.

config_eth0=( "null" )

tuntap_tap00="tap"
tuntap_tap01="tap"
config_tap00=( "null")
config_tap01=( "null")
tunctl_tap00="-u samson"
tunctl_tap01="-u samson"

brctl_br0=( "setfd 0" "stp off" )
bridge_br0="eth0 tap00 tap01"
config_br0=(
"dhcp"
"192.168.1.239/24"
)
RC_NEED_br0="net.eth0 net.tap00 net.tap01"

для двух сетевух должно быть так:
config_eth0=( "null" )
config_eth1=( "null" )
brctl_br0=( "setfd 0" "stp off" )
bridge_br0="eth0 eth1"
config_br0=( "192.168.0.5/24" )
RC_NEED_br0="net.eth0 net.eth1"


samson ★★
()
Ответ на: комментарий от Deleted

Удалил eth2 из brctl_eth2 и добавил строчку bridge_br2=("eth2")

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

Интерфейс снова отвалился.

> Что значит "отваливается"?

Перестают пинговаться другие компьютеры в сети
ping: sendmsg: No buffer space available

> Как это выглядит в логах?

Записи отсутствуют

> Когда это происходит?

Когда как

> Какая версия ядра?

2.6.29-gentoo-r5

ArsenShnurkov
() автор топика
Ответ на: комментарий от ArsenShnurkov

> Бридж на одну сетевую карту у меня потому, что остальные карты я добавляю в скрипте запуска kvm и удаляю в скрипте остановки kvm.

А если их сразу в бридж добавлять?

Deleted
()
Ответ на: комментарий от Deleted

> А если их сразу в бридж добавлять?

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

Есть еще идея попробовать добавить dummy-интерфейс (который не отключается никогда), чтобы интерфейсов стало более одного.
Но не знаю, как это сделать.

ArsenShnurkov
() автор топика
Ответ на: комментарий от Deleted

Попробовал так:

config_dummy2=("null")
tuntap_dummy2="tap"
tunctl_dummy2="-u root"
config_eth2=("null")
RC_NEED_br2="net.eth2 net.dummy2"
config_br2=("123.45.67.89/24")
bridge_br2=("eth2 dummy2")
brctl_br2=("setfd 0" "stp off")

Не помогло

ArsenShnurkov
() автор топика
Ответ на: комментарий от samson

> Что говорит гугл?

Гугл говорит - добавь noacpi в параметры запуска ядра.
Добавил, вроде полегчало, но гложут смутные сомнения.

ArsenShnurkov
() автор топика
Ответ на: комментарий от ArsenShnurkov

Сомнения были не напрасны - опять отвалилось

ArsenShnurkov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.