Денис Пеплин
Знакомство с системой зачастую начинается с ее установки и настройки, причем
эти два процесса обычно совмещены. Для систем UNIX настройка сводится к
созданию текстовых файлов конфигурации. В FreeBSD основная работа идет над
файлом /etc/rc.conf, который является частью системы стартовых скриптов /etc/rc*.
Настроить систему после установки можно путем
запуска /stand/sysinstall или вручную. Оба способа хороши, а первый к тому же
лишен недостатка большинства программ автоматической настройки: уже заданные
параметры не перезаписываются, а добавляются в конец файла /etc/rc.conf, где их
можно затем отредактировать под собственные нужды или вообще удалить, чтобы
вернуться к настройкам по умолчанию.
Многие, казалось бы, сложные вещи, которые могут
поставить новичка в тупик, в FreeBSD делаются путем добавления пары строк в
этот файл. Чтобы не быть голословным, приведу пример настройки шлюза в Интернет
для локальной сети с частными адресами (192.168.0.0/24) на внутреннем интерфейсе
и NAT на внешнем, кэширующим DNS-сервером и SSH для удаленного управления всем
этим хозяйством. Хотя это не самый простой пример, конфигурация умещается всего
на 11 строчках:
sshd_enable="YES"
ifconfig_rl0="inet
123.123.123.2 netmask 0xfffffff0"
ifconfig_rl1="inet
192.168.0.1 netmask 0xffffff00"
hostname="example.com"
defaultrouter="123.123.123.1"
firewall_type="OPEN"
firewall_enable="YES"
gateway_enable="YES"
natd_enable="YES"
natd_interface="rl0"
named_enable="YES
Такая лаконичность достигается благодаря тому,
что параметры по умолчанию хранятся в /etc/defaults/rc.conf, а строки из /etc/rc.conf
лишь изменяют и дополняют эти параметры. Редактировать файл с параметрами по
умолчанию не нужно (это только усложнит последующие обновления), но вот
просмотреть его хотя бы раз будет полезно.
Строки rc.conf означают не что иное, как
установку переменных Bourne shell (/bin/sh). Когда в процессе загрузки системы init
запускает скрипт /etc/rc, одним из первых его действий становится установка
параметров настройки: