VLAN в FreeBSD
Материал из Xgu.ru
- Короткий URL: vlan/freebsd
< VLAN >
На этой странице рассматривается процедура настройки VLAN в FreeBSD.
Для создания и управления VLAN во FreeBSD не используются какие-то специальные программы. Всё делается с помощью программы ifconfig.
Содержание |
[править] С версии 7.3 и ~8.1
[править] Вариант 1
В rc.conf
ifconfig_em1="up" vlans_em1="10 20" ifconfig_em1_10="inet 192.168.10.1/24" ifconfig_em1_20="inet 192.168.20.1/24"
ifconfig берет данные из rc.conf
# ifconfig em1.10 create
создаст интерфейс с нужными настройками
# ifconfig em1.10 em1.10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=3<RXCSUM,TXCSUM> ether 08:00:27:f1:9f:1e inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255 media: Ethernet autoselect (1000baseTX <full-duplex>) status: active vlan: 10 parent interface: em1
# ifconfig em1.10 destroy
соответственно удалит интерфейс
[править] Вариант 2
В rc.conf
ifconfig_em1="up" vlans_em1="vlan1 vlan2" create_args_vlan1="vlan 10" create_args_vlan2="vlan 20" ifconfig_vlan1="inet 192.168.10.1/24" ifconfig_vlan2="inet 192.168.20.1/24"
ifconfig берет данные из rc.conf
# ifconfig vlan1 create
создаст интерфейс с нужными настройками
vlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=3<RXCSUM,TXCSUM> ether 08:00:27:f1:9f:1e inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255 media: Ethernet autoselect (1000baseTX <full-duplex>) status: active vlan: 10 parent interface: em1
# ifconfig vlan1 destroy
соответственно удалит интерфейс
[править] Вариант 3
В rc.conf
ifconfig_em1="inet 192.168.0.0 netmask 255.255.255.0" cloned_interfaces="vlan1 vlan2" ifconfig_vlan1="inet 192.168.10.1/24 vlan 10 vlandev em1" ifconfig_vlan2="inet 192.168.20.1/24 vlan 20 vlandev em1"
[править] Примечания к вариантам
Оба варианта задания vlan-ов в rc.conf можно смешивать, см. /etc/defaults/rc.conf
Второй вариант, обычно используется если нужно указывать vlan-ы в конфигурации MPD(Multi-link PPP daemon for FreeBSD), т.к. в подсистеме netgraph для именования нод нельзя использовать символ «точки», узлы интефейсов создаются без имени, а в конфигурации mpd прописывается именно NG-нода, которую ему следует использовать, а не интерфейс.
[править] Первый вариант
Создать интерфейс vlan4:
# ifconfig vlan4 create
Указать, что созданный интерфейс соответствует трафику, тегированному VLAN 4 и приходящему через физический интерфейс fxp0:
# ifconfig vlan4 vlan 4 vlandev fxp0
Теперь можно работать с vlan4 как с обычным интерфейсом. Этому интерфейсу нужно назначить адрес. Машина будет видна в VLAN 4 по этому адресу:
# ifconfig vlan4 192.168.16.14/24
Предыдущие команды можно было бы совместить в одну.
Просмотреть информацию об интерфейсе:
# ifconfig vlan4 vlan4: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.16.14 netmask 0xffffff00 broadcast 192.168.16.15 inet6 fe80::204:79ff:fe67:9671%vlan4 prefixlen 64 scopeid 0x6 ether 00:07:e9:45:0d:2c media: Ethernet autoselect (100baseTX <full-duplex>) status: active vlan: 4 parent interface: fxp0
Видно, что в описании интерфейса появилась строка:
vlan: 4 parent interface: fxp0
которая говорит о том, что интерфейс vlan4 соответствует VLANу 4 на родительском сетевом интерфейсе fxp0.
Для того чтобы интерфейсы поднимались автоматически при старте, нужно добавить в /etc/rc.conf:
cloned_interfaces="vlan3 vlan4" ifconfig_vlan3="inet 192.168.15.14 netmask 255.255.255.0 vlan 3 vlandev fxp0" ifconfig_vlan4="inet 192.168.16.14 netmask 255.255.255.0 vlan 4 vlandev fxp0"
[править] Второй вариант
Создать интерфейс
$ ifconfig xl1.4 create xl1.4: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:04:79:66:6b:09 media: Ethernet autoselect (100baseTX <full-duplex>) status: active vlan: 4 parent interface: xl1
как видите он создается сразу с тэгом на нужном транковом интерфейсе
соответственно в rc.conf это выглядит так:
cloned_interfaces="xl1.4 xl1.5" ifconfig_xl1_4="inet 192.168.4.1/24" ifconfig_xl1_5="inet 192.168.5.1/24"
Номера 4 и 5 указывают в данном случае на то, какие VLAN ID должны использоваться.
[править] Дополнительная информация
- http://people.freebsd.org/~arved/vlan/vlan_en.html (англ.)
- http://alienstudio.ru/freebsd-supervlan-ip-unnumbered/ Настройка Super vlan или IP-Unnumbered в FreeBSD
VLAN - Virtual Local Area Network | |
---|---|
Стандарты, протоколы и основные понятия | 802.1Q • VLAN ID • ISL • VTP • GVRP • Native VLAN |
В операционных системах | Linux (Debian, Ubuntu, CentOS) • FreeBSD • Windows |
В сетевом оборудовании | Cisco • HP ProCurve • D-LINK • Allied Telesis • Asotel • Juniper • ExtremeXOS |
Разное | man vconfig • Безопасность VLAN • 802.1X и RADIUS • Cisco Private VLAN |