Jump to content
Калькуляторы

FreeBSD прозрачный мост

Привет всем.

 

Пытаюсь создать прозрачный мост, однако он валится по какой-то не совсем понятной причине.

Статья делаю так:

Цитата

ifconfig bridge create


# ifconfig bridge0 addm fxp0 addm fxp1 up
# ifconfig fxp0 up
# ifconfig fxp1 up

запускаю пинги, 30 пакетов проходит и всё.

 

Топология такова

 

ПК - SWITCH <------>  re0 | FreeBSD | re2 <-----> ноут
10.10.10.98 <-------------------------------------> 10.10.10.70

Мост без IP адресов.

 

Как быть?

Спасибо.

 

Edited by default_vlan

Share this post


Link to post
Share on other sites

в ifconfig -a что видно? в /var/log/messages что?

stp включали?

Share this post


Link to post
Share on other sites
1 час назад, NewUse сказал:

в ifconfig -a что видно?

 

re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
    ether 90:e6:ba:07:48:c1
    hwaddr 90:e6:ba:07:48:c1
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active

re2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
    ether 90:e6:ba:07:3d:06
    hwaddr 90:e6:ba:07:3d:06
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (none)
    status: no carrier

bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 02:41:86:67:4d:00
    nd6 options=9<PERFORMNUD,IFDISABLED>
    groups: bridge 
    id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
    maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
    root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
    member: re2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 3 priority 128 path cost 2000000
    member: re0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 1 priority 128 path cost 2000000
 

 

 

1 час назад, NewUse сказал:

в /var/log/messages что?

Aug 22 08:54:55 home kernel: re1: link state changed to DOWN
Aug 22 08:54:55 home kernel: re1: link state changed to UP
Aug 22 08:54:55 home kernel: re0: link state changed to UP
Aug 22 08:54:55 home kernel: re2: link state changed to UP
Aug 22 08:54:55 home kernel: blanktime.
Aug 22 08:57:13 home su: administrator to root on /dev/pts/0
Aug 22 08:57:32 home kernel: bridge0: Ethernet address: 02:41:86:67:4d:00
Aug 22 08:57:45 home kernel: re0: promiscuous mode enabled
Aug 22 08:57:45 home kernel: re2: promiscuous mode enabled
Aug 22 08:57:45 home kernel: bridge0: link state changed to UP
Aug 22 08:57:57 home kernel: re0: link state changed to DOWN
Aug 22 08:58:00 home kernel: re0: link state changed to UP
Aug 22 08:58:00 home kernel: re2: link state changed to DOWN
Aug 22 08:58:03 home kernel: re2: link state changed to UP
Aug 22 08:58:30 home kernel: re2: link state changed to DOWN
 

1 час назад, NewUse сказал:

stp включали?

Включал, но с ним он вообще отказывается работать.

 

Повторные
# ifconfig re2 up
# ifconfig re0 up
# ifconfig bridge0 up

 

результатов не дает.

Edited by default_vlan

Share this post


Link to post
Share on other sites
Цитата

Aug 22 08:58:30 home kernel: re2: link state changed to DOWN

это что такое?

 

если один из интерфейсов в дауне то ничего удивительного...

у Вас точно кольца нет?

 

Share this post


Link to post
Share on other sites
4 минуты назад, NewUse сказал:

это что такое?

Это загадка. Тот самый интерфейс, который смотрит на ноут  в моей схеме.

 

4 минуты назад, NewUse сказал:

у Вас точно кольца нет?

 

нет. Разве что есть еще 3й интерфейс, по которому идет управление и он находится в тех же подсетях, что и первые 2. Может ли быть из-за этого?

Share this post


Link to post
Share on other sites
19 минут назад, default_vlan сказал:

Может ли быть из-за этого?

Да. Выкинул 3-й интерфейс в отдельный vlan и проблема ушла. Теперь буду пробовать поднять все это дела на нетграфе. Может быть у кого есть подсказки? Чем дольше я в него вчитываюсь, тем дольше я в него вчитываюсь и мне все больше становится непонятно.

Share this post


Link to post
Share on other sites
23 минуты назад, default_vlan сказал:

Да. Выкинул 3-й интерфейс в отдельный vlan и проблема ушла. Теперь буду пробовать поднять все это дела на нетграфе. Может быть у кого есть подсказки? Чем дольше я в него вчитываюсь, тем дольше я в него вчитываюсь и мне все больше становится непонятно.

Что именно в нетграфе не понятно?

Подгружаешь ng_ether, ng_bridge, ng_eiface.

Цепляешь бридж к ловер хукам интерфейсов, цепляешь к бриджу еифейс, вешаешь на него IP адреса. С интерфейсов адреса предварительно снимаешь, заодно включаешь промиск в ng_ether.

Share this post


Link to post
Share on other sites
53 минуты назад, Ivan_83 сказал:

подгружаешь ng_ether, ng_bridge, ng_eiface.

Это в документации.

Делаю по факту скрипт.

 

# cat ng_bridge.sh

#!/bin/sh

ngctl 	mkpeer		re0:		bridge		lower	link0
ngctl 	name		re0:lower	switch

ngctl 	connect		re0:		switch:		upper	link1
ngctl	connect		re2:		switch:		lower	link2
ngctl	connect		re2:		switch:		upper	link3

ngctl	msg		re0:		setpromisc	1
ngctl	msg		re1:		setpromisc	1
ngctl	msg		re0:		setautosrc	0
ngctl	msg		re1:		setautosrc	0

