Установка FreeBSD +
Gateway + DHCP
Данная статья описывает последовательность шагов для установки и настройки FreeBSD в качестве простого маршрутизатора. Данный маршрутизатор может использоваться для автоматической настройки параметров сети на локальных компьютерах, а также для подключения компьютеров локальной сети к интернету.
1. Установка FreeBSD
Прежде всего нам потребуется скачать дистрибутив FreeBSD и записать его на диск. Ссылки для скачивания по FTP или torrent можно посмотреть на http://www.freebsd.org/releases/8.2R/announce.html.
Для установки на обычный PC, как и на платформу ALIX, подойдет дистрибутив FreeBSD-8.2-RELEASE-i386-dvd1, содержащий полный набор пакетов, которые можно поставить с диска в случае необходимости.
Ссылки на дистрибутив:
Скачиваем, записываем дистрибутив на диск.
В биосе (BIOS) компьютера задаем загрузку с CD-ROM'а, вставляем диск с дистрибутивом в привод и перезагружаемся. Система загрузится с диска и мы увидим меню программы sysinstall:
Ее можно вызывать и после установки для некоторых настроек, но я бы не рекомендовал. В большинстве случаев подходит тип установки «standart»
Первым делом нам необходимо создать на жестком диске раздел для установки ОС, что нам и предлагается сделать:
Мы видим список уже существующих разделов и свободное место (все цифры даны в байтах, нажимая «z» можно переключаться между вариантами). Чтобы создать раздел, надо поставить курсор на полоску с указанным количеством свободного места на диске и нажать «c» (create). Вводим желаемый размер раздела (по умолчанию предлагается использовать все доступное место).
Если вы хотите использовать не все место, то надо задать количество (чтобы указать количество в мегабайтах надо в конце дописать MB, например 4096MB, по умолчанию предполагается что размер вводится в секторах). Далее задаем тип (оставляем 165).
Удалить раздел можно нажатием «d» (delete). Внимание! Будьте осторожны на этой стадии — можно легким движением руки удалить нужные разделы ;)
Теперь сохраняем изменения — «w», и завершаем — «q». Далее переходим в меню создания разделов файловой системы FreeBSD.
Здесь есть два варианта: доверится автоматическому процессу, нажав «a» (auto) или же вручную создать, нажимая «c» (create, курсор должен находится вверху на строчке с нашим разделом для FreeBSD). Если вы решили создавать вручную, то в диалоге создания раздела файловой системы надо будет вести имя и размер (размер по умолчанию вводится в секторах, чтобы указывать его в мегабайтах, надо в коне цифры дописывать MB, например, 256MB).
Разделы, обязательные для создания:
/
/swap
/var
/tmp
/usr
В принципе, автоматического распределения вполне достаточно, нажимаем “a”.
Когда мы выбрали размеры разделов, можем, нажав «w» сохранить их и «q», чтобы продолжить. Будет предложено установить менеджер загрузки — надо выбрать этот вариант, если вы хотите чтобы на вашем компьютере совместно жили FreeBSD и, например, Windows или другая ОС (Install the FreeBSD bootmanager).
Если же на компьютере планируется только FreeBSD, то отказываемся от менеджера загрузки (Standart). Последний пункт (None) можно выбрать, в случае если на компьютере уже была установлена ОС FreeBSD и изменять загрузчик на жестком диске нет необходимости.
Далее жмем exit, подтверждаем, что хотим установить ОС FreeBSD, и установка начнется.
После окончания установки и перезагрузки, необходимо ввести имя пользователя (обычно - root) и пароль, который мы указали при установке, для доступа к системе.
Далее запускаем утилиту sysinstall:
#sysinstall
В открывшемся окне выбираем Configure - и настраиваем параметры (IP, MASK, GW) сетевых адаптеров компьютера.
Для адаптера, подключенного к интернет, указываем настройки, предоставленные провайдером.
Для адаптера, подключенному к внутренней сети можно указать стандартную конфигурацию: IP: 192.168.0.1; MASK: 255.255.255.0.
2. Поднимаем шлюз + DHCP
Итак, у нас есть машина с установленной ОС FreeBSD версии 6 и выше c подключенным интернет-соединением. Теперь необходимо поднять шлюз Free Bsd Стоит отметить, что у машины болжно быть как минимум 2 сетевых интерфейса, иначе смысла в таком шлюзе не будет :).
Рекоммендуется сразу поставить программу Midnight Commander (или коротко - MC) - это UNIX-клон Norton Commander. С помощью него удобно просматривать каталоги, искать и редактировать файлы и т.д. Особенно он полезен "новичкам" в UNIX - системах.
#cd /usr/ports/misc/mc
#make install clean
После установки можно запустить MC, набрав в консоли:
#mc
Дальнейшие действия можно делать из-под MC. Основные команды:
Также, снизу окна MC подсказывает, что значит та или иная клавиша F1-F10 в данном режиме работы.
1) Первым делом нужно добавить в файл /etc/rc.conf строку:
gateway_enable="YES"
Эта строка при загрузке сервера разрешает пересылку IP-пакетов. Без неё не возможно использование сервера в качестве маршрутизатора. Чтобы это изменение вступило в силу до перезагрузки нужно выполнить команду:
#sysctl net.inet.ip.forwarding=1
2) Следующим шагом сконфигурируем DNS.
Сначала нужно в файле /etc/namedb/named.conf заменить строку:
listen-on { 127.0.0.1; };
На:
listen-on { any; };
После этого разрешим запуск DNS-сервера добавив в /etc/rc.conf строку:
named_enable="YES"
И запустим сервис:
#/etc/rc.d/named start
Проверить работу DNS-сервера можно командой:
#nslookup www.ylsoftware.com 127.0.0.1
В случае нормальной работы DNS вывод должен выглядеть примерно вот так:
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: www.ylsoftware.com
Address: 89.108.78.131
3) Теперь осталось только настроить пакетный фильтр.
Из всего многообразия оных во FreeBSD выберем pf. Создадим файл /etc/pf.rules следующего содержания:
# Базовые настройки (где if_ext- внешний интерфейс if_int– внутренний а net_int– ваша локальная подсеть. Проверить названия интерфесов можно командой ifconfig)
if_ext = "le0"
if_int = "em0"
net_int = "192.168.1.0/24"
set block-policy drop
set state-policy if-bound
scrub all reassemble tcp fragment reassemble
# NAT длялокальнойсети
nat pass on $if_ext from $net_int -> ($if_ext) static-port
# Запрещаем весь лишний трафик
block drop all
# Разрешаем всё на loopback-интерфейсе
passquickonlo0 all
# Разрешаем исходящий трафик
pass out quick on $if_ext inet proto tcp from ($if_ext) to any flags S/SA keep state
pass out quick on $if_ext inet proto { udp, icmp } from ($if_ext) to any keep state
pass out quick on $if_int from ($if_int) to $net_int
# Разрешем любой трафик со стороны локальной сети
pass in quick on $if_int from $net_int to any keep state
Добавляем в /etc/rc.conf строки:
pf_enable="YES"
pf_rules="/etc/pf.rules"
4 Запускаем пакетный фильтр:
#/etc/rc.d/pf start
После этих действий, мы получили из сервера на FreeBSD полноценный маршрутизатор, пропускающий интернет в локальную сеть.
Теперь установим DHCP-сервер:
#cd /usr/ports/net/isc-dhcp31-server
#make install clean
Далее правим файл /usr/local/etc/dhcpd.conf до следующего содержания:
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option domain-name-servers 192.168.1.1;
option routers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
}
Для запуска DHCP-сервера, как и раньше, нужно добавить в /etc/rc.conf строки:
dhcpd_enable="YES"
dhcpd_ifaces="re0" //Интерфейс смотрящий в локалку.
dhcpd_flags="-q"
Запускаем DHCP-сервер:
#/usr/local/etc/rc.d/isc-dhcpd start
#cd /usr/ports/net/isc-dhcp31-server
Скачать пример нашего файла конфигурации dhcpd.conf можно по ссылке.
Итого:
Итак, мы получили настроенный интернет - шлюз на основе стандартного PC или платы ALIX. Подключив его в Интернет и к локальной сети, мы предоставим всем локальным компьютерам автоматическую настройку сети и доступ к Интернет.
В последствии, мы модем настроить на данном шлюзе множество интересных и нужных опций, таких, как:
В следующей статье мы рассмотрим задачу организации удаленного доступа для управления сервером посредством ssh и попробуем защитить это соединение. Также, мы разберемся, как пробросить порт на локальный компьютер всего за одну строчку!
Обсудить статью можно в соответствующем РАЗДЕЛЕ нашего ФОРУМА.
(c)shop.nativepc.ru
При цитировании любой части данной статьи ссылка на shop.nativepc.ru обязательна!