aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/handbook/network/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/handbook/network/_index.adoc')
-rw-r--r--documentation/content/ru/books/handbook/network/_index.adoc927
1 files changed, 927 insertions, 0 deletions
diff --git a/documentation/content/ru/books/handbook/network/_index.adoc b/documentation/content/ru/books/handbook/network/_index.adoc
new file mode 100644
index 0000000000..e8b99fd715
--- /dev/null
+++ b/documentation/content/ru/books/handbook/network/_index.adoc
@@ -0,0 +1,927 @@
+---
+description: 'Эта глава рассматривает тему настройки сети и производительности, демонстрируя мощные сетевые возможности операционной системы FreeBSD.'
+next: books/handbook/partii
+params:
+ path: /books/handbook/network/
+part: 'В начале'
+prev: books/handbook/wayland
+showBookMenu: true
+tags: ["network", "ipv4", "ipv6", "wireless", "wpa_supplicant", "static ip", "dynamic ip"]
+title: 'Глава 7. Сеть'
+weight: 9
+---
+
+[[network]]
+= Сеть
+:doctype: book
+:toc: macro
+:toclevels: 1
+:icons: font
+:sectnums:
+:sectnumlevels: 6
+:sectnumoffset: 7
+:partnums:
+:source-highlighter: rouge
+:experimental:
+:images-path: books/handbook/network/
+
+ifdef::env-beastie[]
+ifdef::backend-html5[]
+:imagesdir: ../../../../images/{images-path}
+endif::[]
+ifndef::book[]
+include::shared/authors.adoc[]
+include::shared/mirrors.adoc[]
+include::shared/releases.adoc[]
+include::shared/attributes/attributes-{{% lang %}}.adoc[]
+include::shared/{{% lang %}}/teams.adoc[]
+include::shared/{{% lang %}}/mailing-lists.adoc[]
+include::shared/{{% lang %}}/urls.adoc[]
+toc::[]
+endif::[]
+ifdef::backend-pdf,backend-epub3[]
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+endif::[]
+
+ifndef::env-beastie[]
+toc::[]
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+
+[[network-synopsis]]
+== Обзор
+
+Эта глава углубляется в тему настройки сети и производительности, демонстрируя мощные сетевые возможности операционной системы FreeBSD. Независимо от работы с проводными или беспроводными сетями, эта глава предоставляет всеобъемлющее руководство по настройке и оптимизации сетевого подключения в FreeBSD.
+
+Прежде чем углубляться в детали, читателям будет полезно иметь базовое понимание сетевых концепций, таких как протоколы, сетевые интерфейсы и адресация.
+
+Эта глава охватывает:
+
+* Возможности настройки проводных сетей в FreeBSD, включая настройку сетевых интерфейсов, адресацию и параметры конфигурации.
+* Навыки, необходимые для настройки беспроводных сетей в FreeBSD, включая настройку беспроводных сетевых интерфейсов, протоколы безопасности и методы устранения неполадок.
+* Возможности сетевых подключений FreeBSD и её репутация в области превосходной сетевой производительности.
+* Понимание различных сетевых служб и протоколов, поддерживаемых FreeBSD, с инструкциями по настройке DNS, DHCP и других.
+
+Дополнительная информация о настройке расширенных конфигураций сети приведена в разделе crossref:advanced-networking[advanced-networking,Сложные вопросы работы в сети].
+
+[[config-network-setup]]
+== Настройка сети
+
+Настройка проводного или беспроводного подключения — распространённая задача для пользователя FreeBSD. В этом разделе показано, как определить проводные и беспроводные сетевые адаптеры и как их настроить.
+
+Прежде чем приступить к настройке, необходимо знать следующие сетевые данные:
+
+* Есть ли в сети DHCP
+* Если в сети нет DHCP, используемый статический IP-адрес
+* Маска сети
+* IP-адрес шлюза по умолчанию
+
+[TIP]
+====
+Сетевое соединение могло быть настроено во время установки с помощью man:bsdinstall[8].
+====
+
+[[config-identify-network-adapter]]
+=== Определение сетевых адаптеров
+
+FreeBSD поддерживает широкий спектр сетевых адаптеров как для проводных, так и для беспроводных сетей. Проверьте link:https://www.freebsd.org/releases/[список совместимости оборудования] для используемого выпуска FreeBSD, чтобы убедиться, что сетевой адаптер поддерживается.
+
+Чтобы получить список сетевых адаптеров, используемых в системе, выполните следующую команду:
+
+[source, shell]
+....
+% pciconf -lv | grep -A1 -B3 network
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+em0@pci0:0:25:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x10f5 subvendor=0x17aa subdevice=0x20ee
+ vendor = 'Intel Corporation' <1>
+ device = '82567LM Gigabit Network Connection' <2>
+ class = network
+ subclass = ethernet
+--
+iwn0@pci0:3:0:0: class=0x028000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x4237 subvendor=0x8086 subdevice=0x1211
+ vendor = 'Intel Corporation' <1>
+ device = 'PRO/Wireless 5100 AGN [Shiloh] Network Connection' <2>
+ class = network
+....
+
+Текст перед символом '@' — это название драйвера, управляющего устройством. В данном случае это man:em[4] и man:iwn[4].
+
+<1> Показывает название производителя
+<2> Показывает название устройства
+
+[NOTE]
+====
+Требуется загружать модуль сетевой карты только в том случае, если FreeBSD не определил его правильно.
+
+Например, для загрузки модуля man:alc[4] выполните следующую команду:
+
+[source, shell]
+....
+# kldload if_alc
+....
+
+В качестве альтернативы, для загрузки драйвера как модуля во время загрузки, добавьте следующую строку в [.filename]#/boot/loader.conf#:
+
+[.programlisting]
+....
+if_alc_load="YES"
+....
+====
+
+[[config-network-connection]]
+== Проводные сети
+
+После загрузки нужного драйвера необходимо настроить сетевой адаптер. В FreeBSD для именования сетевого интерфейса используется имя драйвера, за которым следует номер устройства. Номер устройства указывает порядок обнаружения адаптера при загрузке или позднее.
+
+Например, `em0` — это первая сетевая карта (NIC) в системе, использующая драйвер man:em[4].
+
+Для отображения конфигурации сетевого интерфейса введите следующую команду:
+
+[source, shell]
+....
+% ifconfig
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
+ options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>
+ ether 00:1f:16:0f:27:5a
+ inet6 fe80::21f:16ff:fe0f:275a%em0 prefixlen 64 scopeid 0x1
+ inet 192.168.1.19 netmask 0xffffff00 broadcast 192.168.1.255
+ media: Ethernet autoselect (1000baseT <full-duplex>)
+ status: active
+ nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
+lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
+ options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
+ inet6 ::1 prefixlen 128
+ inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
+ inet 127.0.0.1 netmask 0xff000000
+ groups: lo
+ nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
+....
+
+В этом примере были отображены следующие устройства:
+
+* `em0`: Интерфейс Ethernet.
+* `lo0`: Интерфейс loop представляет собой механизм программной петли (loopback), который может использоваться для анализа производительности, тестирования программного обеспечения и/или локального взаимодействия. Подробнее см. в man:lo[4].
+
+Пример показывает, что `em0` работает и активен.
+
+Ключевые показатели:
+
+. `UP` означает, что интерфейс настроен и готов к работе.
+. Интерфейс имеет IPv4 адрес в Интернете (`inet`) — `192.168.1.19`.
+. Интерфейс имеет IPv6-адрес (`inet6`) в Интернете: `fe80::21f:16ff:fe0f:275a%em0`.
+. У него есть действительная маска подсети (`netmask`), где `0xffffff00` эквивалентно `255.255.255.0`.
+. У него есть корректный широковещательный адрес, `192.168.1.255`.
+. MAC-адрес интерфейса (`ether`) — `00:1f:16:0f:27:5a`.
+. Выбор физической среды находится в режиме автоопределения (`media: Ethernet autoselect (1000baseT <full-duplex>)`).
+. Состояние соединения (`status`) имеет значение `active`, что указывает на обнаружение несущего сигнала. Для `em0` состояние `status: no carrier` является нормальным, если кабель Ethernet не подключен к интерфейсу.
+
+Если вывод man:ifconfig[8] показал что-то похожее на следующий результат, это означало бы, что интерфейс не настроен:
+
+[.programlisting]
+....
+em0: flags=8822<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
+ options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>
+ ether 00:1f:16:0f:27:5a
+ media: Ethernet autoselect
+ status: no carrier
+ nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
+....
+
+[[config-static-ip-v4]]
+=== Настройка статического IPv4-адреса
+
+В этом разделе представлено руководство по настройке статического IPv4-адреса в системе FreeBSD.
+
+Настройку сетевой интерфейсной карты можно выполнить из командной строки с помощью man:ifconfig[8], но она не сохранится после перезагрузки, если конфигурация также не добавлена в [.filename]#/etc/rc.conf#.
+
+[NOTE]
+====
+Если сеть была настроена во время установки с помощью man:bsdinstall[8], некоторые записи для сетевой интерфейсной карты (NIC) могут уже присутствовать. Проверьте [.filename]#/etc/rc.conf# перед выполнением man:sysrc[8].
+====
+
+IP-адрес можно задать, выполнив следующую команду:
+
+[source, shell]
+....
+# ifconfig em0 inet 192.168.1.150/24
+....
+
+Чтобы изменение сохранялось после перезагрузки, выполните следующую команду:
+
+[source, shell]
+....
+# sysrc ifconfig_em0="inet 192.168.1.150 netmask 255.255.255.0"
+....
+
+Добавьте маршрут по умолчанию, выполнив следующую команду:
+
+[source, shell]
+....
+# sysrc defaultrouter="192.168.1.1"
+....
+
+Добавьте DNS-записи в [.filename]#/etc/resolv.conf#:
+
+[.programlisting]
+....
+nameserver 8.8.8.8
+nameserver 8.8.4.4
+....
+
+Затем перезапустите `netif` и `routing`, выполнив следующую команду:
+
+[source, shell]
+....
+# service netif restart && service routing restart
+....
+
+Соединение можно проверить с помощью man:ping[8]:
+
+[source, shell]
+....
+% ping -c2 www.FreeBSD.org
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+PING web.geo.FreeBSD.org (147.28.184.45): 56 data bytes
+64 bytes from 147.28.184.45: icmp_seq=0 ttl=51 time=55.173 ms
+64 bytes from 147.28.184.45: icmp_seq=1 ttl=51 time=53.093 ms
+
+--- web.geo.FreeBSD.org ping statistics ---
+2 packets transmitted, 2 packets received, 0.0% packet loss
+round-trip min/avg/max/stddev = 53.093/54.133/55.173/1.040 ms
+....
+
+[[config-dynamic-ip-v4]]
+=== Настройка динамического IPv4-адреса
+
+Если в сети есть DHCP-сервер, то настроить сетевой интерфейс для использования DHCP очень просто. FreeBSD использует man:dhclient[8] в качестве DHCP-клиента. man:dhclient[8] автоматически предоставит IP-адрес, маску сети и маршрутизатор по умолчанию.
+
+Чтобы настроить интерфейс для работы с DHCP, выполните следующую команду:
+
+[source, shell]
+....
+# sysrc ifconfig_em0="DHCP"
+....
+
+man:dhclient[8] можно использовать вручную, выполнив следующую команду:
+
+[source, shell]
+....
+# dhclient em0
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+DHCPREQUEST on em0 to 255.255.255.255 port 67
+DHCPACK from 192.168.1.1
+unknown dhcp option value 0x7d
+bound to 192.168.1.19 -- renewal in 43200 seconds.
+....
+
+Таким образом можно убедиться, что назначение адреса с помощью DHCP работает корректно.
+
+[TIP]
+====
+Клиент man:dhclient[8] может быть запущен в фоновом режиме. Это может вызвать проблемы с приложениями, зависящими от рабочей сети, но во многих случаях обеспечит более быстрый запуск.
+
+Для выполнения man:dhclient[8] в фоновом режиме выполните следующую команду:
+
+[source, shell]
+....
+# sysrc background_dhclient="YES"
+....
+====
+
+Затем перезапустите `netif`, выполнив следующую команду:
+
+[source, shell]
+....
+# service netif restart
+....
+
+Соединение можно проверить с помощью man:ping[8]:
+
+[source, shell]
+....
+% ping -c2 www.FreeBSD.org
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+PING web.geo.FreeBSD.org (147.28.184.45): 56 data bytes
+64 bytes from 147.28.184.45: icmp_seq=0 ttl=51 time=55.173 ms
+64 bytes from 147.28.184.45: icmp_seq=1 ttl=51 time=53.093 ms
+
+--- web.geo.FreeBSD.org ping statistics ---
+2 packets transmitted, 2 packets received, 0.0% packet loss
+round-trip min/avg/max/stddev = 53.093/54.133/55.173/1.040 ms
+....
+
+[[network-ipv6]]
+=== IPv6
+
+IPv6 — это новая версия широко известного протокола IP, также известного как IPv4.
+
+IPv6 предоставляет несколько преимуществ по сравнению с IPv4, а также множество новых функций:
+
+* Его 128-битное адресное пространство позволяет использовать 340 282 366 920 938 463 463 374 607 431 768 211 456 адресов. Это решает проблему нехватки IPv4-адресов и неизбежного исчерпания IPv4-адресного пространства.
+* Маршрутизаторы хранят в своих таблицах маршрутизации только агрегированные сетевые адреса, что сокращает средний размер таблицы маршрутизации до 8192 записей. Это решает проблемы масштабируемости, связанные с IPv4, где каждый выделенный блок IPv4-адресов должен был обмениваться между интернет-маршрутизаторами, что приводило к чрезмерному увеличению их таблиц маршрутизации и затрудняло эффективную маршрутизацию.
+* Автоконфигурация адресов (http://www.ietf.org/rfc/rfc4862.txt[RFC4862]).
+* Обязательные multicast-адреса.
+* Встроенный IPsec (безопасность IP).
+* Упрощённая структура заголовка.
+* Поддержка мобильного IP.
+* Механизмы перехода с IPv6 на IPv4.
+
+FreeBSD включает в себя эталонную реализацию IPv6 от http://www.kame.net/[проекта KAME] и поставляется со всем необходимым для работы с IPv6.
+
+Этот раздел посвящён настройке и запуску IPv6.
+
+Существует три различных типа IPv6-адресов:
+
+Unicast::
+Пакет, отправленный на одноадресный (unicast) адрес, поступает на интерфейс, принадлежащий этому адресу.
+
+Anycast::
+Эти адреса синтаксически неотличимы от одноадресных, но они обозначают группу интерфейсов. Пакет, предназначенный для адреса anycast, будет доставлен на ближайший интерфейс.
+
+Multicast::
+Эти адреса идентифицируют группу интерфейсов. Пакет, предназначенный для multicast-адреса, будет доставлен на все интерфейсы, входящие в multicast-группу. IPv4 широковещательный адрес, обычно `xxx.xxx.xxx.255`, в IPv6 выражается через multicast-адреса.
+
+При чтении IPv6-адреса каноническая форма представляется как `x:x:x:x:x:x:x:x`, где каждый `x` соответствует 16-битному шестнадцатеричному значению. Пример: `FEBC:A574:382B:23C1:AA49:4592:4EFE:9982`.
+
+Часто в адресе встречаются длинные последовательности нулей. Для замены одной такой последовательности в адресе можно использовать `::` (двойное двоеточие). Кроме того, в каждом шестнадцатеричном числе можно опустить до трёх ведущих нулей. Например, `fe80::1` соответствует канонической форме `fe80:0000:0000:0000:0000:0000:0000:0001`.
+
+Третья форма записи — указание последних 32 битов в известной IPv4 нотации. Например, `2002::10.0.0.1` соответствует шестнадцатеричной канонической записи `2002:0000:0000:0000:0000:0000:0a00:0001`, которая, в свою очередь, эквивалентна `2002::a00:1`.
+
+Чтобы просмотреть IPv6-адрес системы FreeBSD, выполните следующую команду:
+
+[source, shell]
+....
+# ifconfig
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
+ options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>
+ ether 00:1f:16:0f:27:5a
+ inet 192.168.1.150 netmask 0xffffff00 broadcast 192.168.1.255
+ inet6 fe80::21f:16ff:fe0f:275a%em0 prefixlen 64 scopeid 0x1
+ media: Ethernet autoselect (1000baseT <full-duplex>)
+ status: active
+ nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
+....
+
+В этом примере интерфейс `em0` использует `fe80::21f:16ff:fe0f:275a%em0` — автоматически сконфигурированный link-local адрес, который был автоматически сгенерирован из MAC-адреса.
+
+Некоторые IPv6-адреса зарезервированы. Список зарезервированных адресов можно посмотреть в следующей таблице:
+
+[[reservedip6]]
+.Пример зарезервированных адресов IPv6
+[cols="1,1,1", frame="none", options="header"]
+|===
+| IPv6 address
+| Описание
+| Заметки
+
+|`::/128`
+|не указано
+|Эквивалентно `0.0.0.0` в IPv4.
+
+|`::1/128`
+|loopback-адрес (адрес обратной петли)
+|Эквивалент `127.0.0.1` в IPv4.
+
+|`::ffff:0.0.0.0/96`
+|IPv4-отображенный IPv6-адрес
+|Младшие 32 бита представляют IPv4-адрес для совместимости с хостами и маршрутизаторами, поддерживающих только IPv4.
+
+|`fe80::/10`
+|link-local unicast
+|Эквивалентно 169.254.0.0/16 в IPv4.
+
+|`fc00::/7`
+|unique-local
+|Уникальные локальные адреса предназначены для локального взаимодействия и доступны для маршрутизации только в пределах группы взаимодействующих сайтов.
+
+|`ff00::/8`
+|multicast
+|
+
+|`2000::/3`
+|global unicast
+|Все глобальные одноадресные адреса выделяются из этого пула. Первые 3 бита имеют значение `001`.
+
+|``2001:db8::/32, 3fff::/20``
+|documentation
+|Адресный префикс IPv6 для использования в документации.
+|===
+
+Для получения дополнительной информации о структуре IPv6-адресов обратитесь к http://www.ietf.org/rfc/rfc4291.txt[RFC4291].
+
+[[config-static-ip-v6]]
+=== Настройка статического IPv6-адреса
+
+Для настройки системы FreeBSD в качестве IPv6-клиента со статическим IPv6-адресом необходимо установить IPv6-адрес.
+
+Выполните следующие команды для выполнения требований:
+
+[source, shell]
+....
+# sysrc ifconfig_em0_ipv6="inet6 2001:db8:4672:6565:2026:5043:2d42:5344 prefixlen 64"
+....
+
+Чтобы назначить маршрутизатор по умолчанию, укажите его адрес, выполнив следующую команду:
+
+[source, shell]
+....
+# sysrc ipv6_defaultrouter="2001:db8:4672:6565::1"
+....
+
+Для настройки дополнительного IPv6 anycast-адреса укажите адрес anycast как `_aliasN`(указано в man:rc.conf[5]) с добавлением опции `anycast`:
+[source, shell]
+....
+# sysrc ifconfig_em0_alias0="inet6 2001:db8:4672:6565::a anycast"
+....
+
+Имейте в виду, что приложения не могут привязываться к anycast-адресам; в этом случае необходимо использовать алиас-адрес.
+
+[[config-dynamic-ip-v6]]
+=== Настройка динамического адреса IPv6
+
+Для динамической настройки IPv6-адреса интерфейса с использованием crossref:glossary[slaac-glossary,SLAAC], выполните следующие команды:
+
+[source, shell]
+....
+# sysrc ifconfig_em0_ipv6="inet6 accept_rtadv"
+# sysrc rtsold_enable="YES"
+....
+
+Обратите внимание, что при включённой IPv6-маршрутизации (т.е. `ipv6_gateway_enable=YES`), система не будет настраивать SLAAC-адрес, если переменная man:sysctl[8] `net.inet6.ip6.rfc6204w3` не установлена в 1.
+
+=== Объявление маршрутизатора и автонастройка хоста
+
+Этот раздел демонстрирует, как настроить man:rtadvd[8] на IPv6-маршрутизаторе для объявления префикса IPv6-сети и маршрута по умолчанию.
+
+Чтобы включить man:rtadvd[8], выполните следующую команду:
+
+[source, shell]
+....
+# sysrc rtadvd_enable="YES"
+....
+
+Важно указать интерфейс, на котором будет выполняться IPv6-анонсирование маршрутизатора. Например, чтобы указать man:rtadvd[8] использовать `em0`:
+
+[source, shell]
+....
+# sysrc rtadvd_interfaces="em0"
+....
+
+Далее создайте файл конфигурации [.filename]#/etc/rtadvd.conf#, как показано в этом примере:
+
+[.programlisting]
+....
+em0:\
+ :addrs#1:addr="2001:db8:1f11:246::":prefixlen#64:tc=ether:
+....
+
+Замените `em0` на используемый интерфейс и `2001:db8:1f11:246::` на префикс выделенного диапазона.
+
+Для выделенной подсети `/64` больше ничего менять не нужно. В противном случае измените значение `prefixlen#` на соответствующее.
+
+=== Соответствие адресов IPv6 и IPv4
+
+Когда на сервере включен IPv6, может возникнуть необходимость разрешить использование IPv4-отображенных IPv6-адресов. Эта опция совместимости позволяет представлять IPv4-адреса в виде IPv6-адресов. Разрешение IPv6-приложениям взаимодействовать с IPv4 и наоборот может представлять угрозу безопасности.
+
+Эта опция может не требоваться в большинстве случаев и доступна только для совместимости. Она позволит IPv6-приложениям работать с IPv4 в двухстековой среде. Это особенно полезно для сторонних приложений, которые могут не поддерживать IPv6-окружение.
+
+Для включения этой функции выполните следующую команду:
+
+[source, shell]
+....
+# sysrc ipv6_ipv4mapping="YES"
+....
+
+[[network-wireless]]
+== Беспроводные сети
+
+Большинство беспроводных сетей основаны на стандартах link:https://en.wikipedia.org/wiki/IEEE_802.11[IEEE(R) 802.11].
+
+FreeBSD поддерживает сети, работающие по стандартам link:https://en.wikipedia.org/wiki/IEEE_802.11a-1999[802.11a], link:https://en.wikipedia.org/wiki/IEEE_802.11b-1999[802.11b], link:https://en.wikipedia.org/wiki/IEEE_802.11g-2003[802.11g] и link:https://en.wikipedia.org/wiki/IEEE_802.11n-2009[802.11n].
+
+[NOTE]
+====
+link:https://en.wikipedia.org/wiki/IEEE_802.11ac-2013[802.11ac] поддержка в FreeBSD в настоящее время находится в стадии разработки.
+====
+
+Базовая беспроводная сеть состоит из нескольких станций, взаимодействующих через радиомодули, работающие в диапазоне 2,4 ГГц или 5 ГГц, хотя это может различаться в зависимости от региона и также меняется для обеспечения связи в диапазонах 2,3 ГГц и 4,9 ГГц.
+
+Настройка беспроводной сети включает три основных этапа:
+
+1. Сканировать и выбрать точку доступа
+2. Аутентификация станции
+3. Настройте IP-адрес или используйте DHCP.
+
+Следующие разделы описывают каждый шаг.
+
+[[network-wireless-quick-start]]
+=== Быстрое начало работы: подключение к беспроводной сети
+
+Подключение FreeBSD к существующей беспроводной сети — весьма распространённая ситуация.
+
+Эта процедура быстрого старта показывает шаги, необходимые для подключения к сети с использованием базовой аутентификации. Более подробная процедура приведена в следующем разделе.
+
+Первый шаг — получить Service Set Identifier (SSID) и Pre-Shared Key (PSK) для беспроводной сети у администратора сети.
+
+Второй шаг — добавить запись для этой сети в файл [.filename]#/etc/wpa_supplicant.conf#.
+
+Если файл не существует, создайте его. Подробности о форматировании записей в этом файле см. в man:wpa_supplicant.conf[5].
+
+[.programlisting]
+....
+ctrl_interface=/var/run/wpa_supplicant
+eapol_version=1
+ap_scan=1
+fast_reauth=1
+
+network={
+ ssid="myssid" <.>
+ psk="mypsk" <.>
+}
+....
+
+<.> Это SSID беспроводной сети. Замените его на имя беспроводной сети.
+<.> Это PSK беспроводной сети. Замените его на пароль от беспроводной сети.
+
+Третий шаг — добавить запись о сетевом интерфейсе для настройки сети при загрузке. Получите имя сетевого интерфейса с помощью sysctl `net.wlan.devices`. В приведённом ниже примере вывод этой команды показывает, что сетевым интерфейсом является "iwn0".
+
+[source, shell]
+....
+# sysctl net.wlan.devices
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+net.wlan.devices: iwm0
+....
+
+В следующей строке с командой sysrc замените "iwn0" на вывод команды sysctl, если это необходимо.
+
+[source, shell]
+....
+# sysrc wlans_iwn0="wlan0"
+# sysrc ifconfig_wlan0="WPA DHCP"
+....
+
+* И последний шаг — перезапуск службы `netif` выполнением следующей команды:
+
+[source, shell]
+....
+# service netif restart
+....
+
+[[basic-wireless-configuration]]
+=== Базовая настройка беспроводной сети
+
+Эта секция предоставляет детальный пример настройки беспроводной сетевой карты. Чтобы узнать, какие беспроводные сетевые карты есть в системе, ознакомьтесь с разделом crossref:network[config-identify-network-adapter, Идентификация сетевых адаптеров].
+
+[source, shell]
+....
+# ifconfig wlan0 create wlandev iwm0
+....
+
+Чтобы изменение сохранялось после перезагрузки, выполните следующую команду:
+
+[source, shell]
+....
+# sysrc wlans_iwm0="wlan0"
+....
+
+[NOTE]
+====
+Поскольку нормативные требования различаются в разных частях мира, необходимо правильно настроить домены, соответствующие вашему местоположению, чтобы получить корректную информацию о доступных каналах.
+
+Доступные определения регионов можно найти в [.filename]#/etc/regdomain.xml#. Для установки данных во время выполнения используйте `ifconfig`:
+
+[source, shell]
+....
+# ifconfig wlan0 regdomain etsi2 country AT
+....
+
+Чтобы сохранить настройки, добавьте их в [.filename]#/etc/rc.conf#:
+
+[source, shell]
+....
+# sysrc create_args_wlan0="country AT regdomain etsi2"
+....
+====
+
+[[scan-wireless-networks]]
+=== Сканирование беспроводных сетей
+
+Доступные беспроводные сети можно просканировать с помощью man:ifconfig[8].
+
+Для вывода списка беспроводных сетей выполните следующую команду:
+
+[source, shell]
+....
+# ifconfig wlan0 up list scan
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+SSID/MESH ID BSSID CHAN RATE S:N INT CAPS
+FreeBSD e8:d1:1b:1b:58:ae 1 54M -47:-96 100 EP RSN BSSLOAD HTCAP WPS WME
+NetBSD d4:b9:2f:35:fe:08 1 54M -80:-96 100 EP RSN BSSLOAD HTCAP WPS WME
+OpenBSD fc:40:09:c6:31:bd 36 54M -94:-96 100 EPS VHTPWRENV APCHANREP RSN WPS BSSLOAD HTCAP VHTCAP VHTOPMODE WME
+GNU-Linux dc:f8:b9:a0:a8:e0 44 54M -95:-96 100 EP WPA RSN WPS HTCAP VHTCAP VHTOPMODE WME VHTPWRENV
+Windows 44:48:b9:b3:c3:ff 44 54M -84:-96 100 EP BSSLOAD VHTPWRENV HTCAP WME RSN VHTCAP VHTOPMODE WPS
+MacOS 46:48:b9:b3:c3:ff 44 54M -84:-96 100 EP BSSLOAD VHTPWRENV HTCAP WME RSN VHTCAP VHTOPMODE WPS
+....
+
+. SSID/MESH ID идентифицирует название сети.
+. BSSID идентифицирует MAC-адрес точки доступа.
+. Поле `CAPS` определяет тип каждой сети и возможности работающих в ней станций (подробности см. в определении `list scan` в man:ifconfig[8]).
+
+[[wireless-authentication]]
+=== Подключение и аутентификация в беспроводной сети
+
+После выбора беспроводной сети из списка обнаруженных необходимо выполнить подключение и аутентификацию. В подавляющем большинстве беспроводных сетей аутентификация осуществляется с помощью пароля, настроенного в маршрутизаторе. Другие схемы требуют выполнения криптографического рукопожатия перед началом передачи данных, используя либо предварительно распределённые ключи или секреты, либо более сложные схемы, включающие серверные службы, такие как RADIUS.
+
+[[authenticate-wpa2-wpa-personal]]
+==== Аутентификация с WPA2/WPA/Personal
+
+Процесс аутентификации в беспроводной сети управляется с помощью man:wpa_supplicant[8].
+
+Конфигурация man:wpa_supplicant[8] задаётся в файле [.filename]#/etc/wpa_supplicant.conf#. Подробнее см. man:wpa_supplicant.conf[5].
+
+После завершения сканирования беспроводных сетей, выбора сети и получения пароля (PSK), эта информация будет добавлена в файл [.filename]#/etc/wpa_supplicant.conf#, как показано в следующем примере:
+
+[.programlisting]
+....
+network={
+ scan_ssid=1 <.>
+ ssid="FreeBSD" <.>
+ psk="12345678" <.>
+}
+....
+
+<.> Метод сканирования SSID. Используйте эту опцию только если сеть скрыта.
+<.> Имя сети.
+<.> Пароль беспроводной сети.
+
+Следующим шагом будет настройка беспроводного соединения в файле [.filename]#/etc/rc.conf#.
+
+Для использования статического адреса необходимо выполнить следующую команду:
+
+[source, shell]
+....
+# sysrc ifconfig_wlan0="inet 192.168.1.20 netmask 255.255.255.0"
+....
+
+Для использования динамического адреса необходимо выполнить следующую команду:
+
+[source, shell]
+....
+# sysrc ifconfig_wlan0="WPA DHCP"
+....
+
+Затем перезапустите сеть, выполнив следующую команду:
+
+[source, shell]
+....
+# service netif restart
+....
+
+[NOTE]
+====
+Дополнительная информация о более сложных методах аутентификации доступна в crossref:advanced-networking[network-advanced-wireless,"Расширенная аутентификация беспроводных сетей"].
+====
+
+[[authenticate-open-networks]]
+==== Аутентификация в открытых сетях
+
+[TIP]
+====
+Важно, чтобы пользователь был *очень* осторожен при подключении к открытым сетям без какой-либо аутентификации.
+====
+
+После завершения сканирования беспроводной сети и выбора SSID выполните следующую команду:
+
+[source, shell]
+....
+# ifconfig wlan0 ssid SSID
+....
+
+Затем выполните man:dhclient[8], чтобы настроить адрес:
+
+[source, shell]
+....
+# dhclient wlan0
+....
+
+=== Использование проводного и беспроводного подключений одновременно
+
+Проводное соединение обеспечивает лучшую производительность и надежность, тогда как беспроводное соединение предоставляет гибкость и мобильность. Пользователи ноутбуков, как правило, хотят свободно переключаться между этими двумя типами соединений.
+
+На FreeBSD можно объединить два или более сетевых интерфейса в режиме "отказоустойчивости". Такой тип конфигурации использует наиболее предпочтительное и доступное соединение из группы сетевых интерфейсов, а операционная система автоматически переключается при изменении состояния канала.
+
+Агрегация и отказоустойчивость каналов описаны в crossref:advanced-networking[network-aggregation,"Агрегация и отказоустойчивость каналов"], а пример использования как проводных, так и беспроводных соединений приведен в crossref:advanced-networking[networking-lagg-wired-and-wireless,"Режим отказоустойчивости между проводными и беспроводными интерфейсами"].
+
+[[hostname]]
+== Имя сайта
+
+Имя хоста представляет собой полностью определённое доменное имя (FQDN) хоста в сети.
+
+[TIP]
+====
+Если для хоста не задано имя, FreeBSD назовет себя `Amnesiac`.
+====
+
+[[get-hostname]]
+=== Проверить текущее имя хоста
+
+man:hostname[1] может использоваться для проверки текущего имени хоста:
+
+[source, shell]
+....
+$ hostname
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+freebsdhostname.example.com
+....
+
+[[change-hostname]]
+=== Изменить имя хоста
+
+Для изменения имени хоста с сохранением после перезагрузки выполните следующую команду:
+
+[source, shell]
+....
+# sysrc hostname="freebsdhostname.example.com"
+....
+
+[[dns]]
+== DNS
+
+DNS можно представить как link:https://en.wikipedia.org/wiki/Telephone_directory[телефонный справочник], в котором IP-адрес сопоставляется с именем хоста и наоборот.
+
+Существует три файла, которые управляют взаимодействием системы FreeBSD с DNS. Эти три файла: man:hosts[5], man:resolv.conf[5] и man:nsswitch.conf[5]
+
+Если иное не указано в файле [.filename]#/etc/nsswitch.conf#, FreeBSD сначала проверит адреса в файле [.filename]#/etc/hosts#, а затем DNS-информацию в файле [.filename]#/etc/resolv.conf#.
+
+[NOTE]
+====
+Файл man:nsswitch.conf[5] определяет, как должен работать nsdispatch (диспетчер переключения службы имен).
+
+По умолчанию раздел hosts в файле [.filename]#/etc/nsswitch.conf# будет выглядеть следующим образом:
+
+[.programlisting]
+....
+hosts: files dns
+....
+
+Например, в случае использования службы man:nscd[8]. Порядок предпочтения можно изменить, оставив строку следующей:
+
+[.programlisting]
+....
+hosts: files cache dns
+....
+====
+
+[[local-addresses]]
+=== Локальные адреса
+
+Файл [.filename]#/etc/hosts# представляет собой простую текстовую базу данных, которая сопоставляет имена хостов с IP-адресами. В него можно добавить записи для локальных компьютеров, подключенных через LAN, чтобы использовать простые имена вместо настройки DNS-сервера. Кроме того, [.filename]#/etc/hosts# может использоваться для хранения локальных записей интернет-имен, что уменьшает необходимость запрашивать внешние DNS-серверы для часто используемых имен.
+
+Например, если в локальной среде имеется локальный экземпляр package:www/gitlab-ce[], его можно добавить следующим образом в файл [.filename]#/etc/hosts#:
+
+[.programlisting]
+....
+192.168.1.150 git.example.com git
+....
+
+[[configuring-nameserver]]
+=== Настройка сервера имен
+
+Как система FreeBSD обращается к системе доменных имен (DNS) в Интернете, управляется с помощью man:resolv.conf[5].
+
+Наиболее распространённые записи в [.filename]#/etc/resolv.conf#:
+
+[.informaltable]
+[cols="1,1", frame="none"]
+|===
+
+|`nameserver`
+|IP-адрес сервера имен, к которому должен обращаться резолвер. Серверы опрашиваются в указанном порядке, максимум три.
+
+|`search`
+|Список поиска для разрешения имён хостов. Обычно определяется доменом локального имени хоста.
+
+|`domain`
+|Локальное доменное имя.
+|===
+
+Типичный файл [.filename]#/etc/resolv.conf# выглядит следующим образом:
+
+[.programlisting]
+....
+search example.com
+nameserver 147.11.1.11
+nameserver 147.11.100.30
+....
+
+[NOTE]
+====
+Должна использоваться только одна из опций — `search` или `domain`.
+====
+
+При использовании DHCP man:dhclient[8] обычно перезаписывает [.filename]#/etc/resolv.conf# информацией, полученной от DHCP-сервера.
+
+[TIP]
+====
+Если машина, в которой производится настройка, *не* является DNS-сервером, для улучшения производительности DNS-запросов можно использовать man:local-unbound[8].
+
+Чтобы включить его при загрузке, выполните следующую команду:
+
+[source, shell]
+....
+# sysrc local_unbound_enable="YES"
+....
+
+Чтобы запустить службу man:local-unbound[8], выполните следующую команду:
+
+[source, shell]
+....
+# service local_unbound start
+....
+====
+
+[[troubleshooting]]
+== Устранение неполадок
+
+При устранении неполадок в конфигурации оборудования и программного обеспечения сначала проверяйте самые простые вещи.
+
+* Вставлен ли сетевой кабель?
+* Правильно ли настроены сетевые службы?
+* Настроен ли межсетевой экран правильно?
+* Поддерживается ли сетевая карта (NIC) в FreeBSD?
+* Работает ли маршрутизатор правильно?
+
+[TIP]
+====
+Прежде чем отправить отчёт об ошибке, всегда проверяйте раздел "Аппаратные требования" на странице link:https://www.freebsd.org/releases/[релиза FreeBSD], обновите версию FreeBSD до последней STABLE версии, проверьте архивы списков рассылки и выполните поиск в Интернете.
+====
+
+[[wired-troubleshooting]]
+=== Устранение неполадок в проводных сетях
+
+Если карта работает, но производительность низкая, ознакомьтесь с man:tuning[7]. Также проверьте настройки сети, так как неправильные параметры могут быть причиной медленного соединения.
+
+Сообщения `No route to host` возникают, если система не может найти маршрут для пакета до целевого хоста. Это может произойти, если не указан маршрут по умолчанию или если кабель отключен. Проверьте вывод команды `netstat -rn` и убедитесь, что существует действительный маршрут до хоста. Если его нет, ознакомьтесь с разделом crossref:advanced-networking[network-routing,"Шлюзы и маршруты"].
+
+Сообщения об ошибках `ping: sendto: Permission denied` часто возникают из-за неправильно настроенного межсетевого экрана. Если на FreeBSD включен межсетевой экран, но не определены правила, политика по умолчанию — запрещать весь трафик, включая man:ping[8]. Дополнительную информацию можно найти в crossref:firewalls[firewalls,Межсетевые экраны].
+
+[[wireless-troubleshooting]]
+=== Устранение неполадок в беспроводных сетях
+
+В этом разделе описаны шаги для устранения распространённых проблем с беспроводными сетями.
+
+* Если точка доступа не отображается при сканировании, проверьте, что конфигурация не ограничивает беспроводное устройство определенным набором каналов.
+
+* Если устройство не может подключиться к точке доступа, убедитесь, что конфигурация соответствует настройкам на точке доступа. Это включает схему аутентификации и все протоколы безопасности. Упростите конфигурацию насколько это возможно. Если используется протокол безопасности, такой как WPA2 или WPA, настройте точку доступа на открытую аутентификацию без защиты, чтобы проверить, проходит ли трафик.
+
+* Как только система сможет подключиться к точке доступа, диагностируйте конфигурацию сети с помощью таких инструментов, как man:ping[8].
+
+* Для низкоуровневой отладки существует множество инструментов. Сообщения отладки можно включить в слое поддержки протокола 802.11 с помощью man:wlandebug[8].