BSD Router Project: Дистрибутив Open Source маршрутизатора


Руководство пользователя






Список совместимого оборудования


Для BSDRP вам необходимо:
- 256MB CF или USB носитель
- как минимум 128 MB оперативной памяти

Всё оборудование поддерживаемое FreeBSD 8.2 поддерживается BSDRP за исключением следующих драйверов: беспроводные устройства, SCSI адаптеры, PCMCIA карты, USB принтеры, FireWire и прочие драйвера которые были удалены из ядра FreeBSD.


Соглашение о терминах

Образы BSDRP используют следующие соглашения терминов:

BSDRP_release_image type_arch_console.img.xz

Значение image может быть:
-full: Используется для инсталляции BSDRP. Этот образ содержит полную файловую систему BSDRP (системный загрузчик, два системных раздела, раздел конфигурации и раздел данных)
-upgrade: Используется для обновления BSDRP. Этот образ содержит только один системный раздел.

Значение arch может быть:
-i386: для CPU i486, i586, i686
-amd64: для всех x86-64 CPU (amd64 и intel64)

Значение console может быть:
-vga: используется с VGA видеокартой и клавиатурой в качестве консоли по умолчанию (однако имеется возможность соединения через последовательный порт);
-serial: используется в безголовом режиме, только последовательный порт в качестве консоли по умолчанию.

Примеры:
-BSDRP_0.3_full_i386_vga.img - полный образ, для архитектуры i386, с консолью клавиатура/vga
-BSDRP_0.3_upgrade_amd64_serial.img, образ для обновления, архитектра amd64, консоль последовательного порта

Файлы *.mtree.xz используются для проверки целостности системы.

Инсталляция

С flash носителя (CF/USB)
    
Для пользователей Windows
 Здесь описаны два шага для записи образа на носители CF/USB:
 1. Разожмите образ BSDRP с помощью 7-Zip: вам необходимо связать расширение .img  с архиватором.
 2. Используйте Image Writer for Windows для записи файла образа .img (а не файла с расширением .xz) на присоединённый носитель CF/USB.

Для пользователей Linux
Присоедините ваш CF или USB носитель и запишите имя устройства (в данном примере это sd4 для usb носителя).
Выполните unzip для файла и побайтовое копирование на ваш носитель (Предупреждение: Дважды проверьте правильность выбора диска назначения!)


xzcat BSDRP-full-vga.0.2.img.bz2 | dd of=/dev/sd4 bs=64k

Теперь вы можете загрузиться с нового носителя.

Для пользователей FreeBSD
Присоедините ваш CF или USB носитель и запишите имя устройства (в данном примере это da0 для usb носителя).
Выполните unzip для файла и побайтовое копирование на ваш носитель (Предупреждение: Дважды проверьте правильность выбора диска назначения!)

xzcat BSDRP-full-vga.0.2.img.bz2 | dd of=/dev/da0 bs=64k

Теперь вы можете загрузиться с нового носителя.

Для пользователей Mac OS X
Вставьте USB носитель и запустите mount в терминале (или дисковую утилиту если предпочитаете графический режим) для просмотра устройства, которое OS X назначит вашему USB носителю. Вы можете сделать примерно так:

/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local)
fdesc on /dev (fdesc, union)
map -hosts on /net (autofs, automounted)
map auto_home on /home (autofs, automounted)
/dev/disk3s1 on /Volumes/UNTITLED (msdos, local, nodev, nosuid, noowners)

Последняя строка - ваше USB устройство. Размонтируйте его и запишите образ BSDRP следующим образом:

sudo umount -f /dev/disk3s1
xzcat BSDRP-full-vga.0.2.img.bz2 | dd of=/dev/disk3 bs=64k

Если всё нормально, OS X выведет диалог ошибок где скажет, что не может распознать ваш диск. Нажмите "Eject", удалите USB носитель и собственно всё.

Для виртуальной машины.
Для использования BSDRP на виртуальной машине, обратитесь к главе Как запустить в Технической документации.

После первого запуска BSDRP, не забудьте снизить значение kern.HZ, поскольку оно не оптимизировано для использования в виртуальной машине. Для этого введите следующую команду:

system virtualized

Специальные шаги для платформ PC-Engines WRAP
Конфигурация загрузчика FreeBSD(BSDRP) по умолчанию не совместима с WRAP: вам необходимо изменить режим перед использованием на платформе WRAP. С хоста FreeBSD, после инсталляции образа на носитель CF, измените режим загрузчика (размещённого на вашем устройстве daX):

boot0cfg -o nopacket /dev/daX

Обновление

