сети

FreeBSD+ipfw+Squid+SquidGuard+… часть 3

Первоначальная настройка

Первый вход

Итак, компьютер перезагрузился и, после традиционных сообщений о найденных устройствах и выполненных служебных задачах, показал приглашение «login:».

Вводим в ответ root и оказываемся в системе с правами суперпользователя («рута»). Этот пользователь может делать с системой все, что угодно, в том числе от его имени производятся настройки, затрагивающие работоспособность всей операционной системы в целом. Естественно, допускать к таким действиям кого попало ни в коем случае нельзя. Поэтому первым делом назначим пользователю root пароль. Хороший пароль. То есть не менее 8 знаков, включающий буквы обоих регистров, цифры, не совпадающий с вашим именем, датой рождения и т.д. Вводим команду (значок «#» — это приглашение системы при работе от имени root):

# passwd root

Затем дважды — на запросы New password: и Retype new password: — вводим пароль. Заметьте: при вводе пароля во FreeBSD на экране не отображается абсолютно ничего.

Несколько слов об особенностях имен файлов в Unix. Во-первых, расширения здесь зачастую связаны с назначением файла, а не его типом. Мало того, расширений у файла может быть несколько (а может и не быть ни одного). Во-вторых, все файловые системы монтируются в единое дерево каталогов. Именно с его корня (символа «/»), а не имени диска начинается запись полного пути. В-третьих, в отличие от Windows (и DOS), путь пишется через прямые, а не обратные слеши. Правда, с последней особенностью активные пользователи Интернет, я думаю, достаточно знакомы.

Далее нам предстоит редактировать множество различных конфигурационных файлов. Именно так — с помощью самых обыкновенных текстовых файлов — производятся все настройки в Unix-подобных операционных системах. Чем именно пользоваться для работы с ними — дело вкуса. Конечно, желательно научиться работать с vi. Этот весьма мощный редактор входит по умолчанию в состав, насколько мне известно, любого дистрибутива Unix или Linux. Однако, интерфейс у него очень своеобразный и пользователю современных графических систем крайне непривычный. Потому для первого опыта будем применять другой имеющийся во FreeBSD редактор — ee.

Основные настройки

Начнем с файла, определяющего основные настройки системы, выполняющиеся непосредственно в конце ее загрузки. Называется он rc.conf, а находится в каталоге /etc. Поэтому, чтобы его отредактировать, нужно набрать:

# ee /etc/rc.conf

Приводим содержимое файла примерно к такому виду (строки, начинающиеся с «решетки», являются комментариями):

# -- sysinstall generated deltas -- # Wed Sep 19 12:45:42 2007
# Created: Wed Sep 19 12:45:42 2007
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
check_quotas="NO"
# -------------- Console -------------------
#  здесь мы настраиваем консоль, чтобы можно было видеть русские буквы
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
# на время настройки включим скринсейвер (если хочется ;-))
# потом две следующие строки уберем или закомментируем
saver="logo"
blanktime="300"
# --------------- Network ------------------
# "шлюз по умолчанию" и "наш домен" (домен может и не быть реальным)
defaultrouter="192.168.4.129"
hostname="sch415.uvuo.ru"
# ------------------------------------------
gateway_enable="YES"
# ----------- Network Interfaces -----------
# внутренний сетевой интерфейс
ifconfig_xl0="inet 10.0.1.1 netmask 255.255.255.0" # internal
ifconfig_de0="inet 192.168.4.131 netmask 255.255.255.192" # external
# ------------------------------------------
mousechar_start="3"
# --------------- Services -----------------
named_enable="YES"
sendmail_enable="NONE"
sshd_enable="YES"
usbd_enable="YES"

Завершаем работу с редактором, сохранив сделанные изменения. В редакторе ee для этого нужно нажать клавишу Esc, которой вызывается меню. Затем нажимаем a и в следующем появившемся меню снова a.

С помощью того же редактора подготавливаем файл /etc/resolv.conf:

# ee /etc/resolv.conf

Он предельно прост:

domain ru
nameserver      192.168.4.131 (здесь нужно указать внешний IP-адрес нашего компьютера)

Виртуальные терминалы

Теперь открываем для редактирования файл, описывающий параметры виртуальных терминалов, /etc/ttys:

# ee /etc/ttys

Чтобы наши терминалы (консоли) стали «русскими», нужно будет найти все строки, содержащие подстроку «cons25» (всего таких строк будет 8 — по числу виртуальных терминалов) и заменить ее на «cons25r». Выглядеть это быдет примерно так:

ttyv0   "/usr/libexec/getty Pc"         cons25r on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         cons25r on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25r on  secure
ttyv3   "/usr/libexec/getty Pc"         cons25r on  secure
ttyv4   "/usr/libexec/getty Pc"         cons25r on  secure
ttyv5   "/usr/libexec/getty Pc"         cons25r on  secure
ttyv6   "/usr/libexec/getty Pc"         cons25r on  secure
ttyv7   "/usr/libexec/getty Pc"         cons25r on  secure

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

# shutdown -r now

PS

Кстати, так сказать, на будущее. Когда понадобится остановить систему, мы будем пользоваться почти такой же командой:

# shutdown -h now

В данном случае ключ -r означает перезагрузку (Restart), а -h — остановку (Halt)… Англичанам запоминать это, несомненно, проще 😉

Опубликовано Михаил К в FreeBSD, 0 комментариев

FreeBSD+ipfw+Squid+SquidGuard+… часть 2

Устанавливаем FreeBSD

При установке и первоначальной настройке операционной системы FreeBSD мы будем руководствоваться (в основном) рекомендациями Олега Островерха.

Итак, первое, что нужно сделать,— загрузить компьютер с CD (того, что зовется «disk1»). Для этого, скорее всего, придется временно внести изменения в настройки BIOS.

В процессе загрузки на экран выводится масса сообщений по поводу обнаруженных устройств, выполненных ОС действий и т.п. Впоследствии их можно будет просматривать с помощью команды dmesg

Завершается загрузка запуском программы sysinstall и появлением ее серого псевдографического экрана. (Вообще-то, в процессе работы мы чаще будет иметь дело с совсем не графическим интерфейсом командной строки…)

┌─────────────────────────sysinstall Main Menu──────────────────────────┐ 
│ Welcome to the FreeBSD installation and configuration tool.  Please   │
│ select one of the options below by using the arrow keys or typing the │
│ first character of the option name you're interested in.  Invoke an   │
│ option with [SPACE] or [ENTER].  To exit, use [TAB] to move to Exit.  │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │    Usage       Quick start - How to use this menu system          │ │
│ │   Standard     Begin a standard installation (recommended)        │ │
│ │   Express      Begin a quick installation (for experts)           │ │
│ │    Custom      Begin a custom installation (for experts)          │ │
│ │   Configure    Do post-install configuration of FreeBSD           │ │
│ │   Doc          Installation instructions, README, etc.            │ │
│ │   Keymap       Select keyboard type                               │ │
│ │   Options      View/Set various installation options              │ │
│ │   Fixit        Repair mode with CDROM/DVD/floppy or start shell   │ │
│ │   Upgrade      Upgrade an existing system                         │ │
│ │   Load Config  Load default install configuration                 │ │
│ │   Index        Glossary of functions                              │ │
│ └───────────────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────────────┤
│                        [ Select ]    X Exit Install                   │
└──────────────────[ Press F1 for Installation Guide ]──────────────────┘

Нам нужна настройка системы на вполне определенный набор задач, поэтому выбираем вариант установки Custom — по выбору.

Прежде чем что-то устанавливать на жесткий диск, его необходимо разметить. Выберем строку «3 Partition»— распределение дискового пространства для FreeBSD. Откроется окно FDISK Partition Editor. Поскольку на компьютере у нас никаких операционных систем, кроме FreeBSD, не будет, выделяем под нее весь диск (Use Entire Disk). Для этого нажимаем клавишу A. Видим, что в списке частей-слайсов появилась новая, занимающая большинство секторов. Ее имя будет выглядеть примерно как ad0s1 (Ata Disk 0 Slice 1). Завершаем этот этап разметки нажатием клавиши Q (Quit).

Теперь нам предлагают выбрать менеджер загрузки (boot manager). У нас на диске будет единственная ОС, значит менеджер ни к чему. Клавишами-стрелками перемещаемся к варианту Standart и отмечаем его, нажав пробел. Теперь добираемся до [OK] и жмем Enter.

Мы снова в меню выбора параметров установки по выбору. Строка «4 Label» отправит нас в редактор меток (Disklabel Editor), в котором мы должны будем выделить разделы и указать их файловые системы. Мы создадим 4 раздела: корневой (root), подкачки (swap), /usr и /var. Именно в таком порядке, как они здесь перечислены.

Последовательность действий при создании раздела:

  1. Нажимаем клавишу C (Create).
  2. В появившемся запросе вводим размер раздела (число и после него без пробела букву M — мегабайт, например, 250M) и жмем клавишу Enter.
  3. В следующем запросе выбираем тип раздела. Для всех обычных разделов нужно указывать FS A file system и только для раздела подкачки — особый тип Swap A swap partition. Вновь жмем Enter.
  4. Для всех разделов, кроме swap, нужно ответить еще на один запрос — о точке монтирования. Для тех, кто ранее не пользовался unix-подобными ОС поясню, что здесь все файловые системы (мало того, все устройства, которые, с точки зрения Unix/Linux, также являются файлами) объединяются («монтируются») в одно единое дерево каталогов.

Корневой раздел монтируется самым первым на этапе загрузки и содержит все необходимое для загрузки в однопользовательском режиме, а также чтобы подготовить систему к загрузке в многопользовательский режим. Он также содержит инструментальные средства для ремонта поврежденной системы и для восстановления потерянных файлов из резервных копий. В нем же находятся точки монтирования всех других файловых систем. Размер этого раздела может быть достаточно небольшим (100-200 Мбайт). Точка монтирования — /.

Размер раздела подкачки рекомендуется создавать раза в 2-3 больше имеющегося объема оперативной памяти. Однако, с учетом «любви» прокси-сервера Squid к этому разделу, выставим его равным 1 Гбайту (1024M).

Раздел /var содержит файлы, которые постоянно меняются; логи и другие административные файлы. Многие из этих файлов интенсивно читаются и записываются в процессе ежедневной работы FreeBSD. Рекомендуемый разными источниками размер колеблется от 50 до 250 Мбайт. Не будем экономить. Установим 250. Точка монтирования — /var.

У меня сейчас в корневом разделе занято 68 Мбайт, в разделе /usr 2,4 Гбайт (но из-за кэша Squid и других рабочих файлов это значение может здорово вырасти; первоначально установив маленький диск, я «попался»; пришлось для восстановления работоспособности системы срочно ставить второй диск и переносить на него /usr), в /var — 4,5 Мбайт (может в процессе работы увеличиваться, но не сильно). Кстати, посмотреть это можно в любой момент командой df -h.

Большая часть файлов, включая программы, которые мы будем устанавливать, хранится в каталоге /usr. Соответственно, разделу /usr должна достаться бОльшая часть дискового пространства. Чем больше, тем лучше (там ведь, помимо прочего, будет находиться кэш прокси-сервера). Так что отдаем все, что осталось. Точка монтирования, что очевидно,— /usr.

Разметку разделов заканчиваем нажатием клавиши Q.

Переходим к пункту «5 Distributions Select distribution(s) to extract»— выбору устанавливаемых программ. Задача у нас не вполне стандартная, поэтому далее нам придется выбрать «B Custom Specify your own distribution set»— собственный набор. На следующем экране будем отмечать (нажимая Пробел) нужные наборы программ:

  • base Binary base distribution (required)
  • compat4x FreeBSD 4.x binary compatibility
  • man System manual pages — recommended
  • ports The FreeBSD Ports collection
  • perl The Perl distribution
  • src Sources for everything (здесь появится дополнительный экран, на котором нужно будет отметить единственный пункт — «sys /usr/src/sys (FreeBSD kernel)»)

Возвращаемся к выбору параметров установки (<<< X Exit Exit this menu), затем еще дважды таким же образом переходим к предыдущему меню. Мы вновь оказались в окне «Choose Custom Installation Options». Проверим, откуда будет происходить установка: «6 Media Choose the installation media type» в открывшемся окне убеждаемся, что выделен пункт 1 (CD/DVD), и нажимаем Enter.

Теперь мы готовы запустить установку. Выбираем пункт «7 Commit Perform any pending Partition/Label/Extract actions», в появившемся окне подтверждаем серьезность наших намерений… Ждем окончания установки (минут 10).

По окончании установки появится окно, предлагающее перейти в меню конфигурирования системы. Откажемся от этого предложения, выбрав вариант No. Выйдем из программы sysinstall, выбрав «X Exit Exit this menu», затем «X Exit Install» и подтвердив это действие (Yes). После этого компьютер перезагрузится, после чего можно будет приступать к настройке операционной системы.

Внимание: теперь загрузка должна будет производиться с жесткого диска, так что нужно изменить настройки BIOS Setup (или хотя бы на первый раз просто вынуть CD из привода).

Опубликовано Михаил К в FreeBSD, 0 комментариев

FreeBSD+ipfw+Squid+SquidGuard+… часть 1

Постановка задачи

Имеем:

  • соединение с Интернет по выделенной линии;
  • локальную сеть, объединяющую все компьютеры школы.

Требуется обеспечить доступ в Интернет с любого компьютера ЛС. При этом:

  • уменьшить трафик за счет кэширования данных;
  • существенно сократить возможности доступа к сайтам «неучебной» тематики;
  • предотвратить бесконтрольную загрузку учениками аудио/видео файлов и т.п.;
  • по возможности сократить число демонстрируемой при просмотре web-страниц рекламы.

При этом желательно:

  • обойтись без необходимости индивидуальных настроек (и вообще изменений конфигурации ПО) клиентских компьютеров;
  • затратить минимум средств.

После анализа имеющихся возможностей и доступной информации было принято решение строить систему на основе операционной системы FreeBSD. Тому есть несколько причин.

Видимо, с тем же успехом можно было бы собрать аналогичную систему и под Linux. Выбор между этой ОС и FreeBSD — в большей степени вопрос личных предпочтений.

  • ОС и необходимые программы распространяются как OpenSource.
  • FreeBSD (естественно, без XWindow — а зачем маршрутизатору графический интерфейс?) очень нетребовательна к характеристикам аппаратуры. На данный момент все работает на P-II/333 МГц/256 Мбайт, причем основная часть ресурсов потребляется на фильтрацию.
  • Большая гибкость настроек. Причем, с моей точки зрения, в unix-подобных ОС они гораздо более интуитивно понятны, чем в Windows.
  • Весьма толковые статьи на русском языке, посвященные маршрутизации, фильтрации и т.п. под FreeBSD, позволяют не «изобретать велосипед» от начала до конца.

Подготовка

Естественно, первым делом нам потребуется найти какой-нибудь подходящий компьютер. Или собрать. Из блоков, которые их хозяева третий год не могли собраться донести до свалки. Если это и преувеличение, то совсем небольшое. Для нашего агрегата критичны только две характеристики: объем оперативной памяти (ее должно быть никак не меньше 128 Мбайт) и жесткого диска (поскольку мы собираемся кэшировать загружаемые из Интернет данные, десяток-другой-третий свободных гигабайт не выглядит излишеством)

Еще одно отличие собираемого компьютера — установка двух сетевых карт. Одной из них он будет «смотреть» в локальную сеть, другой — в Интернет. (Вообще-то, можно попробовать обойтись и одной карточкой, но с учетом их нынешней стоимости, я даже не стал экспериментировать с такой конфигурацией.) Хотя обычно рекомендуют использовать две одинаковые карты, лично я предпочитаю ставить карты разных производителей. Это позволяет легко их отличать (и мне, и компьютеру ;)).