ngctl	mkpeer		switch:		eiface		link5	ether
#ngctl	name		switch:link5	ngeth0

ifconfig re0 up
ifconfig re2 up
Цитата

# ngctl list
There are 6 total nodes:
  Name: ngctl1073       Type: socket          ID: 00000010   Num hooks: 0
  Name: re0             Type: ether           ID: 00000001   Num hooks: 2
  Name: re1             Type: ether           ID: 00000002   Num hooks: 0
  Name: re2             Type: ether           ID: 00000003   Num hooks: 2
  Name: switch          Type: bridge          ID: 00000005   Num hooks: 5
  Name: ngeth0          Type: eiface          ID: 0000000f   Num hooks: 1

 

# ifconfig 

ngeth0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=28<VLAN_MTU,JUMBO_MTU>
	ether 00:00:00:00:00:00
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active

 

И трафика нет. В первом случае все заработало.

Share this post


Link to post
Share on other sites
2 часа назад, Ivan_83 сказал:

подгружаешь ng_ether, ng_bridge, ng_eiface.

Это в документации.

Делаю по факту скрипт.

 

# cat ng_bridge.sh

#!/bin/sh

ngctl 	mkpeer		re0:		bridge		lower	link0
ngctl 	name		re0:lower	switch

ngctl 	connect		re0:		switch:		upper	link1
ngctl	connect		re2:		switch:		lower	link2
ngctl	connect		re2:		switch:		upper	link3

ngctl	msg		re0:		setpromisc	1
ngctl	msg		re1:		setpromisc	1
ngctl	msg		re0:		setautosrc	0
ngctl	msg		re1:		setautosrc	0

ngctl	mkpeer		switch:		eiface		link5	ether
#ngctl	name		switch:link5	ngeth0

ifconfig re0 up
ifconfig re2 up
Цитата

# ngctl list
There are 6 total nodes:
  Name: ngctl1073       Type: socket          ID: 00000010   Num hooks: 0
  Name: re0             Type: ether           ID: 00000001   Num hooks: 2
  Name: re1             Type: ether           ID: 00000002   Num hooks: 0
  Name: re2             Type: ether           ID: 00000003   Num hooks: 2
  Name: switch          Type: bridge          ID: 00000005   Num hooks: 5
  Name: ngeth0          Type: eiface          ID: 0000000f   Num hooks: 1

 

# ifconfig 

ngeth0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=28<VLAN_MTU,JUMBO_MTU>
	ether 00:00:00:00:00:00
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active

 

И трафика нет. В первом случае все заработало.

 

Что интересно, если стать читером и влезть в /usr/share/examples/netgraph/ether.bridge прописать туда свои интерфейсы, то все вроде бы даже гулять начинает, но интерфейс в ifconfig'е не создается.

 

завел. Банальная невнимательность - 

ngctl	msg		re0:		setpromisc	1
ngctl	msg		re2:		setpromisc	1
ngctl	msg		re0:		setautosrc	0
ngctl	msg		re2:		setautosrc	0

однако, снифать трафик на созданном ngeth0 не получается (((

Share this post


Link to post
Share on other sites

upper тебе не нужны.

мак пропиши на ngeth0.

снифать наверное на физическом надо, я не смотрел как ngeth0 внутри устроен.

Share this post


Link to post
Share on other sites
14 часов назад, Ivan_83 сказал:

upper тебе не нужны.

а что есть upper? Как я понял, это верхние протоколы модели OSI. Или нет?

Share this post


Link to post
Share on other sites
4 часа назад, default_vlan сказал:

а что есть upper? Как я понял, это верхние протоколы модели OSI. Или нет?

По этим хукам пакеты идут в/из ОС, ловер - это сразу из/в сетевуху.

Share this post


Link to post
Share on other sites

Хорошо. Мост завелся, но как-то не айс с ним работать.
Другой вопрос, дабы не делать новые темы. Как принять трафик с зеркалированного порта cisco на сетевую карту в FreeBSD?

Share this post


Link to post
Share on other sites

Там сам ng_bridge не особо, у него глобальная блокировка на таблице маков/портов, я одно время думал как исправить потом забил.

Включить промиск на интерфейсе.

Share this post


Link to post
Share on other sites
10 минут назад, Ivan_83 сказал:

Включить промиск на интерфейсе.

В том и дело, что включал, но результат тот же, что и в случае ранее - интерфейс работает и гаснет.
 

До включения tcpdump

re2: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC> metric 0 mtu 1500
	options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
	ether 90:e6:ba:07:3d:06
	hwaddr 90:e6:ba:07:3d:06
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active

После попытки включения

re2: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC> metric 0 mtu 1500
	options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
	ether 90:e6:ba:07:3d:06
	hwaddr 90:e6:ba:07:3d:06
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (none)
	status: no carrier

dmesg

re2: link state changed to UP
re2: link state changed to DOWN

 

Share this post


Link to post
Share on other sites
24 минуты назад, default_vlan сказал:

В том и дело, что включал, но результат тот же, что и в случае ранее - интерфейс работает и гаснет.

Это к физике/сетевухе/дровам.

Share this post


Link to post
Share on other sites
26 минут назад, Ivan_83 сказал:

Это к физике/сетевухе/дровам.

Тут не соглашусь. Это что-то внутрисистемное. буду думать, только хз в какую сторону

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this