вторник, 19 октября 2010 г.

Установка почтового сервера Ubuntu Postfix

Недавно нашел отличные статейки по сабжу
практически все так и было


https://docs.google.com/document/edit?id=1AVUYHVSMCTRQiK9d4zDzng0SbC8OKjX6xqECEj3icpk&hl=ru

https://docs.google.com/document/edit?id=1kC55c8-aOTrIUAaBkCiccbKKXiHRCSdUr10EiAOR1Yc&hl=ru

Только несколько замечаний
когда создаешь новый домен то надо ему создать папку, а лучше скопировать одну из уже созданных, и дать uid при помощи sudo chown -R vmail  /home/vmail/ вот так вот все просто оказалось)))

воскресенье, 29 августа 2010 г.

Редактирование Hosts win 7

недавно мне пришлось именно этот фаил отредактировать, немного плясок и вуалля

  • Запускаем explorer и выходим в каталог %systemroot%\system32\drivers\etc\ (где %systemroot% – каталог, куда установлена ОС).
  • Делаем ярлык (ссылку) на Рабочем столе на файл hosts в этом каталоге (перетаскивается файл hosts на Рабочий стол с одновременным нажатием клавиши Alt.
  • Меняем свойства новоиспеченного ярлыка. В строку «назначение» (target) добавляем в начало notepad.exe). Жмем пока Ok.
  • Снова выходит на редактирование свойств ярлыка. Строка «target» теперь выглядит так:
C:\Windows\System32\notepad.exe C:\Windows\System32\drivers\etc\hosts
  • Выходим в дополнительные навтройки (Advanced…). Устанавливаем – Запускать от имени Администратора.
  • Все. Жмем Ok.

вторник, 10 августа 2010 г.

Cisco 2980 прошивка, смена BOOT

И так, подключились мы к Циске
Первым делом:
Console>enable

Теперь с нашего сервера загрузим нужные прошивки командой
copy tftp flash
он попросит ввести адрес сервера, и имя того что заливаем, в данном случае нам нужны новые загрузчик и прошивка, это download/cat4000-promupgrade.6-1-5.bin и download/cat4000-k9.8-4-11-GLX.bin.

так, по одному мы их загрузили, теперь смотрим boot и добавляем в него наш новый загрузчик

set boot config-register boot system

set boot system flash bootflash:cat4000-promupgrade.6-1-5.bin prepend

советую сразу же добавить еще и нашу новую прошивку

set boot system flash bootflash:cat4000-k9.8-4-11-GLX.bin

ну вот мы сделали что надо.
теперь делаем reset

начинает загружаться, видим что он что-то переписывает, загружает, делает проверки
все, загрузились
теперь чистим boot
clear boot system flash bootflash:...

и удаляем все не нужное, в конце в буте у нас должно остаться
Console> (enable) show boot
BOOT variable = bootflash:cat4000-k9.8-4-11-GLX.bin,1;

удаляем с флешки всё не нужное
del bootflash:...

естественно оставляем cat4000-k9.8-4-11-GLX.bin
и что б это все удалилось с флешки делаем команду squeeze bootflash:
таким образом мы очистили флешку, и пере-установили загрузчик с прошивкой.

И в самом конце сделаем set boot config-register boot bootflash для того что б автоматом загружалась система

понедельник, 5 июля 2010 г.

OpenWRT поверх DD-Wrt

cd /tmp
wget http://backfire.openwrt.org/10.03/brcm-2.4/openwrt-brcm-2.4-squashfs.trx
mtd write openwrt-brcm-2.4-squashfs.trx linux && reboot



3 строчки, а столько радости))))

понедельник, 14 июня 2010 г.

Allied at-8000s Прошивка

Allied at-8000s  