Для обновления всех версий BSDRP с 0.35, используйте специальный скрипт обновления размещённый во включённых скриптах:

cd /tmp
fetch http://bsdrp.net/tools/upgrade-to-035
chmod +x /tmp/upgrade-to-035
ssh username@ssh-sever-name cat /directory-to/BSDRP_0.35_upgrade_i386_serial.img.xz | unxz | /tmp/upgrade-to-035

После выполнения, перезагрузите систему и ответьте "no" на вопрос “Do you want to save your configuration?”.

Использование SCP(SSH) сервера
Этот метод требует наличие SCP сервера:
- любой unix/linux с включённым SSH
- или MS Windows с ПО SSH сервера

С маршрутизатора:
1. Загрузите файл BSDRP-upgrade.image.xz с использованием SCP
2. Извлеките образ
3. Используйте скрипт обновления

Все эти шаги можно выполнить одной командой:

ssh my-user@my-ssh-server cat /path-to/BSDRP-upgrade.image.xz | xzcat | upgrade

Использование клиента SCP:

Этот способ требует:
- Как минимум 40МБ свободной оперативной памяти на вашем BSDRP (значение mem_avail в выводе "show mem")
- SCP клиент на вашем MS Windows (FileZilla или WinSCP)

В итоге необходимо:
1. Создать 20Мб RAM диск на BSDRP
2. Передать образ обновления BSDRP на RAM диск используя клиент SCP
3. Обновить систему.

Шаг 1. Создание RAM-диска
На BSDRP введите следующие команды:

set RAMDRIVE=`mdconfig -a -t malloc -s 20m`
newfs -m 0 -n $RAMDRIVE
mount /dev/$RAMDRIVE /mnt/

Шаг 2. Используйте ваш SCP клиент, для передачи образа обновления BSDRP в папку /mnt маршрутизатора.

Шаг3. После завершения передачи, на BSDRP введите следующие команды:

cat /mnt/BSDRP-upgrade.image.xz | xzcat | upgrade
umount /mnt

Использование BSDRP

 
 Быстрый старт
 Зайдите на маршрутизатор как root без пароля.
Если вы используете версию с последовательным портом, установите параметры последовательного порта: 38400,8,N,1,MODEM

Начните с использования помощи:

help

Cоздайте пароль для root (обязательно для SSH):

passwd

Войдите в режим quagga;

cli

Создайте свою конфигурацию quagga, сохраните конфигурацию quagga и выйдите из командной строки quagga:

wr
exit

Теперь сохраните все изменения:

config save

Конфигурирование

BSDRP это FreeBSD, т.ч. следует прочитать как конфигурировать FreeBSD для его использования.

Здесь приведён список полезных документов

BSDRP Examples
FreeBSD Handbook:
    Bridging
    Link Aggregation and Failover
    Alternate Queuing
    IPv6
FreeBSD Man Pages
Quagga Manual (полезная ссылка по конфигурированию русский)
Bird user manual

Управление конфигурацией
Все изменения конфигурации (/etc или /etc/local/etc) необходимо сохранять перед перезагрузкой.

Используйте команду config для сохранения конфигурации 

[root@R1]~#config
BSD Router Project configuration tool
Usage: /usr/local/sbin/config option
  - diff     : Show diff between current and saved config
  - save     : Save current config
  - apply    : Apply current config
  - rollback : Revert to previous config
  - put      : Put the saved config to a remote server
  - get      : Get config from remote server
  - reset    : Return to default configuration
  - help (h) [option]  : Display this help message.
                      If [option] given, display more detail about the option

Безопасность

 SSH доступ
SSH доступ с именем пользователя root не доступен по умолчанию: вам  необходимо установить пароль для аккаунта root с помощью команды passwd

Пример:
[root@R1]~# passwd
Changing local password for root
New Password: XXXXXXXX
Retype New Password: XXXXXXXX

Проверка целостности системы
Обратитесь к файлу mtree обеспечивающему проверку целостности всех ваших файлов на маршрутизаторе.
Вы можете проверить целостность своей системы BSDRP используя эти файлы для загрузки соответствующего файла в ваш маршрутизатор и использования команды "system integrity".

В качестве примера, если вы используете релиз 0.35 amd64-serial, с вашего BSDRP маршрутизатора (если сконфигурировано DNS разрешение и доступ к интернет):

cd /tmp
fetch http://downloads.sourceforge.net/project/bsdrp/BSD_Router_Project/0.35/BSDRP_0.35_amd64_serial.mtree.xz
system integrity BSDRP_0.35_amd64_serial.mtree.xz

Дополнительная настройка

