FreeBSD

Настройка DNS сервера Unbound в FreeBSD 10

Понедельник, 27 февраля 2017 г.
Рубрика: *NIX
Метки: |
Просмотров: 287
Подписаться на комментарии по RSS

В 10-ой версии FreeBSD убрали классический DNS сервер BIND и на его замену предлагается лёгкий кеширующий DNS сервер Unbound в связке с библиотекой LDNS. В отличие от BIND, Unbound имеет маленький размер и высокую скорость работы, к тому же существенно проще в настройке (во всяком случае для роли кэширующего сервера делается вообще играючи).

Если всё-таки потребуется настроить классический BIND 9, его можно уставить из коллекции портов. А вот с 10 версией я так и не понял что произошло... вроде как сильно изменена архитектура и он был полностью переписан на питоне. В общем, кому интересно, полагаю без труда найдут эту информацию.

читать полностью →

OpenVPN сервер на FreeBSD 10/11

Вторник, 10 января 2017 г.
Рубрика: *NIX
Метки: | |
Просмотров: 884
Подписаться на комментарии по RSS

OpenVPN сервер на FreeBSD 10/11

Сегодня при установке OpenVPN сервера на FreeBSD 11 я понял что инструкция по настройке openvpn, которая писалась в далёком 2009 году уже не актуальна - процесс генерации ключей в обновленной EasyRSA 3 версии полностью изменился.

В последние несколько лет в рунете, к сожалению, наблюдается нехватка свежих материалов по Linux/BSD - всё переводится либо на коммерческие рельсы, либо просто у людей нет желания делиться своим опытом и наработками с другими. Это, конечно, печально. Однако, перейдем к делу. Честно говоря, в начале, сам был в некотором замешательстве, когда после установки OpenVPN не обнаружил привычных команд, разобраться в чем тут дело помогла одна англоязычная статейка OpenVPN On FreeBSD 10.3.

читать полностью →

Понадобилось тут создать резервную копию с сетевого накопителя, развернутого на FreeNAS 8.02 на внешний жесткий диск (USB разумеется). Система довольно приятная (хотя 7-ая ветка, на мой взгляд была лучше), есть и shell через web-морду и всякие графики мотиринга и прочие плюшки, а вот некоторые простые вещи приходится делать через одно место...

Диск подоткнул, система его благополучно увидела, дала ему имя da1 - все довольны, всем хорошо. Хорошо было не долго... при попытке смонтировать диск в файловую систему:

[root@freenas ~]# mount -t ntfs /dev/da1s1 /mnt/usbhdd/
Failed to mount '/dev/da1s1': Opetion not supported
Access is denied because the NTFS journal file is unclean. Choices are:
 A) Shutdown Windows properly.
 B) Click the 'Safely Remove Hardware' icon in the Windows taskbar
    notification area before disconnecting the device.
 C) Use 'Eject' from Windows Explorer to safely remove the device.
 D) If you ran chkdsk previously then boot Windows again which will
    automatically initialize the journal.
 E) Submit 'force' option (WARNING: This solution it not recommended).
 F) ntfsmount: Mount the volume read-only by using the 'ro' mount option.
Mount failed.

В общем понятно, что беда, а предложения как с ней жить дальше странные. Полазив по форуму поддержки, понял - придется подключить диск несколько иначе:

[root@freenas ~]# mkdir /mnt/usbhdd
[root@freenas ~]# ntfs-3g /dev/da1s1 /mnt/usbhdd

Где-то видел упоминание, что ntfs-3g не понимает путей длиннее 255 символов (может какой древней версии), но честно говоря сам не проверял, врать не стану. Если кто проверит и напишет, буду рад.

IPFW: ограничение скорости Internet (часть 2)

Суббота, 13 октября 2012 г.
Рубрика: *NIX
Метки: | | | |
Просмотров: 10794
Подписаться на комментарии по RSS

В первой части статьи IPFW: ограничение скорости Internet я описал основы построения каналов и потоков в сети DUMMYNET. Пришла пора рассмотреть конкретный пример работающей в небольшой сети, где все пользователи в равной степени делят один единственный канал связи.

Имеем DSL-соединение, потому канал асинхронный, скорость закачки - 5 Mbit/s, скорость отдачи - 512 Kbit/s.