Прошивка.
Несколько способов, первый не проверен полностью, второй вдоль и поперек.
Все по очереди:
Первый:
1) подключаемся через терминал, желательно с винды, hiper terminal;
2) скачиваем прошивку 2.0.0.
3) при помощи команды console# copy startup-config tftp://....  копируем на tftp сервер наш рабочий конфиг;
4) командой Copy tftp://192.168.13.3/ats94-30030.ros image копируем прошивку в наши образы на свитче (то что 30030-пусть не пугает, так оно и должно быть);
5) проверяем каким по умолчанию образ у нас стоит Show bootvar если не наш меняем при помощи команды Boot sys image-y;
6) пускаем в ребут;
7) так же поступаем с прошивкой 30038;

Второй:
1) подключаемся через терминал, желательно с винды, hiper terminal;
2) скачиваем прошивку 3.0.0.38
3) при помощи команды console# copy startup-config tftp://....  копируем на tftp сервер наш рабочий конфиг;
4) командой Copy tftp://192.168.13.3/ats94-interim.ros image копируем прошивку в наши образы на свитче (то что 30030-пусть не пугает, так оно и должно быть);
5) проверяем каким по умолчанию образ у нас стоит Show bootvar если не наш меняем при помощи команды Boot sys image-y;
6) пускаем в ребут;
7) теперь наш любимый свитчек запросит (через пару минут прогрузки) загрузить через Xmodem фаил прошивки, а так как мы сидим в hiper terminal мы открываем 
   
И видим окошко ниже, выбираем наш файл под название ats94-30038.ros



Оно все само загрузит и установит.
После всех этих операций устанавливаем IP адрес
и выкачиваем при помощи команды copy  tftp://.... startup-config наш заранее сохраненный конфиг.

На этом все.

четверг, 3 июня 2010 г.

DHCP-Relay: Procurve and ISC-DHCP-Server

И вот мой ненавистный DHCP
задача стояла на коммутаторе HP ProCurve установить ретранслятор, и на некоторые порты разрешить ранг, а на другие запретить, в определенной подсети.
Для настройки сервера можно добавить

   class "ports-hp" {
       match if binary-to-ascii (10, 8, "", suffix( option
agent.circuit-id, 1)) = "21" # -  в кавычках номер порта
       or binary-to-ascii (10, 8, "", suffix( option
agent.circuit-id, 1)) = "30"
       or binary-to-ascii (10, 8, "", suffix( option
agent.circuit-id, 1)) = "31"
       or binary-to-ascii (10, 8, "", suffix( option
agent.circuit-id, 1)) = "22"
       and binary-to-ascii (16, 8, ":", suffix ( option
agent.remote-id, 6))= "0:11:85:42:99:0"; # -  в кавычках МАК
коммутатора( возможна тут же привязка к маку хоста, IP коммутатора, и
к VLAN  )
   }
   pool {
       range 192.168.3.64 192.168.3.79;
       max-lease-time 300;
       allow members of "ports-hp";
   }

Для работы коммутатора как ретранслятором надо


sw(config)# dhcp-relay
Включить ip routing (на коммутаторе включается функциональность 3го уровня):
sw(config)# ip routing
режим вставки option 82
sw(config)# dhcp-relay option 82
[validate] | drop [validate] | keep>   [ip | mac]
задать хелпер адресс
sw(config)# vlan 3
sw(vlan-1)# ip helper-address 192.168.13.28


Впрочем вот, все надо объяснять, а это сейчас мне не хочется)
успехов!

вторник, 25 мая 2010 г.

Сброс и восстановление пароля Cisco Catalyst 3550

И так, пришлось мне как-то сбросить пароли с 8 таких штучек, оказалось все не так сложно.
начнем
1)вставить шнур консоли в комп и в свитч
2)отключить питание от свитча
3)зажать кнопку MODE и включить питание, отпустить кнопку только после того как погаснет индикатор первого порта Fast Ethernet

это сделано!
идем к компьютеру на котором мы видим какие-то сведения о системе и


switch:
теперь по шагам:
1)вводим
 
switch: flash_init

 что бы инициализировать систему флеша;
2)загружаем вспомогательные файлы, то есть вводим 

switch: load_helper

3)отображаем содержимое 

switch: dir flash:
4)Переименуем фаил конфигурации 
switch: rename flash:config.text flash:config.text.old
5)загружаем систему

switch: boot

и нам конечно предложат запустить авто установку, выбираем нет!
6)входим в режим EXEC

Switch> enable

7)Возвращаем имя конфигу обратно

Switch# rename flash:config.text.old flash:config.text
8)загружаем этот конфиг 
Switch# copy flash:config.text system:running-config
на вопросы просто нажимаем ентер
9)заходим в режим глобальной конфигурации

Switch# configure terminal

10)и меняем пароль

Switch (config)# enable secret password

11) теперь возвращаемся в режим EXEC и вводим

Switch# copy running-config startup-config

Все теперь мы можем заходить в консоль набирая свой пароль, который на этот рас не забудем)

пятница, 7 мая 2010 г.

Vlan freebsd

так, начнем, мне недавно понадобилось поднять вилан интерфейс, а я тупо забыл как это делается,  но не растерялся немного серфинга по просторам инэта и я это делаю так:
создаем интерфейс

ifconfig vlan4 create
после даем на команду, на какой вилан будет у нас откликаться сия интерфейс

ifconfig vlan4 vlan 4 vlandev fxp0
как видим, 4-й вилан на интерфейсе fxp0
все оказалось проще простого)
ну и в конце повесим на него адрес

ifconfig vlan4 192.168.0.1/24
и для того что бы наш любимый интерфейс загружался автоматом в /etc/rc.local добавим 


cloned_interfaces="vlan4"
ifconfig_vlan3="inet 192.168.0.1 netmask 255.255.255.0 vlan 4 vlandev fxp0"
Ну вот теперь точно все)

четверг, 6 мая 2010 г.

Траффик

Тут я подумал почему б не посмотреть загрузку своего канала в линуксе
и мне на глаза попалась программка iftop
установить проще простого:


sudo apt-get install iftop

показывает неплохо, но в реальном времени.

тоже похожая штука, но по моднее iptraf установка такая же, ну вообще не плохо

пятница, 23 апреля 2010 г.

Запрет ssh

Тут мне только что пришла идея что стоит некоторым пользователям закрыть доступ по ssh
не задавайте вопросов зачем) вот так захотелось... что я сделал для этого:
есть у нас пользователь vasia и я его очень не люблю как админа) я ему делаю такую пакость
в фаил




/etc/ssh/sshd_config

дописываю такие строки

match user vasia PasswordAuthentication no
KbdInteractiveAuthentication no

после этих строк Вася очень нервничает, но что делать, плохой он человек)
успехов вам в закрытии консоли от нежелательных пользователей!

четверг, 22 апреля 2010 г.

Простой BASH скрипт для BACKUP

Вот мне довелось написать малюсенький скриптик чисто для себя и чисто для своего домашнего сервера.

задачи стояли самые простые:
1-сделать бекап баз данных и сайта;
2-удалять бекапы которые уже устарели.

вот собственно скрипт:

#!/bin/bash
filename=`date +%d_%m_%y`.tar.bz2
cd /var/backup
tar cvpjf $filename /var/www/ /var/lib/mysql
countday=10
day=`date +%d`
let "delday = day - countday"
dday=`echo $delday`
dfilename=`printf $dday`_`date +%m_%y`.tar.bz2
rm /var/backup/$dfilename


И конечно же краткое объяснение что и к чему)
буду объяснять построчно:
1-ну с этого начинается баш скрипт, рассказывать нечего
2-этой переменной мы присваиваем значение такое, каким хотим видеть название архива(бекапа). В данном случае это дата бекапа.
3-здесь мы идем в директорию куда хотим сохранять бекапы
4-здесь мы создаем архив тех папок, которых нам нужны бекапы(пишем их через пробел)
5-здесь присваивается значение сколько дней храниться наш бекап
6-10 -это строки что удаляют старые бекапы