Скрипты
Корневая файловая система доступна только в режиме чтения, и вы не можете создать или изменить скрипты в ней. Для изменения созданных скриптов (кстати не забудьте присылать нам свои улучшения), используйте раздел данных "data". Далее приведён пример для собственного скрипта конфигурации:

mount /data
cp /usr/local/bin/config /data
vi /data/config

теперь вы можете добавить ваши лучшие патчи к конфигурационному скрипту. И протестировать его:

sh /data/config

затем не забудьте размонтировать раздел "data":

umount /data

Система
Вы можете модифицировать всю файловую систему перемонтировав активный слайс в режим чтения-записи:

mount -uw /

Теперь, вы можете изменить все файлы или удалить/инсталлировать пакеты.
Для примера мы удалим Bird:

[root@router]~#pkg_info | grep bird
bird-1.2.1 Dynamic IP routing daemon
[root@router]~#pkg_delete bird-1.2.1

После внесения ваших изменений перемонтируйте раздел в режиме только чтения:

mount -ur /

Улучшение скорости работы сети
Только на старом оборудовании (Когда Ethernet карты не поддерживают Itelligent interrupt management), используйте режим "polling" позволяющий повысить производительность снизив прерывания CPU. Для включения режима поллинга:

1. Отредактируйте /etc/rc.conf.misc и замените переменную polling_enable="NO" на polling_enable="YES"
2. Выполните: /usr/local/etc/rc.d/polling start

Ознакомьтесь со страницей Производительность сети FreeBSD для получения более подробной информации.

Матрица совместимых NIC драйверов
BSDRP может использовать специфические особенности на сетевых картах:
- Ethernet device polling для повышения производительности с Ethernet контроллерами не имеющими режима управления прерываниями.
- ALTQ для очередей

Только следующие устройства поддерживают эти режимы:


Имя
Описание
Polling ALTQ
age Attansic/Atheros L1 Gigabit Ethernet driver no yes
ale Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet driver no yes
bce Broadcom NetXtreme II (BCM5706/5708/5709/5716) PCI/PCIe Gigabit Ethernet adapter driver no yes
bge Broadcom BCM570x/5714/5721/5722/5750/5751/5752/5789 PCI Gigabit Ethernet adapter driver yes no
dc DEC/Intel 21143 and clone 10/100 Ethernet driver yes yes
de DEC DC21x4x Ethernet device driver no yes
ed NE-2000 and WD-80×3 Ethernet driver no yes
em Intel(R) PRO/1000 Gigabit Ethernet adapter driver yes yes
ep Ethernet driver for 3Com Etherlink III (3c5x9) interfaces no yes
fwip standard IP over FireWire (IEEE 1394) based on the protocols described in RFC 2734 and RFC 3146 yes no
fxp Intel EtherExpress PRO/100 Ethernet device driver yes yes
gem ERI/GEM/GMAC Ethernet device driver no yes
hme Sun Microelectronics STP2002-STQ Ethernet interfaces device driver no yes
ixgb Intel(R) PRO/10GbE Ethernet driver yes no
jme JMicron Gigabit/Fast Ethernet driver no yes
le AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Ethernet interface driver no yes
msk Marvell/SysKonnect Yukon II Gigabit Ethernet adapter driver no yes
mxge Myricom Myri10GE 10 Gigabit Ethernet adapter driver no yes
my Myson Technology Ethernet PCI driver no yes
nfe NVIDIA nForce MCP Ethernet driver yes yes
nge National Semiconductor PCI Gigabit Ethernet adapter driver yes no
nve NVIDIA nForce MCP Networking Adapter device driver no yes
re RealTek 8139C+/8169/816xS/811xS/8101E PCI/PCIe Ethernet adapter driver yes yes
rl RealTek 8129/8139 Fast Ethernet device driver yes yes
sf Adaptec AIC‐6915 “Starfire” PCI Fast Ethernet adapter driver yes yes
sis SiS 900, SiS 7016 and NS DP83815/DP83816 Fast Ethernet device driver yes yes
sk SysKonnect SK-984x and SK-982x PCI Gigabit Ethernet adapter driver yes yes
ste Sundance Technologies ST201 Fast Ethernet device driver yes yes
stge Sundance/Tamarack TC9021 Gigabit Ethernet adapter driver yes yes
txp 3Com 3XP Typhoon/Sidewinder (3CR990) Ethernet interface no yes
vge VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver yes yes
vr VIA Technologies Rhine I/II/III Ethernet device driver yes yes
xl 3Com Etherlink XL and Fast Etherlink XL Ethernet device driver yes yes
Другие NIC тоже будут работать ;)     













Яндекс.Метрика