NETWORKING OPTIONS

Здесь все, что относится к поддержке сети (кроме драйверов самих "железных" сетевых карт).

options INET #Internet communications protocols

Включает в ядро поддержку TCP/IP.
Скорее всего, вам это необходимо.

options IPX #IPX/SPX communications protocols

Поддержка IPX.
Насколько вам это нужно решайте сами. В настоящее время в FreeBSD есть только маршрутизатор IPX. Ни серверной, ни клиентской программы для сетей Novell NetWare (где в основном и используется IPX) в FreeBSD нет.
(Вообще-то, "софт" для сетей Novell NetWare под FreeBSD существует в виде коммерческого продукта - http://www.netcon.com/. Но он "родной" поддержкой IPX не пользуется и, соответственно, эта опция к нему отношения не имеет.)
Не забудьте, что FreeBSD понимает (на ethernet) только фреймы Ethernet_II.

options "IPXPRINTFS=0" #IPX/SPX Console Debugging Information

При включенной поддержке IPX определяет - выводить ли сообщения (через syslogd) о каждом "отфорварденом" IPX пакете (1 - выводить, 0 - нет).
По умолчанию этот параметр - 1. Так что, для подавления лишней диагностики желательно эту опцию включить.

options "IPX_ERRPRINTFS=0" #IPX/SPX Console Debugging Information

При включенной поддержке IPX определяет - выводить ли сообщения об ошибках при работе с IPX пакетами (1 - выводить, 0 - нет).
По умолчанию этот параметр - 0. Так что, в таком виде эта опция особого смысла не имеет, а вот для того, чтобы включить эту диагностику, вставте эту опцию, заменив 0 на 1.

options NETATALK #Appletalk communications protocols

Ничего, кроме того, что в комментарии, сказать не могу.

Network interfaces:

pseudo-device loop #Network loopback device

"Драйвер" loopback интерфейса. Используется во многих ситуациях.
Поэтому, это устройство должно быть обязательно.

pseudo-device ether #Generic Ethernet

Общие подпрограммы для всех ethernet'овских драйверов (независимо, какая карточка у вас стоит).
Количество "псевдо-девайсов" значения не имеет (даже если у вас несколько ethernet'ов).
Поэтому, если у вас используется хоть какой-нибудь ethernet-адаптер, эта строчка должна быть обязательно.

pseudo-device fddi #Generic FDDI

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

pseudo-device sl 2 #Serial Line IP

Драйвер SLIP (протокол для передачи IP через COM-порт и, соответственно, через модем).
Естественно, у вас должны быть включены драйверы для COM-портов (в разделе hardware). Эта строчка только определяет - сможете ли вы на них использовать SLIP.
Количество "псевдо-девайсов" в данном случае важно, именно столько SLIP-коннектов вы сможете поддерживать одновременно (лучше всего их иметь столько, сколько у вас COM-портов).
Подробнее - man sl.

pseudo-device ppp 2 #Point-to-point protocol

Драйвер PPP (как и SLIP это протокол для передачи IP через COM-порт).
Комментарии те же, что и для "pseudo-device sl" (заменяя SLIP на PPP :-).
Подробнее - man 4 ppp.

pseudo-device sppp #Generic Synchronous PPP

Драйвер PPP для синхронных последовательных каналов.
Нужен в том случае если у вас есть специальная карточка (ar,cx,sr).

pseudo-device bpfilter 4 #Berkeley packet filter

Это драйвер для программ, которые "подсматривают" траффик через какой-нибудь сетевой интерфейс (tcpdump и т.п.). Кстати, этот драйвер может потребоваться и другим программам (например, DHCP-серверу).
Подробнее - man bpf.
Полезно их иметь (и побольше :-).

Важное замечание!
Поскольку через этот "девайс" соответствующие программы могут просматривать содержимое пакетов, "пробегающих" по сети, юзер, запустивщий программу, может подсмотреть чужие пароли, содержимое "пролетающих" писем, файлов и т.п. Поэтому, bpfilter может оказаться не только полезной "фичей", но и опасной. К счастью, по умолчанию, соответствующие устройства /dev/bpf* доступны для чтения только root'у.
Так вот. Не надо менять права доступа к этим устройствам. Будет лучше, если "рядовые юзеры" не смогут ими воспользоваться.

pseudo-device disc #Discard device

Это устройство аналогично устройству null для файлов. То есть в него можно посылать пакеты "в никуда". Включено в систему для тестов.
В реальной работе вещь практически бесполезная. Можно выкинуть.

pseudo-device tun 1 #Tunnel driver(user process ppp)

Это устройство используется только программой ppp (смотри man 8 ppp).
Если вы этой программой не пользуетесь (не путайте ее с pppd), то и устройство вам не нужно.

Internet family options:

options "TCP_COMPAT_42" #emulate 4.2BSD TCP bugs

Нужна только для совместимости с очень старой реализацией TCP протокола (на других машинах).
Скорее всего, вам она не нужна.

options MROUTING # Multicast routing

Вставляет в ядро поддержку маршрутизации пакетов с multicast адресами.
Обратите внимание, эта опция нужна только если вы собираетесь маршрутизировать (пропускать через свою машину из одной подсетки в другую) такие пакеты с помощью mrouted (смотри man mrouted). Для того, чтобы ваша машина могла принимать и посылать multicast-пакеты, эта опция НЕ нужна.
Короче, вам она врядли понадобится.

options IPFIREWALL #firewall

Поддержка FireWall. В данном случае это означает включение в ядро фильтра для IP пакетов, который может выборочно запрещать/разрешать прохождение через сетевые интерфейсы определенных пакетов (в зависимости от адреса "кому" или "от кого", номера TCP-порта и т.п.). Кроме того, этот модуль может считать количество пакетов (прошедших или, наоборот, задержанных).
Сами правила (кого куда пускать/не пускать) задаются с помощью программы ipfw (можете почитать man ipfw).
Важное замечание: в последних версиях FreeBSD, если FireWall включен в ядро, по умолчанию все пакеты запрещаются. Поэтому, не забудьте сразу же настроить этот firewall в файле /etc/rc.firewall и указать, что он у вас есть, в файле /etc/sysconf (или /etc/rc.conf).

options IPFIREWALL_VERBOSE #print information about dropped packets

Добавляет в модуль FireWall вывод сообщений (через syslogd) о каждом "загубленном" пакете.
Скорее всего, это лишнее.

options "IPFIREWALL_VERBOSE_LIMIT=100" #limit verbosity

Если вы включили опцию IPFIREWALL_VERBOSE, то эта строчка ограничивает количество сообщений. Будут выводится только первые 100 (в данном примере). После этого сообщения прекратятся.
Наверное, с этой опцией будет лучше.

options IPDIVERT #divert sockets

Эта опция добавляет к FireWall еще возможность некоторые IP-пакеты "заворачивать" на дополнительную обработку в прикладные программы (основные проверки делаются в ядре). С помощью этого механизма вы можете писать свои программы, которые смогут выполнить более сложную фильтрацию пакетов или даже их преобразование (NAT, тунель IP в IP, и т.п.). Кстати, NAT-демон, использующий этот механизм уже существует.
Подпробнее man divert.
Вещь полезная, если, конечно, вы знаете, что с ней делать :-).

options TCPDEBUG

Включает в подпрограммы TCP дополнительный код для диагностики. Похоже, нужна только разработчикам.

Обновлено: 12.03.2015