Вот впрочем все....
успешных бекапов

и конечно же совсем забыл)
в /etc/crontab добавляем строчку
30 4    * * *   root    /(НАШ СКРИПТ)

где 30 - мин
4-часы
звездочки означают что в любой день в любой месяц
вот теперь все)

четверг, 15 апреля 2010 г.

Q in Q Catalyst


Q-in-Q, так же это называют dot1q tunneling, это система двойного тегирования вланов. То есть, допустим у нас есть канал на некую техплощадку, на которой подключены клиенты, клиенты должны быть изолированы друг от друга с помощью vlan, но транспорт не позволяет обеспечить нужное количество вланов на каждого клиента, а владельцы транспорта дают один влан и как говорится крутись как хочешь. Вот для таких случаев замечательно подходит dot1q тунелирование, когда внутрь одного влана на входе упаковываются вланы, а на выходе транспорта распаковываются. Остается добавить, что не все виды коммутаторов поддерживают Q-in-Q, среди коммутаторов Cisco поддерживают Q-in-Q 35хх, 37xx, 45xx. Среди продуктов D-Link поддерживает Des-3825, тут Q-in-Q называется Double Vlan. И все коммутаторы производства ExtremeNetworks, они называют эту технологию vMan.

Схема коммутации для создания Q-in-Q будет выглядеть так:
net
На сервере (он является маршрутизатором для клиентов) терминируются все клиентские вланы(11,12, 13, 14, 15), порт GigabitEthernet 1/0/1 Switch 1, находится в режиме транка, и имеет такую конфигурацию:
interface GigabitEthernet1/0/1  switchport trunk encapsulation dot1q  switchport trunk allowed vlan 11-15  switchport mode trunk  speed nonegotiate  no cdp enable  spanning-tree bpdufilter enable  spanning-tree bpduguard enable !
Порт GigabitEthernet1/0/2 соенденен со Switch 2 порт GigabitEthernet1/0/1, нужно это для того, что бы отдать пакеты в порт который будет заворачивать весь трафик в Q-in-Q и имеет такую конфигурацию:
interface GigabitEthernet1/0/2  switchport trunk encapsulation dot1q  switchport trunk allowed vlan 11-15  switchport mode trunk  speed nonegotiate  no cdp enable  spanning-tree bpdufilter enable  spanning-tree bpduguard enable !
Порт Switch2 GigabitEthernet1/0/1 находится в режиме Q-in-Q, то есть все приходящие пакеты инкапсулирует во влан 10, и для всех устройств находящихся далее по цепочке виден только один влан, в нашем случае влан 10. А конфигурация порта GigabitEthernet1/0/1 на втором свитче будет такая:
configure terminal
interface GigabitEthernet1/0/1
description -== Q-IN-Q ==-
switchport access vlan 10
switchport mode dot1q-tunnel
switchport nonegotiate no mdix auto no cdp 
enable spanning-tree bpdufilter 
enable spanning-tree 
bpduguard enable
Теперь все приходящее на этот порт будет упаковываться внутрь 10-го влана и соответственно выходить через порт GigabitEthernet1/0/28, его настройки будут такие:
interface GigabitEthernet1/0/28  switchport trunk encapsulation dot1q  switchport trunk allowed vlan 10  switchport mode trunk  speed nonegotiate  no cdp enable  spanning-tree bpdufilter enable  spanning-tree bpduguard enable !
Далее идет оборудование компании предоставляющей транспорт до нашей техплощадки, на схеме это все оборудование обозначено как некое облако, о содержимом которого мы ничего не знаем, да и знать нам не надо.
На удаленной техплощадке наш влан приходит в порт GigabitEthernet1/0/28 Switch3 с конфигурацией идентичной настроенной на Switch 2 порт GigabitEthernet1/0/28.
interface GigabitEthernet1/0/28  switchport trunk encapsulation dot1q  switchport trunk allowed vlan 10  switchport mode trunk  speed nonegotiate  no cdp enable  spanning-tree bpdufilter enable  spanning-tree bpduguard enable !
Трафик приходит на порт GigabitEthernet1/0/28 Switch3 имеющий двойной тег, то есть Q-in-Qшный, теперь его надо распаковать, соответственно порт GigabitEthernet1/0/1 находится в режиме Q-in-Q. Настройки его такие:
interface GigabitEthernet1/0/1 description -== Q-IN-Q ==- switchport access vlan 10 switchport mode dot1q-tunnel switchport nonegotiate no mdix auto no cdp enable spanning-tree bpdufilter enable spanning-tree bpduguard enable
Остался последний свитч Switch4, в который и включаются все клиенты. Со Switch3 он соенденен через порт GigabitEthernet1/0/1 со своей стороны и в GigabitEthernet1/0/1 на Switch3.
Настройки GigabitEthernet1/0/1 на Switch4 такие:
interface GigabitEthernet1/0/1  switchport trunk encapsulation dot1q  switchport trunk allowed vlan 11-15  switchport mode trunk  speed nonegotiate  no cdp enable  spanning-tree bpdufilter enable  spanning-tree bpduguard enable
А настройки клиентских портов будут, для первого клиента во влан 11, порт GigabitEthernet1/0/2:
interface GigabitEthernet1/0/2  description -== FirstClient ==-  switchport access vlan 11  switchport mode access
второго, подключенного в GigabitEthernet1/0/3, и ходящего по 12 влану, такие:
interface GigabitEthernet1/0/2  description -== SecondClient ==-  switchport access vlan 12  switchport mode access
Ну и так далее, идентично для остальных клиентов.
На этом настройка закончена. Остается только добавить, что схему можно немного упростить физически, построив ее на основе 2 свичей вместо 4-х, для этого необходимо соорудить так называемый Q-in-Q Loop. Об этом я расскажу несколько позднее. И совсем необязательно применять для терминации клиентов равнозначные свитчи, им хватит и свитча попроще, но Q-in-Q прийдется строить все равно на базе как минимум Cisco Catalyst 35xx. Причем функция Q-in-Q в них не документирована, но работает.