А вот видеокарта может быть самой примитивной. Что-нибудь в ISA-слот с 256 килобайтами (именно кило, это не опечатка) видеопамяти вполне подойдет. Звуковая карта, естественно, не нужна вообще. Без флоппи-дисковода обойдемся. А вот CD-привод надо подключить, хотя бы на время установки операционной системы.

Кроме того нам потребуется установочный диск (диски). Загрузить их образы можно с одного из официальных ftp-серверов. Для России это:

Поскольку наша цель не тестировать новейшие версии, а получить максимально стабильную систему с минимальными затратами, на любом из серверов нужно перейти в каталог /pub/FreeBSD/releases/i386/ISO-IMAGES

Помимо универсальных дистрибутивов для PC-совместимых компьютеров (i386), существуют специальные для 64-разрядных процессоров — ia64 и amd64. Их можно найти на серверах в соответствующих каталогах.

В этом каталоге выберем подкаталог желаемой версии. На мой взгляд, логично выбирать самую новую (но «release», а не «beta»!). На момент написания этих заметок такой была 6.2-RELEASE. Необходимы образы disk1 и disk2, может пригодиться еще и doc (сборник дополнительной документации), а также минимальный загрузочный диск bootonly.
Загруженные образы нужно записать на CD-R (Внимание! Записывать нужно именно в режиме «образ диска»).

Подготовим также данные для настройки интерфейсов маршрутизатора:

  • IP-адрес, маска, адрес первичного шлюза для внешнего интерфейса (предоставленные нам провайдером)
  • IP-адрес и маска для внутреннего интерфейса (определяем сами). У меня в локальной сети используются адреса подсети 10.0.1.0/24 (это часть приватного диапазона класса А), поэтому адрес маршрутизатора — 10.0.1.1, а маска — 255.255.255.0
  • Адреса DNS-серверов. Первичный и вторичный. Предоставляются нам провайдером. Мне еще нравится использовать сервера проекта OpenDNS: 208.67.222.222 и 208.67.220.220. Но мы, вообще-то, сможем поднять на нашем маршрутизаторе свой кэширующий DNS-сервер; в таком случае адресом DNS будет его внешний IP-адрес.
Опубликовано Михаил К в FreeBSD, 1 комментарий

Mac Mini… Сервер!

Mac Mini Snow Leopard Server

Apple снова делает неожиданный ход. Конечно, многие из нас использовали старые компьютеры в качестве домашнего «сервера» (по сути своей недаром называемого в народе «файлопомойкой»). Благо, для этой цели, действительно, не нужны какие-то особые ресурсы процессора или памяти. Но вот догадаться выпустить специальный фирменный «мини-сервер» на основе миниатюрного настольного компьютера — это интересный шаг.

