Необходимо было соорудить новый сервер, нужный в основном для файлообменника. Решил взять новую FreeBSD 7.0-BETA4, раньше работал с 6.2. И тут начались проблемы с VLANами.
В ядре прописано все нормально device vlan и device miibus. На серваке 3 сетевые карты, из них одна встроенная.
Вот в dmesg они выглядят так:
em0: <Intel(R) PRO/1000 Network Connection Version - 6.7.3> port 0xcf80-0xcf9f mem 0xfe5e0000-0xfe5fffff irq 18 at device 1.0 on pci2
em0: Ethernet address: 00:0e:a6:76:82:96
em0: [FILTER]
fxp0: <Intel 82559 Pro/100 Ethernet> port 0xdf00-0xdf3f mem 0xfeafe000-0xfeafefff,0xfe900000-0xfe9fffff irq 23 at device 11.0 on pci3
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> PHY 1 on miibus0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:02:b3:d3:66:08
fxp0: [ITHREAD]
rl0: <RealTek 8139 10/100BaseTX> port 0xd800-0xd8ff mem 0xfeaff400-0xfeaff4ff irq 20 at device 12.0 on pci3
miibus1: <MII bus> on rl0
rlphy0: <RealTek internal media interface> PHY 0 on miibus1
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:e0:4c:9f:04:e7
rl0: [ITHREAD]Первая сетевуха(em0) - встроенная. Почитал man vlan. Если я правильно понял, то VLANы на em поддерживаются аппаратно, остальные две сетевухи тоже вроде как поддерживаются.
Далее моя конфигурация в rc.conf:
cloned_interfaces="vlan100 vlan10 vlan11 vlan12 vlan13 vlan14 vlan15 vlan16 vlan17 vlan18 vlan19 vlan20 vlan21 vlan22 vlan23 vlan24 vlan25 vlan50"
ifconfig_em0="inet 10.4.1.80 netmask 255.255.255.0 up"
ifconfig_vlan100="inet 10.4.100.80 netmask 255.255.255.0 vlan 100 vlandev em0"
ifconfig_vlan10="inet 10.4.10.80 netmask 255.255.255.0 vlan 10 vlandev em0"
ifconfig_vlan11="inet 10.4.11.80 netmask 255.255.255.0 vlan 11 vlandev em0"
ifconfig_vlan12="inet 10.4.12.80 netmask 255.255.255.0 vlan 12 vlandev em0"
ifconfig_vlan13="inet 10.4.13.80 netmask 255.255.255.0 vlan 13 vlandev em0"
ifconfig_vlan14="inet 10.4.14.80 netmask 255.255.255.0 vlan 14 vlandev em0"
ifconfig_vlan15="inet 10.4.15.80 netmask 255.255.255.0 vlan 15 vlandev em0"
ifconfig_vlan16="inet 10.4.16.80 netmask 255.255.255.0 vlan 16 vlandev em0"
ifconfig_vlan17="inet 10.4.17.80 netmask 255.255.255.0 vlan 17 vlandev em0"
ifconfig_vlan18="inet 10.4.18.80 netmask 255.255.255.0 vlan 18 vlandev em0"
ifconfig_vlan19="inet 10.4.19.80 netmask 255.255.255.0 vlan 19 vlandev em0"
ifconfig_vlan20="inet 10.4.20.80 netmask 255.255.255.0 vlan 20 vlandev em0"
ifconfig_vlan21="inet 10.4.21.80 netmask 255.255.255.0 vlan 21 vlandev em0"
ifconfig_vlan22="inet 10.4.22.80 netmask 255.255.255.0 vlan 22 vlandev em0"
ifconfig_vlan23="inet 10.4.23.80 netmask 255.255.255.0 vlan 23 vlandev em0"
ifconfig_vlan24="inet 10.4.24.80 netmask 255.255.255.0 vlan 24 vlandev em0"
ifconfig_vlan25="inet 10.4.25.80 netmask 255.255.255.0 vlan 25 vlandev em0"
ifconfig_vlan50="inet 10.4.50.80 netmask 255.255.255.0 vlan 50 vlandev em0"
Запускаем, смотрим ifconfig:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:0e:a6:76:82:96
inet 10.4.1.80 netmask 0xffffff00 broadcast 10.4.1.255
media: Ethernet autoselect (10baseT/UTP <full-duplex>)
status: active
vlan100: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:0e:a6:76:82:96
inet 10.4.100.80 netmask 0xffffff00 broadcast 10.4.100.255
media: Ethernet autoselect (10baseT/UTP <full-duplex>)
status: active
vlan: 100 parent interface: em0
vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:0e:a6:76:82:96
inet 10.4.10.80 netmask 0xffffff00 broadcast 10.4.10.255
media: Ethernet autoselect (10baseT/UTP <full-duplex>)
status: active
vlan: 10 parent interface: em0
vlan11: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:0e:a6:76:82:96
inet 10.4.11.80 netmask 0xffffff00 broadcast 10.4.11.255
media: Ethernet autoselect (10baseT/UTP <full-duplex>)
status: active
vlan: 11 parent interface: em0
+ остальные VLANы.....
Все работает, НО ПОЧЕМУ СКОРОСТЬ 10 Mb/c ???????
Это же гигабитная интелевская сетевая карта????
Кабель категории 5е, должен сотку поддерживать, коммутатор, к которому все идет, тоже сотку поддерживает. Пробовал поменять кабель и коммутатор - не помогает.
Пробовал вручную через media opt поставить 100 - вообще перестает работать, то есть на сервере показывает, что сеть поднята, но извне она перестает даже пинговаться, не говоря уже про какие-то подключения.
Мы пошли другим путем, то есть попробовали поднять VLANы на fxp0 и rl0.
В rc.conf что-то типа такого:
ifconfig_fxp0="inet 10.4.1.80 netmask 255.255.255.0"
ifconfig_vlan100="inet 10.4.100.80 netmask 255.255.255.0 vlan 100 vlandev fxp0"
ifconfig_vlan10="inet 10.4.10.80 netmask 255.255.255.0 vlan 10 vlandev fxp0"
ifconfig_vlan11="inet 10.4.11.80 netmask 255.255.255.0 vlan 11 vlandev fxp0"
ifconfig_vlan12="inet 10.4.12.80 netmask 255.255.255.0 vlan 12 vlandev fxp0"
ifconfig_vlan13="inet 10.4.13.80 netmask 255.255.255.0 vlan 13 vlandev fxp0"
ifconfig_vlan14="inet 10.4.14.80 netmask 255.255.255.0 vlan 14 vlandev fxp0"
ifconfig_vlan15="inet 10.4.15.80 netmask 255.255.255.0 vlan 15 vlandev fxp0"
ifconfig_vlan16="inet 10.4.16.80 netmask 255.255.255.0 vlan 16 vlandev fxp0"
ifconfig_vlan17="inet 10.4.17.80 netmask 255.255.255.0 vlan 17 vlandev fxp0"
ifconfig_vlan18="inet 10.4.18.80 netmask 255.255.255.0 vlan 18 vlandev fxp0"
ifconfig_vlan19="inet 10.4.19.80 netmask 255.255.255.0 vlan 19 vlandev fxp0"
ifconfig_vlan20="inet 10.4.20.80 netmask 255.255.255.0 vlan 20 vlandev fxp0"
ifconfig_vlan21="inet 10.4.21.80 netmask 255.255.255.0 vlan 21 vlandev fxp0"
ifconfig_vlan22="inet 10.4.22.80 netmask 255.255.255.0 vlan 22 vlandev fxp0"
ifconfig_vlan23="inet 10.4.23.80 netmask 255.255.255.0 vlan 23 vlandev fxp0"
ifconfig_vlan24="inet 10.4.24.80 netmask 255.255.255.0 vlan 24 vlandev fxp0"
ifconfig_vlan25="inet 10.4.25.80 netmask 255.255.255.0 vlan 25 vlandev fxp0"
ifconfig_vlan50="inet 10.4.50.80 netmask 255.255.255.0 vlan 50 vlandev fxp0"
Для обеих карт VLANы поднимались, давали 100 Мб\с, но работали некорректно: где-то 10-15% пингов пропадало, подключение по ssh шло с большими тормозами, из портов что-либо установит было невозможно, часами шла закачка каких-нибудь 100 Kb. Пробовал вручную поставить mtu 1500, не помогает. Самое интересное, что на соседнем сервере с FreeBSD 6.2. стоит fxp с VLANами, и нормально работает без проблем.
Резюмируя, хочу добиться, чтобы у меня на сервере была сотка, но в чем проблема, не понимаю. Может быть, зря я 7 поставил? Или у меня просто руки кривые? Или драйвера надо найти на em0?
В общем, подскажите мне, люди добрые, что делать.