Dashboard > Администрирование > Home > VLAN, Linux, FreeBSD > Просмотр
  Администрирование Вход | Зарегистрироваться   Вариант для печати.  
  VLAN, Linux, FreeBSD
Добавил(а) shixaro, последний раз редактировал(а) shixaro Jun 03, 2008  (посмотреть изменения)
Метки: 
(None)

Возникла необходимость поднять как в учебных, так и рабочих целях виланы между двумя серверами.
Первый сервер работает под управлением Debian Etch r3, второй под управлением FreeBSD 7.0. Наш вилан будет фигурировать везде как vlan4 (важно, чтобы он был одинаковым на обеих машинах).
Начнем с первой.
Необходима поддержка 802.1Q ядром Linux

# modprobe 8021q

Если модуль не найден, необходимо переконфигурировать ядро, включив поддержку модуля, а потом пересобрать модули ядра.

Модуль включается в Network options / 802.1Q VLAN Support.

# make menuconfig
# make modules; make modules_install

Выключить интерфейс:

# /sbin/ifconfig eth2 down

Теперь поднимем его, но уже без адреса:

# /sbin/ifconfig eth2 0.0.0.0 up

Так как мы имеем дело в дебианом, то конфигурация вилан-интерфейса существенно упрощается. Выдержа из /etc/network/interfaces:

auto vlan4
# VLAN 4
iface vlan4 inet static
address 172.16.198.2
netmask 255.255.255.0
network 172.16.198.0
broadcast 172.16.198.255
mtu 1500
vlan_raw_device eth2

Теперь достаточно просто поднять интерфейс

# ifup vlan4
# ifconfig vlan4
vlan4     Link encap:Ethernet  HWaddr 00:80:48:31:a5:96
          inet addr:172.16.198.2  Bcast:172.16.198.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:261 errors:0 dropped:0 overruns:0 frame:0
          TX packets:550 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0

С конфигурированием vlan на машине с дебианом закончили. Переходим к FreeBSD.

Все операции с виланами в FreeBSD проводятся с использованием утилиты ifconfig.

# ifconfig vlan4 create

Теперь нужно указать, что созданный интерфейс соответствует трафику, тегированному VLAN 4 и приходящему через физический интерфейс fxp0:

# ifconfig vlan4 vlan 4 vlandev re0

Теперь можно работать с vlan4 как с обычным интерфейсом. Этому интерфейсу нужно зназначить адрес. Машина будет видна в VLAN 4 по этому адресу:

# ifconfig vlan4 172.16.198.6/24

Теперь интерфейс работает

# ifconfig vlan4
vlan4: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1a:4d:5e:1e:0c
        inet6 fe80::21a:4dff:fe5e:1e0c%vlan4 prefixlen 64 scopeid 0xc
        inet 172.16.198.6 netmask 0xffffff00 broadcast 172.16.198.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 4 parent interface: re0

Если нужно, чтобы вилан конфигурировался при загрузке системы, необходимо внести в /etc/rc.conf следующее:

cloned_interfaces="vlan4"
ifconfig_vlan4="inet 172.16.198.6 netmask 255.255.255.0 vlan 4 vlandev re0 mtu 1500"

Если нужно добавить много виланов, то можно использовать следующий скрипт (взято с bsdportal.ru):

#!/bin/sh 
for i in vlan101 vlan102 vlan103 
do 
    echo $i 
    n=`echo $i | awk '{a=substr($1,5,3); print a}'` 
    /sbin/ifconfig $i create && ifconfig $i vlan $n vlandev re0 
done

В /etc/rc.conf добавлять их придется вручную.

Все, обе машины видят друг друга. Выдержка tcpdump вилана на машине с дебианом:

14:36:00.033568 vlan 4, p 0, IP 172.16.198.6.110 > 172.16.198.2.45331: P 89:107(18) ack 71 win 16471 <nop,nop,timestamp 477769309 1487805409>
14:36:00.033690 vlan 4, p 0, IP 172.16.198.6.110 > 172.16.198.2.45331: F 107:107(0) ack 71 win 16471 <nop,nop,timestamp 477769309 1487805409>
14:36:00.033822 vlan 4, p 0, IP 172.16.198.2.45331 > 172.16.198.6.110: F 71:71(0) ack 108 win 46 <nop,nop,timestamp 1487805409 477769309>
14:36:00.034542 vlan 4, p 0, IP 172.16.198.6.110 > 172.16.198.2.45331: . ack 72 win 16470 <nop,nop,timestamp 477769310 1487805409>

Более подробно с информацией по виланам можно ознакомиться на http://xgu.ru/wiki

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5 Build:#805 Apr 26, 2007) - Запрос Bug/feature - Связаться с администраторами