Тема: FreeBSD - Cisco VLAN Транк / Trunk
Оригинал статьи находится тут - Настройка маршрутизации сети от провайдера через связку FreeBSD Vlan+Trunking+Catalyst
Настройка по данной статье добавляет Вам следующие возможности:
1. Полный роутинг и разделения сети (к примеру возьмем 192.168.1.0/24) на ВЛАНы и защита сети фаерволом.
2. Проброс пакетов от трансферной сети провайдера в сеть выделенную, через транкинг настроенный на Cisco Catlyst 3550.
3. Мониторинг трафика на портах.
4. Возможность управлять трафиком и даже резать его на килобиты или килобайта. Как угодно.
Что нужно для того чтобы все это заработало:
1. ОС FreeBSD 7/x + Машина желательно с двумя БП(для удержания машины в бесперебойном питании) не хуже Celeron 1 Ghz , 256Mb RAM
2. Cisco Catalyst 3540XL,3550SMI или другие, которые поддерживают транкинг(trunking)
3. Сетевые карты которые поддерживают создание и управеление VLAN(на FreeBSD).
4. Терпение и желание.
Начнем:
1. Создаем на БСД ВЛАНы. но для начала, добавляем нужные нам опции в ядро БСД
#
options HZ=1000 #Увеличивает резистентность ОС.
options DUMMYNET#Добавляет нам возможность установки настройки "резать канал" на килобиты, килобайты и т.д.
options IPSTEALTH # this does not increment the TTL counter, making the VLAN machine seem transparent
# Возможность фаервола
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
# Создаем ядро
#cd /sys/i386/conf
#config vlan
Kernel build directory is ../compile/vlan
Don't forget to do ``make cleandepend && make depend''
#make cleandepend && make depend
#make
#make install
#
либо
#cd /usr/src && make buildkernel KERNCONF=vlan (put your config file from step one here)
Как только все отбарабанило
#make installkernel KERNCONF=vlan
Шаг 2.
Идем далее.
Перезагружаемся, и начинаем: Добавляем в /etc/c.conf
defaultrouter="1.2.3.4" #Выход на провайдера
ifconfig_em0="inet 1.2.3.5 netmask 255.255.255.252 media 100BaseTX" #Это наш IP выданный провайдером для трансфера сети.
ifconfig_em1="up mtu 1504" #Поднимаем порт с MTU 1504
cloned_interfaces="vlan2 vlan3" #Добавляем клонированне ВЛАНы
ifconfig_vlan2="inet 192.168.1.1 netmask 255.255.255.192 vlan 2 vlandev em1"
ifconfig_vlan3="inet 192.168.1.65 netmask 255.255.255.248 vlan 3 vlandev em1"
firewall_enable="YES" # Set to YES to enable firewall functionality
firewall_script="/etc/rc.firewall" # Which script to run to set up the firewall
firewall_type="OPEN" # Firewall type (see /etc/rc.firewall)
#firewall_type="CLIENT" # Firewall type (see /etc/rc.firewall)
firewall_quiet="YES" # Set to YES to suppress rule display
firewall_logging="YES" # Set to YES to enable events logging
firewall_client_net="192.168.1.0/24" # Наша сетка для "client" firewall.
теперь, когда все создано, можно перезагрузить сеть:
#/etc/netstart
или, если Вы будете в будущем добавлять ВЛАНы и перезагрузка не самое лучшая идея, просто делайте так:
#ifconfig vlan4 create
#ifconfig vlan4 inet 192.168.1.162 netmask 255.255.255.252 Vlan 4 vlandev em1
Проверим
#ifconfig vlan4
# ifconfig vlan4
vlan4: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1504
options=3<RXCSUM,TXCSUM>
ether 00:30:48:30:dd:17
inet 192.168.1.162 netmask 0xfffffff8 broadcast 192.168.1.163
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 4 parent interface: em1
#
Отлично - идем дальше на Каталист/Циску.
Порт Fa0/48 будет приемником ВЛАНов и на нем настроим trunk
switch# config t
switch(config)# int fa0/48
switch(config-if)# description 802.1Q Trunk to FreeBSD Machine
switch(config-if)# speed 100
switch(config-if)# switchport trunk encapsulation dot1q
switch(config-if)# switchport trunk allowed vlan 2-4
switch(config-if)# exit
switch(config)# exit
switch# wr mem
Теперь аплинк отредатирован и можно подключить тестовую машину к порту Fa0/1
switch# config t
switch(config)# vtp mode transparent
switch(config)# system mtu 1504
Changes to the System MTU will not take effect until the next reload is done.
switch(config)# ip subnet-zero
switch(config)# ip routing
switch(config)# int fa0/1
switch(config-if)# description Port 1 VLAN 2
switch(config-if)# switchport access vlan 2
switch(config-if)# no cdp enable
switch(config-if)# exit
switch(config)# exit
switch# wr mem
switch# reload
Пока каталист перезагружается с новым MTU, подключаем и настраиваем на подключенной к порту 1 машине-клиенте адрес:
IP: 192.168.1.2
Gateway: 192.168.1.1
Mask: 255.255.255.192
DNS: провайдера
и пингуем с нее гатевай и проверям, все ли сработало.
Удачных сетей!!!