>А как все таки забриджевать? Намек на комманду можно? Тут одной командой не обойдёшся. Здесь идёт серия команд. Вот что у меня на моём бридже:
Конфигурация кернела:
### ADDED OPTIONS ###
option IPFIREWALL
option IPFIREWALL_VERBOSE
option IPFIREWALL_VERBOSE_LIMIT=100
option IPDIVERT
option DUMMYNET
#option BRIDGE
device if_bridge
options IPFIREWALL_FORWARD
options IPFILTER
options IPFILTER_LOG
options HZ=1000
options MAXCONS=1024
options NETGRAPH
options NETGRAPH_BPF
options NETGRAPH_ETHER
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_SOCKET
options NETGRAPH_TEE
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
Эти опции добавлены в девственно чистый дефолт конфиг. Больше ничего там я не менял.
В rc.conf:
gateway_enable="YES"
keymap="us.iso"
sshd_enable="YES"
sendmail_enable="NONE"
defaultrouter="172.16.0.255"
hostname="brigde1"
firewall_enable="YES"
firewall_script="/opt/lanadmin/bridge.sh"
fsck_y_enable="YES"
background_fsck="NO"
#smartd_enable="YES"
В /opt/lanadmin/bridge.sh:
#!/bin/sh
cmd_ipfw="/sbin/ipfw"
cmd_ifconfig="/sbin/ifconfig"
cmd_route="/sbin/route"
bridge_iface0="bridge0"
eth_iface0="fxp0"
eth_iface1="fxp1"
eth_iface0_ip="172.16.0.254"
eth_iface0_netmask="255.255.0.0"
eth_iface1_ip="172.16.0.253"
eth_iface1_netmask="255.255.0.0"
default_gateway="172.16.0.255"
### SETUP_BRIDGE ###
${cmd_ifconfig} ${bridge_iface0} create
${cmd_ifconfig} ${bridge_iface0} addm ${eth_iface0}
${cmd_ifconfig} ${bridge_iface0} addm ${eth_iface1}
${cmd_ifconfig} ${eth_iface0} up
${cmd_ifconfig} ${eth_iface1} up
${cmd_ifconfig} ${bridge_iface0} up
${cmd_ifconfig} ${eth_iface0} inet ${eth_iface0_ip} netmask ${eth_iface0_netmask}
${cmd_ifconfig} ${eth_iface1} inet ${eth_iface1_ip} netmask ${eth_iface1_netmask}
Далее следуют правила фаерволла, но здесь они не так уж и важны (правила Вам в любом случае писать самому с учётом вашей топологиии). Здесь только поменяйте один их интерфейсов на lo0. Чесно скажу - не знаю заработает ли с lo0, но попробовать можно.
Ага, и вот на чём это хозяйство крутится:
brigde1# uname -a
FreeBSD brigde1 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Sun Feb 15 16:06:04 UTC 2009 root@:/usr/src/sys/i386/compile/BRIDGE i386
brigde1#
И вот как оно смотрится:
brigde1# ifconfig -a
fxp0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:02:55:e4:82:db
inet 172.16.0.254 netmask 0xffff0000 broadcast 172.16.255.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
fxp1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:06:29:29:77:f4
inet 172.16.0.253 netmask 0xffff0000 broadcast 172.16.255.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
pflog0: flags=0<> metric 0 mtu 33204
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
pfsync0: flags=0<> metric 0 mtu 1460
syncpeer: 224.0.0.240 maxupd: 128
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether b2:7c:39:75:53:81
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: fxp1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 2 priority 128 path cost 200000
member: fxp0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 1 priority 128 path cost 200000
brigde1#
А вообще, по бриджеванию море инфы. На том же опеннете (откуда яи брал всё это). Ищите, читайте (хотя бы для понимания, поскольку все команды и конфиги у Вас уже есть).
Удачи!
respect,
ronin