Что же получает пользователь в коробке скромных габаритов (17х17х5 см) и соответствующей массы (1,3 кг)?

  • Процессор Intel Core 2 Duo 2,53 ГГц
  • 4 Гбайт оперативной памяти (DDR3 1066 МГц)
  • 2 жестких диска по 500 Гбайт (ради второго малыш Mini лишился оптического привода). Скорость их, правда, невелика (5400 мин-1)
  • NVIDIA GeForce 9400M, «откусывающий» от оперативной памяти 256 Мбайт
  • Один порт FireWire 800 и пять USB 2.0
  • Встроенные Wi-Fi 802.11n, Bluetooth 2.1 и Gigabit Ethernet

Естественно, в комплект входит Mac OS X Server 10.6 Snow Leopard. (Не забываем, что, в отличие от серверных вариантов Windows, здесь нет ограничений на количество клиентов… лишь бы силенок у машинки хватило). С учетом простоты и удобства настройки (притом что «под капотом» тут Unix со всеми своими преимуществами!) может получиться неплохой вариант и для образования.

PS. Посмотрим, во что американская цена ($999) превратится, когда аппарат прибудет в Россию…

Бестселлеры ИТ-рынка
Apple рапортует об сверхудачном 4-м квартале 2009 ф. г.
Чистая прибыль корпорации Apple в 4-м квартале 2009 г. финансового года (завершился 26 сентября) выросла до 1,67 млрд долл. (или 1,82 долл. в расчете на акцию) против 1,14 млрд долл. или 1,26 долл. на акцию в аналогичный период 2008 г. Об этом …
Открыть материал
Опубликовано Михаил К в Разное, 0 комментариев