Option 82 DHCP



Инсталляция и настройка DHCP сервера ISC-DHCP

Будем использовать dhcp-сервер ISC-DHCP (v3). ISC DHCP Server — наиболее распространнённый DHCP-сервер, из использующихся в UNIX/Linux-системах. Для нас сейчас важно и то, что это один из серверов, умеющих распознавать опцию 82.
Будем предполагать, что инсталляция и настройка сервера выполняется в Debian GNU/Linux. Пользователи других систем должны учесть, что процедура инсталляции и местоположение конфигурационных файлов могут несколько отличаться.


[править]Установка DHCP-сервера с поддержкой опции 82

В обычном случае установить откомпилированный DHCP-сервер из репозитория пакетов можно было бы с помощью команды:
%# apt-get install dhcp3-server 
и можно было бы считать, что на этом инсталляция сервера закончена, и можно переходить к его настройке. Однако, в том случае, если предполагается использование DHCP-ретранслятора (что обязательно, если будет использоваться опция 82), может потребоваться сборка пакета с включённой директивой USE_SOCKETS. Подробнее эта процедура описана ниже.


[править]Сборка с включённой директивой USE_SOCKETS

По умолчанию DHCP-сервер ожидает услышать запросы клиентов на широковещательном адрес 255.255.255.255. Однако, когда запрос перенаправляет DHCP-ретранслятор, запрос приходит непосредственно на адрес DHCP-сервера. Для того чтобы DHCP-сервер корректно обрабатывал информацию от DHCP-ретранслятора, его необходимо скомпилировать с использованием директивы
#define USE_SOCKETS  
и указать в конфигурационном файле local-address.
Скачиваем исходники DHCP-сервера:
%# apt-get source dhcp3-server 
Перед началом сборки исходников необходимо установить все пакеты, необходимые для успешной сборки пакета, для чего выполнить:
%# apt-get build-dep dhcp3-server 
Теперь необходимо в файле site.h раскомментировать директиву #define USE_SOCKETS:
%# vi dhcp3-3.0.6.dfsg/includes/site.h 
Перейти в каталог dhcp3-3.0.6.dfsg:
%# cd dhcp3-3.0.6.dfsg/ 
Для того чтобы собрать пакет необходимо выполнить:
%$ dpkg-buildpackage -rfakeroot -b 
или, если сборка производится root'ом:
%# dpkg-buildpackage -b 
После сборки пакеты должны быть установлены в системе (инсталлируем только common и server, так как нам не нужен DHCP-ретранслятор и DHCP-клиент):
%# dpkg -i dhcp3-common_3.0.6.dfsg-1_i386.deb dhcp3-server_3.0.6.dfsg-1_i386.deb  