Первым делом нам понадобится добавить поддержку DUMMYNET в ядро системы, заодно включим ядерный NAT и файрвол (считаю, что на шлюзе эти опции необходимы, в противном случае что это за шлюз такой получается):

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_NAT
options DUMMYNET
options HZ=1000

Подробно расписывать как собирать ядро я не буду - в блоге об этом уже писалось, да и в сети не проблема найти. Прейдем к настройке. В конфигурацию вашего файерволла /etc/rc.firewall добавляем наши правила:

читать полностью →

IPFW: ограничение скорости Internet (часть 1)

Пятница, 12 октября 2012 г.
Рубрика: *NIX
Метки: | |
Просмотров: 8934
Подписаться на комментарии по RSS

Минули времена, когда Интернет был очень дорог и строго лимитированным. Сейчас задачи стали другими и на смену ограничений количества траффика пришла пора ограничивать скорость канала.

Наверняка, всем знакома ситуация, когда какой-либо ушлый пользователь в локалке "забивал" весь канал скачиванием торрентов или особо тяжелых файлов в несколько потоков. Вот и решил я умерить аппетиты таких несознательных товарищей, распределив ширину Internet канала "по справедливости", чтобы никто никому не мешал. В этом нам помогут каналы (pipe) фиктивной сети DUMMYNET. Система, как и прежде, FreeBSD - привыкайте к хорошему.

Впрочем, "справедливость" может быть разной, как в жизни (все равны, но кое-кто ровнее). Хватит предисловий, для начала давайте определимся что же такое DUMMYNET...

DUMMYNET - это системное средство, которое дает возможность управления сетевым трафиком, проходящим через различные сетевые интерфейсы, путем применения имитации различной ширины полосы пропускания, ограничения размера очереди, имитации задержек и потерь пакетов.

Стало легче? Думаю нет, потому начнем с самого начала...

Немного теории. Что такое pipe (каналы) и queue (очереди).

Прежде чем перейти непосредственно к настройке, следует разобраться что же такое pipe (каналы) и queue (очереди) DUMMYNET. Без знания основ, нормально настроить ничего не получится. Честно говоря, понимание сути работы каналов и очередей пришло не сразу, потому подробнее остановимся на этом вопросе.

читать полностью →

FreeNX - терминальный сервер на FreeBSD

Вторник, 24 января 2012 г.
Рубрика: *NIX
Метки: | |
Просмотров: 15385
Подписаться на комментарии по RSS

терминальный сервер FreeNX

Имеется задача организовать работу 1С бухгалтерии с компьютеров под управлением Windows, MacOS и Linux. База 1С лежит на серваке с FreeBSD и раздается по сети для виндусовых клиентов посредством SAMBA.

Занавес... уже понятно, что в этом зоопарке без извращений не обойтись.

Спрашивается зачем всё так усложнять... ведь гораздо проще реализовать работу с 1С на единой системе, конкретно под неё заточенной, а именно Windows.

Однако стоимость такого решения не вызывает приятных ощущений у руководства, да и простые варианты, явно не наш выбор, тем более после Mac на Windows как-то не тянет.

Перейдем к практике. Известно, что 1С 7.7 не работает ни на Linux, ни тем более на MacOS, а жаль... Единственный, на мой взгляд, рабочий вариант - организация терминального сервера, на котором будет выполняться 1С, а результат работы отображаться на клиентских машинах.

читать полностью →

Проброс портов в ядерном IPFW NAT

Понедельник, 24 октября 2011 г.
Рубрика: *NIX
Метки: | |
Просмотров: 19874
Подписаться на комментарии по RSS

Проброс портов в ядерном IPFW NAT

Обещанное продолжение статьи про настройку IPFW NAT в FreeBSD 8, работающего на уровне ядра системы. Из заголовка не трудно понять, что речь сегодня пойдет о том, как организовать проброс портов. Рассказывать, для чего вообще используется перенаправление портов здесь не стану - раз тема заинтересовала, то и определенные знания есть. Возможно, позже и напишу небольшой обзор для начинающих.

В сети достаточно много подробных инструкций, как настроить NAT во FreeBSD, используя демон natd. А вот про настройку ядерного NAT информацию найти достаточно сложно. Как-то эта тема обходится вниманием, видимо кто настраивал сам не спешит делиться своими наработками. Вообще, последнее время, замечаю мало интересных технических статей... так что буду, по мере сил, продолжать вносить свой маленький вклад в дело продвижения Open Source и FreeBSD в частности.

