Установка 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»

Первым делом нам необходимо создать на жестком диске раздел для установки ОС, что нам и предлагается сделать:

Описание: http://www.nixp.ru/uploads/articles/freebsd_install_setup/02.gif

 

 

 

 

 

 

 

 

 

 

 

Мы видим список уже существующих разделов и свободное место (все цифры даны в байтах, нажимая «z» можно переключаться между вариантами). Чтобы создать раздел, надо поставить курсор на полоску с указанным количеством свободного места на диске и нажать «c» (create). Вводим желаемый размер раздела (по умолчанию предлагается использовать все доступное место).

Если вы хотите использовать не все место, то надо задать количество (чтобы указать количество в мегабайтах надо в конце дописать MB, например 4096MB, по умолчанию предполагается что размер вводится в секторах). Далее задаем тип (оставляем 165).

Удалить раздел можно нажатием «d» (delete). Внимание! Будьте осторожны на этой стадии — можно легким движением руки удалить нужные разделы ;)

Теперь сохраняем изменения — «w», и завершаем — «q». Далее переходим в меню создания разделов файловой системы FreeBSD.

Здесь есть два варианта: доверится автоматическому процессу, нажав «a» (auto) или же вручную создать, нажимая «c» (create, курсор должен находится вверху на строчке с нашим разделом для FreeBSD). Если вы решили создавать вручную, то в диалоге создания раздела файловой системы надо будет вести имя и размер (размер по умолчанию вводится в секторах, чтобы указывать его в мегабайтах, надо в коне цифры дописывать MB, например, 256MB).

Описание: http://www.nixp.ru/uploads/articles/freebsd_install_setup/03.gif

 

 

 

 

 

 

 

 

 

 

 

Разделы, обязательные для создания:

/

/swap

/var

/tmp

/usr

В принципе, автоматического распределения вполне достаточно, нажимаем “a”.

Когда мы выбрали размеры разделов, можем, нажав «w» сохранить их и «q», чтобы продолжить. Будет предложено установить менеджер загрузки — надо выбрать этот вариант, если вы хотите чтобы на вашем компьютере совместно жили FreeBSD и, например, Windows или другая ОС (Install the FreeBSD bootmanager).

Описание: http://www.nixp.ru/uploads/articles/freebsd_install_setup/04.gif

 

 

 

 

 

 

 

 

 

 

 

Если же на компьютере планируется только FreeBSD, то отказываемся от менеджера загрузки (Standart). Последний пункт (None) можно выбрать, в случае если на компьютере уже была установлена ОС FreeBSD и изменять загрузчик на жестком диске нет необходимости.

Далее жмем exit, подтверждаем, что хотим установить ОС FreeBSD, и установка начнется.

После окончания установки и перезагрузки, необходимо ввести имя пользователя (обычно - root) и пароль, который мы указали при установке, для доступа к системе.

Далее запускаем утилиту sysinstall:

#sysinstall

sysinstall

 

 

 

 

 

 

 

 

 

 

 

 

В открывшемся окне выбираем Configure - и настраиваем параметры (IP, MASK, GW) сетевых адаптеров компьютера.

Для адаптера, подключенного к интернет, указываем настройки, предоставленные провайдером.

Для адаптера, подключенному к внутренней сети можно указать стандартную конфигурацию: IP: 192.168.0.1; MASK: 255.255.255.0.

 

2. Поднимаем шлюз + DHCP 

Итак, у нас есть машина с установленной ОС FreeBSD версии 6 и выше подключенным интернет-соединением. Теперь необходимо поднять шлюз  Free Bsd Стоит отметить, что у машины болжно быть как минимум 2 сетевых интерфейса, иначе смысла в таком шлюзе не будет :).

Рекоммендуется сразу поставить программу Midnight Commander (или коротко - MC) - это UNIX-клон Norton Commander. С помощью него удобно просматривать каталоги, искать и редактировать файлы и т.д. Особенно он полезен "новичкам" в UNIX - системах.

#cd /usr/ports/misc/mc

#make install clean

После установки можно запустить MC, набрав в консоли:

#mc 

Дальнейшие действия можно делать из-под MC. Основные команды:

  • TAB - переключение между правой/левой панелью,
  • F3 - просмотр файла, 
  • F4 - редактирование файла
  • F5 - скоприровать выделенный файл в каталог, открытый в другой панели
  • F6 - переместить выделенный файл в каталог, открытый в другой панели

Также, снизу окна 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. Подключив его в Интернет и к локальной сети, мы предоставим всем локальным компьютерам автоматическую настройку сети и доступ к Интернет.

В последствии, мы модем настроить на данном шлюзе множество интересных и нужных опций, таких, как:

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

 

В следующей статье мы рассмотрим задачу организации удаленного доступа для управления сервером посредством ssh и попробуем защитить это соединение. Также, мы разберемся, как пробросить порт на локальный компьютер всего за одну строчку!

Обсудить статью можно в соответствующем РАЗДЕЛЕ нашего ФОРУМА.

(c)shop.nativepc.ru

При цитировании любой части данной статьи ссылка на shop.nativepc.ru обязательна!