[править]Настройка DHCP-сервера

Изображение:Dhcp_82.jpeg
Сразу же после инсталляции пакета, сервер может не заработать — сначала необходимо отредактировать его конфигурационный файл /etc/dhcp3/dhcpd.conf.
# Укажите адрес, на который DHCP-сервер ожидает получать запросы (адрес DHCP-сервера)  local-address 192.168.2.9;  # Укажите подсеть интерфейса, на котором запущен DHCP-сервер  subnet 192.168.2.0 netmask 255.255.255.0 { }  # Если сервер получит запрос, содержащий опцию 82, он сгенерирует сообщение в системный журнал #   if exists agent.circuit-id {  log ( info, concat( " Lease for ",                       binary-to-ascii (10, 8, ".", leased-address),                      " Switch port: ",                       binary-to-ascii (10, 8, ".", option agent.circuit-id),                       " Switch MAC: ",                      binary-to-ascii(16, 8, ".", option agent.remote-id))); }  # Запросы, пришедшие с 5го порта коммутатора:  class "port-5" {  match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "5"; }  # Адрес для 5го порта:  pool {   range 192.168.1.55;   allow members of "port-5"; } 
Интерфейс, на котором будет работать DHCP-сервер, передается ему в качестве аргумента при вызове.
В Debian GNU/Linux аргументы и ключи вызова программ принято указывать в соответствующих файлах в каталоге /etc/default, в частности, конфигурационный файл, в котором находятся опции для нашего сервера, называется /etc/default/dhcp3-server.
При условии, что сервер будет слушать запросы на интерфейсе eth0, файл будет выглядеть так:
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0" 
Можно указать несколько интерфейсов, запросы с которых будет обрабатывать сервер. Они должны быть разделены пробелом.
Теперь можно запускать сервер:
%# /etc/init.d/dhcp3-server start 
После сборки сервера с #define USE_SOCKETS:
udp     0   0 192.168.2.9:67    0.0.0.0:*   863/dhcpd3 udp     0   0 192.168.2.9:67    0.0.0.0:*   863/dhcpd3


Пример конфигурационного файла DHCP-сервера

ddns-update-style none; default-lease-time 600; max-lease-time 7200; log-facility local7; local-address 192.168.2.9; if exists agent.circuit-id {   log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address),   " raw option-82 info is CID: ", binary-to-ascii (10, 8, ".", option agent.circuit-id), " AID: ",  binary-to-ascii(16, 8, ".", option agent.remote-id))); } subnet 192.168.2.0 netmask 255.255.255.0 {         range 192.168.2.20 192.168.2.40;         allow unknown-clients; }  subnet 192.168.1.0 netmask 255.255.255.0 {     class "port-5" {          match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "5";     }     class "port-3" {         match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "3";     }     class "port-45" {         match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "45";     }      pool {         range 192.168.1.155;         allow members of "port-5";     }     pool {         range 192.168.1.133;         allow members of "port-3";     }     pool {         range 192.168.1.45;         allow members of "port-45";     } }

Brctl - оригинальный перевод man


Имя

brctl - управление ethernet-мостом


Синтаксис

brctl [command]


Описание

Программа brctl предназначена для создания, сопровождения и просмотра конфигурации модуля Ethernet-моста birdge в ядре Linux.

Ethernet-мост это устройство используемое для соединения разных Ethernet-сетей между собой так, что эта сеть видится как единая членов сети.

Каждая сеть, участвующая в соединении, соответствует одном интерфейсу, подключённому к мосту. Эти отдельные сети ethernet связываются в большую логическую сеть. Этой сети соответствует сетевой интерфейс моста.

Экземпляры

Команда brctl

addbr

создаёт новый экземпляр ethernet-моста. Сетевой интерфейс, соответствующий этому мосту, будет называться name. Команда brctl
delbr

удаляет экземпляр моста, который называется name. Сетевой интерфейс, соответствующий мосту, нужно сначала выключить, прежде чем удалять этот мост. Команда brctl
show

показывает все экземпляры ethernet-мостов.

Порты

У каждого моста есть подключённые к нему порты. Трафик, который приходит через любой из этих портов, прозрачно отправляется на другие; мост остаётся невидимым для остальной сети (в частности, его не видно через traceroute).

Команда brctl

addif

делает сетевой интерфейс портом моста . Это означает, что все кадры, полученные через интерфейс будут обрабатываться, как если они пришли на этот мост. И наоборот, когда кадр приходит на мост , интерфейс рассматривается как потенциальный порт для отправки трафика. Команда brctl
delif

отключает интерфейс от бриджа .
Команда brctl

show

показывает информацию про мост подключённые к нему порты.

Время жизни

Мост отслеживает какие адреса были на каждом порту. Когда нужно передать кадр, адрес получателя (заданный в кадре) которого был замечен на каком-то порту, он передаётся только на этот порт. В результате не создаётся множество лишних кадров.

Местоположение ethernet это не статические данные. Машины могут переходить на другие порты, сетевые карты могут меняться (и соответственно, будут меняться MAC-адреса) и т.д. brctl

showmacs

показывает список изученных (learned) MAC-адресов для этого моста.
brctl

setageingtime

setgcint

Протокол spanning tree можно выключить совсем (в тех случаях, когда в его использовании нет никакого смысла, например, когда Linux-машина это единственный мост в сети или если если вы уверены, что петель в топологии не будет наверняка). Программа brctl может настраивать некоторые параметры протокола spanning tree. Объяснение, что обозначают эти параметры можно найти в спецификации IEEE 802.1d. Настройки по умолчанию должны хорошо работать в большинстве случаев. Если вы не знаете, что означают эти параметры, скорее всего вы и не захотите их менять.

* brctl stp управляет тем, будет ли мост принимать участие в работе протокола spanning tree (STP). Если состояние это "on" или "yes", STP будет включён; во всех остальных случаях он будет выключен. При выключенной опции мост не будет отправлять или принимать BPDU и не будет никак участвовать в работе протокола spanning tree. Если этот мост не единственный в сети, или если возможны циклы в сетевой топологии, эту опцию выключать не стоит. Опцию нужно отключать, только если точно представляешь, что делаешь. .br
* brctl setbridgeprio устанавливает приоритет моста равным . Параметр priority это 16-битное беззнаковое целое без размерности (число между 0 и 65535). Чем ниже приоритет, тем "лучше". Мост с наименьшим приоритетом будет выбран как корневой. .br
* brctl setfd

* brctl sethello

* brctl setmaxage
* brctl setpathcost задаёт стоимость порта равным . Это метрика без единиц измерений. .br
* brctl setportprio устанавливает приоритет порта 's равным . Значение priority это беззнаковое 8-битное целое (число между 0 и 255) и без единиц измерения. Эта метрика используется при выборе корневого моста (root bridge) и корневого порта (root port).

Замечания

brctl используется вместо старой утилиты brcfg.