Для простоты продолжим настраивать открытый firewall - чтобы не загромождать пример правилами блокировки. Первым делом проверим в конфиге rc.conf следующие строки (интерфейс, смотрящий в интернет vr0):

firewall_enable="YES"
firewall_nat_enable="YES"
firewall_nat_interface="vr0"
firewall_type="OPEN"

Синтаксис написания правил ядерного IPFW NAT следующий:

ipfw [-q] nat number config config-options

читать полностью →

Консольный оконный менеджер Screen. Работаем в терминале с удобством.

Пятница, 30 сентября 2011 г.
Рубрика: *NIX
Метки: |
Просмотров: 6333
Подписаться на комментарии по RSS

Было время, когда параллельно основному месту работы, я подрабатывал удаленно в техподдержке у одного хостинг-провайдера (занимались в основном выделенными серверами на FreeBSD). Так вот там я узнал и стал активно использовать одну замечательную консольную программу - screen.

Screen – это полноэкранный оконный менеджер, который позволяет разделить физический терминал между несколькими независимыми процессами (обычно интерактивными облочками)

Да уж... определение из man звучит несколько заумно и вовсе не способствует приливу энтузиазма для изучения. Значит придется самому раскрыть некоторые прелести этой, без сомнения, нужной и удобной программы.

Чем может помочь screen при работе на удаленных серверах по ssh?

Наверное самым удобным, лично для себя, считаю возможность в любой момент покинуть активную ssh-сессию и в дальнейшем возобновить её.

Поясню на примере - допустим вы начали пересобирать ядро, или запустили какой-то длительный процесс, но дождаться его завершения нет возможности. Screen позволяет отключиться от текущего сеанса не прерывая выполняемой работы. В любой момент вы имеете возможность продолжить работу так, как будто вы и не отключались. Кроме того, при внезапном разрыве ssh соединения с сервером screen-сессия не прерывается, что очень удобно при работе по слабым каналам связи (к примеру GSM модемы).

читать полностью →

Делаем резервную копию системы FreeBSD

Среда, 17 августа 2011 г.
Рубрика: *NIX
Метки: |
Просмотров: 11319
Подписаться на комментарии по RSS

клонирование HDD FreeBSD

Удивительно, аномально жаркое лето прошлого года, сервера организаций, с которыми сотрудничаю, пережили спокойно. В этом году техника решила испытать моё терпение - за не полных 2 месяца (июль и август) посыпалось три винта в разных серверах. Для любителей искать закономерности замечу, что все винты разных производителей. Два их них удалось поднять средствами FreeBSD. Для реанимации было достаточно запуска команды fsck в однопользовательском режиме для каждого раздела диска.

К третьему винту судьба была менее благосклонна, ему пришлось хуже остальных и помогла только полная переустановка и настройка системы на новый хард. Благо это был всего-навсего роутер.

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

Итак, имеем не вполне надежные винты, но с удачно стартовавшей системой. Задача состоит в создании полной копии всех разделов с данными и настройками системы на новых HDD такой же ёмкости. Использвать команду dd в данном случе нельзя, да посекторное копирование диска в полтерабайта, мягко говоря не самая быстрая операция.

FreeBSD предоставляет нам более изящное и правильное решение - утилиты dump|restore. В хендбуке описано как ими пользоваться. Но есть ещё более удобное решение, не требующее ручного разбиения нового винчестера на разделы - утилита clonehdd.

читать полностью →

Сборка ядра FreeBSD. Если что-то пошло не так...

Пятница, 12 августа 2011 г.
Рубрика: *NIX -> Tips and Tricks
Метки:
Просмотров: 5632
Подписаться на комментарии по RSS
# make installkernel KERNCONF=NEW_KERNEL

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

Тут выхода два - либо самому ехать, либо объяснять по телефону как и что нужно сделать. И успех этой операции полностью зависит от вменяемости человека на другом конце провода. Собственно поэтому и решил написать статью, всегда проще дать ссылку, чем объяснять человеку на слух. Заодно расскажу про некоторые меры предосторожности при сборке нового ядра во FreeBSD.

читать полностью →