При настройке любого сетевого оборудования (коммутаторов, маршрутизаторов, шлюзов VPN, шлюзов безопасности и др.) настоятельно рекомендуется соблюдать последовательность действий "снизу-вверх" по стеку протоколов. После каждого этапа необходимо, по возможности, убедиться в работоспособности сделанных настроек.
Поскольку каждый уровень является транспортом для вышележащего, то настройка и проверка работоспособности каждого очередного уровня возможны только после того, как настроены и отлажены все нижележащие уровни. Это объективный факт, ни в коей мере не зависящий от используемого аппаратного оборудования и программного обеспечения. Пока у вас не настроены все нижележащие уровни, вышестоящие уровни возможно настраивать только вслепую, никак не проверяя их; это приводит к вероятным ошибкам сразу в нескольких местах конфигурации, и вы будете очень долго метаться по ней, отыскивая ошибки наугад.
С практической точки зрения, последовательность настройки выглядит следующим образом:
- 0. Подключение каналов связи.
- Оптимальный выбор портов для подключения может зависеть от аппаратной архитектуры устройства, а также от характера трафика между ними (маршрутизируемый IP или коммутируемый Ethernet). Аппаратные особенности каждой модели (там, где это существенно) приведены в соответствующей главе справки. Перед подключением настоятельно рекомендуется ознакомиться с ними.
- 1. Общая настройка системы (в части, не требующей подключения к сети): имя устройства, системное время (грубо), часовой пояс, локальные журналы, локальные пользователи, псевдо-интерфейсы и т.п.
- Дополнительных пользователей, как правило, целесообразно создавать позже.
Проверка на данном этапе не требуется.
- 2. Настройка физических соединений (Layer 1) — обеспечивает прохождение физических сигналов (электрических, оптических, радио) между портами соединённых устройств.
- Проверка: аппаратные (индикатор Link) и программные (DCD On, Link detected:yes и т.п.) индикаторы соединения показывают наличие такового.
- 3. Настройка протоколов и механизмов канального уровня (Layer 2), обеспечивающих обмен данными в пределах локальной сети или соединения "точка-точка" (networking).
- В современной реальности это почти исключительно протокол Ethernet и его адаптации поверх "неродных" для него протоколов физического уровня (E1/G.703, WiFi и др.), независимо от числа устройств (ровно два или более двух) в сети. К механизмам канального уровня относятся: аппаратная коммутация, bridge groups, bond groups.
Проверка: программные индикаторы (если есть) показывают наличие соединения. Если после установления соединения на канальном уровне автоматически назначается IP-адрес (протоколами PPP, DHCP, IPv6 Router Solicitation/Advertising), то это произошло.
- 4. Настройка IP-интерфейсов, связанных с объектами канального уровня.
- На этом этапе назначаются IP-адрес и маска, если они не назначены автоматически ранее (см. журнал и состояние порта).
Проверка: проходит ping на другие хосты в непосредственно подключённых сетях.
Примечание. Если предполагается перенастраивать порт eth0 и/или его встроенный коммутатор, настоятельно рекомендуется, в первую очередь, сконфигурировать для доступа к устройству какой-либо другой порт и переключиться на него. Если устройство не имеет выделенного консольного порта, рекомендуется назначить свободному порту RS–232 инкапсуляцию login и подготовить консольный кабель для работы с ним.
- 5. Настройка механизмов сетевого уровня (Layer 3 и Layer 4 в модели OSI), обеспечивающих обмен данными между локальными сетями и соединениями "точка-точка" (inter-networking). Именно они составляют ключевую функциональность маршрутизатора, в отличие от других типов сетевого оборудования.
- В современной реальности единственным протоколом сетевого уровня в России является IP. К операциям сетевого уровня относятся IP-маршрутизация, NAT, MPLS, различные другие действия, которые выполняются на основе содержимого заголовков IP и 4 уровня (TCP, UDP и др. протоколов).
Для маршрутов, принимаемых в процессе динамической настройки интерфейсов (PPP, DHCP) — убедиться (по журналам этих служб или по таблице маршрутизации), что они действительно принимаются.
На этом же этапе, как правило, уместно производить настройку механизмов управления трафиком и качеством услуг (QoS) на интерфейсах, хотя она может быть выполнена и позже.
Исключением является фильтрация пакетов, которую на данном этапе настраивать не следует, чтобы не замутнять ситуацию и не затруднять себе настройку последующих уровней. Фильтрацию следует настраивать в последнюю очередь.
Проверка: проходит ping (если более подробно, то traceroute) по IP-адресу на узлы в интересующих сетях.
- 6. Донастройка системы в части, требующей подключения к сети: клиент DNS (если не настроен автоматически), клиент NTP и т.п. службы и приложения. Настройка прикладных служб и средств управления (HTTP/HTTPS, Telnet, SSH, SNMP и др.).
- Проверка: проходит ping по имени хоста на основные узлы в интересующих сетях. Работают остальные службы.
- 7. Настройка прикладных служб (сервер DHCP, ретранслятор DNS, netping, обработчик событий и др.). Настройка средств управления. Настоятельно рекомендуется включить HTTPS и SSH, выключить Telnet, заблокировать HTTP (порт TCP 80) фильтром.
- Проверка: Службы доступны или недоступны, соответственно.
- 8. Настройка туннелей. Для большинства типов типа туннелей, разделяется на два этапа: создание собственно туннелей и настройка маршрутизации в них (аналогично пп. 2–3 и 4–5, соответственно).
- Проверка: аналогично пп. 4–5. Дополнительно можно удостовериться, что положенный трафик идёт именно через туннели, с помощью traceroute, tcpdump или, как минимум, счётчика пакетов на туннельном интерфейсе.
- 9. Настройка фильтров и других средств ограничения обмена данными.
- Проверка: не нарушена работа компонент, настроенных на предыдущем этапе.
- 10. Чистка конфигурации и окончательная проверка её работоспособности.
- Рекомендуется удалить из конфигурации все излишние элементы: оставшиеся от неправильных фрагментов конфигурации, дублирующие друг друга, или тождественные установкам по умолчанию. Более короткая конфигурация не только легче читается, но и уменьшает вероятность ошибок и быстрее обрабатывается при старте системы. Понизить уровни детализации журналов до разумных значений, если они были увеличены в процессе отладки.
Проверка: после сохранения окончательной конфигурации и перезагрузки устройство функционирует требуемым образом.
Для поиска и устранения проблем на каждом этапе следует анализировать состояние соответствующих компонент и журналы их работы. См. команды show, log, interface, progress и т.п. ПО NSG Linux 2.1 предоставляет максимально полную доступную информацию для этого. Также следует использовать системный журнал (system.syslog) и журнал демона конфигурации nsgconfd (system.log).
ВНИМАНИЕ! На момент подключения устройства к сетям общего пользования (в т.ч. сотовым), даже пробного, на нём должен быть установлен непустой пароль для пользователя nsg и, если открыт доступ для пользователя root, то обязательно содержательный пароль (длинный, случайный) для него.
На момент постановки устройства в регулярную эксплуатацию по окончании настройки необходимо установить содержательный пароль для пользователя nsg. Доступ для пользователя root следует запретить, если он требовался только в процессе настройки. Если он необходим по существу в процессе эксплуатации, то рекомендуется настроить доступ по ключам SSH и запретить доступ по паролю. В крайнем случае, необходимо использовать очень длинный и случайный пароль.