Разное

Linux загрузка сети: Мониторинг сети Linux | Losst

Содержание

Мониторинг сети Linux | Losst

Хочу порекомендовать VPS хостинг от профессионалов с самой лучшей технической поддержкой, на котором работает этот веб-сайт. У них есть VPS и выделеные серверы под любые нужды. Регистрируйтесь и получите скидку 25% на первый платеж для любого SSD VPS при оплате на один, три или шесть месяцев.

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

В этой статье мы рассмотрим как выполняется мониторинг сети Linux. Для этого можно использовать различные утилиты. Начиная от сетевых анализаторов, таких как Wireshark и tcpdump до более простых инструментов, таких как iptraf.

Содержание статьи:

Как работает мониторинг сети?

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

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

Мониторинг сети с помощью iptraf

iptraf — это одна из самых лучших программ для мониторинга сети в Linux. Она предоставляет очень удобный интерактивный интерфейс, с помощью которого можно наглядно увидеть всю необходимую информацию, причем достаточно подробно. Утилита не поставляется по умолчанию, но она достаточно популярна, поэтому вы можете установить ее из официальных репозиториев. Для этого в Ubuntu выполните команду:

sudo apt install iptraf

А в CentOS / Red Hat выполните:

sudo yum install iptraf

После установки утилиты для ее запуска просто наберите в терминале iptraf-ng:

iptraf-ng

Перед вами откроется интерактивный интерфейс на основе Ncurses, в котором необходимо выбрать нужное действие. Здесь доступны монитор пропускной способности сети, статистика по интерфейсу, статистика по сбоям и монитор локальной сети.

Обратите внимание на нижнюю часть окна, там отображается описание выбранного действия, а также находятся подсказки по горячим клавишам.Например, для просмотра сетевых соединений и статистики трафика для каждого из них выберите IP traffic moitor. Затем вам будет необходимо выбрать сетевой интерфейс, например, enp2s0:

Дальше вы увидите все IP адреса, с которыми сейчас выполняется взаимодействие. Здесь можно увидеть направление отправки пакетов, количество пакетов и общий объем переданных или полученных данных в байтах.

С помощью других пунктов меню можно посмотреть статистику по интерфейсу или статистику по работе локальной сети. Утилита даже может работать в неразборчивом режиме, чтобы собирать максимум данных про локальную сеть.

Также поддерживаются фильтры, которые позволяют отфильтровывать информацию только по определенному критерию. Например, чтобы создать фильтр откройте меню Filters, затем выберите IP…, а дальше Apply new filter:

Затем нужно указать имя фильтра:

На следующем этапе вы можете расписать нужные параметры фильтрации:

Чтобы применить фильтр нужно выбрать Apply filter и выбрать имя фильтра из списка:

Теперь в любом пункте статистики будет отображаться только та информация, которая подходит под созданный фильтр.

Мониторинг трафика Linux чаще всего выполняется администраторами именно с помощью этой утилиты. Видео про использование утилиты:

Мониторинг сети с помощью других утилит

Самая мощная программа для мониторинга сети — это iptraf. Она предоставляет всю необходимую для администраторов информацию. Но, кроме нее, существуют и другие продукты. Рассмотрим их более подробно.

1. iftop

Утилита имеет более простой интерфейс и отображает намного меньше информации. Она выводит ip адреса отправителя и получателя, а также количество переданных или полученных данных за несколько последних секунд:

iftop

Установить программу в Ubuntu можно командной:

sudo apt install iftop

Хотя здесь отображается информация по каждому соединению, программа не может идентифицировать программу, которая создает пакеты.

2. nload

nload — это очень простая утилита, которая отображает только скорость входящих и исходящих соединений. Это позволяет сделать примитивный анализ сети linux и определить нагрузку. Отображается текущая скорость, максимальная и минимальная скорость за период работы. Также данные о скорости выводятся в виде графика, поэтому вам будет достаточно беглого взгляда, чтобы понять что происходит.

nload

Для установки программы в Ubuntu используйте команду:

sudo apt install nload

3. nethogs

Nethogs — это достаточно интересная утилита для мониторинга сетей, которая выделяется среди других. С помощью нее можно посмотреть какой процесс создает тот или иной трафик. Здесь отображаются PID процессов и имена пользователей, отсортированные по занимаемой пропускной способности сети:

nethogs

Программа, как и другие доступна из официальных репозиториев, поэтому у вас не возникнет проблем с установкой:

sudo yum install nethogs

4. bmon

Утилита bmon позволяет отображать достаточно подробно статистику по каждому сетевому интерфейсу. Она работает похоже на nload и выводит график кроме текстовой информации:

bmon

Для установки программы выполните:

sudo apt install bmon

5. Vnstat

Vnstat отличается от всех инструментов, рассмотренных выше. Программа работает постоянно в фоновом режиме и собирает информацию об использовании сети в лог файл. Далее можно посмотреть какой была нагрузка за определенный период. Для установки утилиты выполните:

sudo apt install vnstat

Далее необходимо запустить сервис, для этого выполните такую команду:

sudo systemctl start vnstat

Далее необходимо немного подождать, пока утилита соберет данные и можно просматривать статистику:

vnstat

Здесь будет отображаться информация о нагрузке на сеть с указанием дат и периодов. Также вы можете посмотреть доступную информацию в реальном времени. Для этого используйте опцию -l:

vnstat -l

Видео про использование и настройку vnstat:

6. bwm-ng

Это еще одна утилита, очень простая в использовании, которая позволяет следить за сетевой нагрузкой в режиме реального времени. Отображаются все доступные сетевые интерфейсы в системе:

bwm-ng

Для установки утилиты выполните такую команду:

sudo apt install bwm-ng

7.

 speedometer

Это еще один простой инструмент, который позволяет выполнить мониторинг сети и выводит данные в виде красивых графиков. Для установки программы выполните:

sudo pip install speedometer

Как видите, она есть в официальных репозиториев не всех дистрибутивов, зато вы можете установить программу из репозитория python.

speedometer -r enp2s0f0 -t enp2s0f0

Опция -r указывает интерфейс, с которого необходимо отображать количество полученных пакетов, а опция -t — отправленных.

8. netwatch

Netwatch — это небольшая утилита, которая входит в набор инструментов Netdiag и показывает сетевые соединения между локальной и удаленными системами, а также скорость, с которой будут передаваться данные. Для установки программы используйте:

sudo apt install netdiag

Затем для запуска:

netwath

9. ifstat

Утилита ifstat показывает пропускную способность сети, измеряя количество переданных и принятых пакетов. Вывод утилиты можно использовать и анализировать в других программах. Утилита не выводит информацию об ip адресах или других параметрах, а только скорость. Для установки используйте:

sudo apt install ifstat

Для запуска:

ifstat

10. trafshow

Это утилита, очень похожа на iftop, которая отображает не только скорость передачи, но и сами соединения. Здесь выводится информация по соединениях, размеры пакетов и протокол. Для установки программы наберите:

sudo apt install trafshow

Осталось запустить программу:

trafshow

Выводы

В этой статье мы рассмотрели команду Iptraf, а также еще несколько полезных утилит, с помощью которых можно выполнять мониторинг сети linux на сервере или домашнем компьютере. Некоторые из этих инструментов можно использовать даже в корпоративной среде. В качестве альтернативы вы можете использовать инструменты с веб-интерфейсом. Некоторые из них перечислены в статье системы мониторинга Linux. А какие инструменты мониторинга используете вы? Напишите в комментариях!

16 полезных средств контроля пропускной способности для анализа использования сети в Linux

Сегодня поговорим про 16 полезных средств контроля пропускной способности для анализа использования сети в Linux. У вас проблемы с мониторингом использования пропускной способности сети Linux? Вам нужна помощь? Важно, чтобы вы могли визуализировать, что происходит в вашей сети, чтобы понять и разрешить все проблемы пропускной способности, или просто следить за своей сетью.

 

Читайте также: 20 инструментов командной строки для мониторинга производительности Linux 

 

В этой статье мы рассмотрим 16 полезных инструментов для мониторинга полосы пропускания и анализа использования сети в Linux.

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

 

1. vnStat — сетевой монитор трафика

VnStat — полнофункциональная, основанная на командной строке программа для мониторинга сетевого трафика и использования полосы пропускания в режиме реального времени в системах Linux и BSD.

 

Одно из преимуществ этой команды заключается в том, что она записывает сетевой трафик и статистику использования полосы пропускания для последующего анализа — это поведение по умолчанию. Фактически вы можете просматривать эти журналы даже после перезагрузки системы.

 

Установка VnStat в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install vnstat
# apt install vnstat [On Debian/Ubuntu]

 

2. iftop — отображение использования полосы пропускания

iftop — это простой в использовании инструмент для мониторинга пропускной способности сети, основанный на командной строке в режиме реального времени, используемый для быстрого обзора сетевых действий на интерфейсе. iftop отображает обновления полосы пропускания сети каждые 2, 10 или 40 секунд.

 

Установка iftop в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install iftop
# apt install iftop [On Debian/Ubuntu]

 

3. nload — отображение использования сети

nload — это еще один простой в использовании инструмент командной строки для мониторинга сетевого трафика и использования полосы пропускания в режиме реального времени. Он использует графики, которые помогут вам отслеживать входящий и исходящий трафик. Кроме того, он также отображает информацию, такую ​​как общая сумма переданных данных и минимальное/максимальное использование сети.

 

Установка nload в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install nload
# apt install nload [On Debian/Ubuntu]

 

4. NetHogs — отслеживание пропускной способности сети

NetHogs — это «миниатюрный» текстовый инструмент, предназначенный для мониторинга трафика в режиме реального времени для каждого процесса или приложения, работающем в системе Linux. Он просто предлагает статистику использования пропускной способности сети в реальном времени для каждого процесса.

 

Установка NetHogs в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install nethogs
# apt install nethogs [On Debian/Ubuntu]

 

5. bmon — монитор полосы пропускания и оценка скорости

bmon также представляет собой простой инструмент командной строки для мониторинга использования пропускной способности сети и оценки скорости передачи данных в Linux. Он фиксирует сетевую статистику и визуализирует её в удобный для восприятия человеку формат, чтобы вы легко могли следить за своей системой.

 

 

Установка Bmon в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install bmon
# apt install bmon [On Debian/Ubuntu]

 

6. Darkstat для захвата сетевого трафика

Darkstat — это простой, кросс-платформенный, эффективный веб-анализатор сетевого трафика в режиме реального времени. Это инструмент мониторинга сетевой статистики, который работает, захватывая сетевой трафик, вычисляет статистику использования и поддерживает отчёты по HTTP в графическом формате. Вы также можете использовать его через командную строку для получения тех же результатов.

 

Установка Darkstat в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install darkstat
# apt install darkstat [On Debian/Ubuntu]

 

7. IPTraf — сетевой монитор сети

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

 

Установка IPTraf в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install iptraf
# apt install iptraf [On Debian/Ubuntu]

 

8. CBM

CBM — это крошечная утилита командной строки для отображения текущего сетевого трафика на всех подключенных устройствах с удобным выходом выделенным разными цветами в Ubuntu Linux и его производных, таких как Linux Mint, Lubuntu и многих других. Она показывает каждый подключенный сетевой интерфейс, полученные байты, отправленные байты и суммарные байты, что позволяет отслеживать пропускную способность сети.

 

Установка CBM в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install cbm
# apt install cbm [On Debian/Ubuntu]

 

9. Iperf/Iperf3 — инструмент измерения пропускной способности сети

Iperf/Iperf3 — это мощный инструмент для измерения пропускной способности сети по протоколам, таким как TCP, UDP и SCTP. Он в первую очередь предназначен для настройки TCP-соединений по определенному пути, что полезно для тестирования и мониторинга максимальной достижимой пропускной способности в IP-сетях (поддерживает как IPv4, так и IPv6). Это требует, чтобы сервер и клиент выполняли соответствующие тесты (которые сообщают о пропускной способности, потерях и других полезных параметрах производительности сети).

 

Установка Iperf3 в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install iperf3
# apt install iperf3 [On Debian/Ubuntu]

 

10. Netperf — тестирование пропускной способности сети

Netperf похож на iperf, и используется он для тестирования производительности сети. Он может помочь в мониторинге пропускной способности сети в Linux путем измерения передачи данных с использованием TCP или UDP. Он также поддерживает измерения через интерфейс Berkeley Sockets, DLPI, Unix Domain Sockets и еще через многие другие интерфейсы. Для запуска тестов необходимо выполнить минимальную настройку на сервере и клиенте.

 

Инструкции по установке смотрите на странице проекта в github.

 

11. Генератор отчетов SARG — Squid Analysis Report

SARG — это анализатор файлов журналов и инструмент мониторинга пропускной способности Интернета. Он создает полезные HTML-отчеты с информацией о IP-адресах и общем использовании полосы пропускания. Это удобный инструмент для мониторинга использования пропускной способности интернета отдельными машинами в одной сети.

 

12. Monitorix — инструмент для мониторинга системы и сети

Monitorix — это удобный инструмент для мониторинга системных ресурсов и для мониторинга сети, предназначенное для небольших серверов Linux/Unix.

Он помогает отслеживать сетевой трафик и статистику использования с неограниченного количества сетевых устройств. Он поддерживает соединения IPv4 и IPv6, включает графики трафика, а также поддерживает до 9 qdiscs для каждого сетевого интерфейса.

 

Установка Monitorix в Linux
# yum install epel-release [On RHEL/CentOS]
# yum install monitorix
# apt install monitorix [On Debian/Ubuntu]

 

13. Cacti — графический инструмент сетевого мониторинга

Cacti — это полнофункциональное сетевое графическое приложение для PHP с интуитивно понятным и простым в использовании интерфейсом. Он использует базу данных MySQL для хранения собранных данных о производительности сети, используемых для создания настраиваемых графиков. Это интерфейс RRDTool, полезный для мониторинга небольших и сложных сетей с тысячами устройств.

 

14. Observium — платформа для сетевого мониторинга

Observium — это полнофункциональная платформа мониторинга сети с элегантным, мощным, надежным, но простым и интуитивно понятным интерфейсом. Он поддерживает ряд платформ, включая Linux, Windows, FreeBSD, Cisco, HP, Dell и многие другие, а также включает автоопределение устройств. Он помогает пользователям собирать сетевые показатели и предлагает интуитивно понятное графическое отображение показателей устройства из собранных данных о производительности.

 

 

15. Zabbix — приложение и инструмент для сетевого мониторинга

Zabbix — многофункциональная, широко используемая платформа мониторинга сети, разработанная в модели сервер-клиент, для мониторинга сетей, серверов и приложений в режиме реального времени. Она собирает различные типы данных, которые используются для визуального представления производительности сети или показателей нагрузки для контролируемых устройств.

Zabbix способен работать со всеми известными сетевыми протоколами, такими как HTTP, FTP, SMTP, IMAP и многими другие, без необходимости установки дополнительного программного обеспечения на контролируемые устройства.

Инструкцию по установке и использованию можно посмотреть в нашей статье — Как установить Zabbix3.2 на Debian8 и Ubuntu16?

 

16. Nagios — мониторинг систем, сетей и инфраструктур

Nagios — это надежное, мощное, многофункциональное и широко используемое программное обеспечение для мониторинга. Он позволяет отслеживать локальные и удаленные сетевые устройства и их службы.

Nagios обеспечивает мониторинг полосы пропускания в сетевых устройствах, таких как коммутаторы и маршрутизаторы, через SNMP, что позволяет вам легко находить более используемые порты и указывать возможные сетевые пользователи.

Кроме того, Nagios также помогает вам следить за использованием пропускной способности и ошибками в каждом порту и поддерживает быстрое обнаружение сбоев в сети и сбоев протокола.

 

Инструкцию по установке и использованию смотрите в нашей статье — Как установить Nagios на RHEL, CentOS и Fedora?

 

Итоги

В этой статье мы рассмотрели ряд полезных приложений для мониторинга пропускной способности сети и системного мониторинга в Linux.

 

 

Спасибо за уделенное время на прочтение статьи!

Если вам понравилась эта тема, то мы рекомендуем прочесть статью: Как развернуть отказоустойчивую локальную сеть и повысить ее производительность с помощью EtherChannel.

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности,  полный курс по кибербезопасности от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.

Что Вы получите?

  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.

Как проходит обучение?

  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.

А еще поможем Вам:

  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.

Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Утилиты командной строки Linux. Мониторинг загрузки сетевого интерфейса

Одна из задач по сопровождению операционных систем семейства Linux, это мониторинг сетевого трафика. В рамках данной статьи описываются наиболее популярные утилит, которые можно использовать для мониторинга загрузки сетевого интерфейса в оперативном режиме через SSH.  Эти утилиты выполняют измерение потока трафика через каждый из сетевых интерфейсов и измеряют скорость с которой были переданы данные, причем входящий и исходящий трафик показывается раздельно.
Некоторые из приведенных команд позволяют просматривать использование сети отдельными процессами, это позволяет определить, какой из процессов загружает сетевой интерфейс.

Ниже перечислены команды, сгруппированные по своим функциональным особенностям:

  1. загруженность целиком интерфейса (динамическое отображение) — nload, bmon, bwm-ng
  2. загруженность целиком интерфейса (только вывод статистики) — vnstat, dstat, collectl
  3. использование сети для каждого соеденения (per socket) — iftop, iptraf, trafshow
  4. использование сети по процессам — nethogs

nload

NLoad — утилита командной строки, которая позволяет выполнять мониторинг входящего и исходящего трафика отдельно, а также отрисовка масштабируемых графиков загрузки сетевого интерфеса.

Пример запуска:

$ nload

Пример отображения:
Установка NLoad

# fedora or centos
$ yum install nload

# ubuntu/debian
$ apt-get install nload

bmon (Bandwidth Monitor)

BMon — это утилита похожая на nload, которая показывает нагрузку на трафик по всем сетевым интерфейсам в системе. Выходные данные также состоят из графика и раздела с детализацией на уровне пакетов. Bmon поддерживает множество опций и способен создавать отчеты в формате html.
Пример запуска:

$ bmon

Пример отображения:
Установка BMon 

# fedora or centos
$ yum install bmon

# ubuntu or debian
$ apt-get install bmon

bwm-ng (Bandwidth Monitor Next Generation)

Bwm-ng  другой очень простой монитор нагрузки сети в реальном времени который сообщает сводку скорости на которую данные переносятся в и из всех доступных сетевых интерфейсов на системе.
Если размер консоли достаточно велик, bwm-ng также может рисовать гистограммы для трафика, используя режим вывода curses 2.
Пример запуска:

$ bwm-ng

Пример отображения:
Установка bwm-ng

# fedora or centos
$ yum install bwm-ng

# ubuntu or debian
$ apt-get install bwm-ng

vnstat

Vnstat немного отличается от большинства других инструментов. Он фактически запускает фоновую службу/демон и постоянно записывает размер передачи данных. Далее его можно использовать для формирования отчета об истории использования сети.
Запуск vnstat без каких-либо опций просто покажет общий объем передачи данных, который имел место с момента запуска демона.
Для мониторинга использования полосы пропускания в режиме реального времени используйте опцию ‘- l ‘ (live mode). Затем он будет показывать общую пропускную способность, используемую входящими и исходящими данными, но очень точно без каких-либо внутренних подробностей о соединениях хоста или процессах.

Vnstat больше похож на инструмент для получения исторических отчетов о том, сколько пропускной способности используется каждый день или за последний месяц. Это не только инструмент для мониторинга сети в реальном времени.
Пример запуска:

# Создание БД для сбора статистики интерфейса
$ vnstat --create -i eth0

# запуск сервиса
$ service vnstat start

# Мониторинг в реальном времени
$ vnstat -l -i eth0

Пример отображения:
Установка vnstat

# fedora or centos
$ yum install vnstat

# ubuntu or debian
$ apt-get install vnstat

Отслеживание состояния сети в Linux – команда netstat

Для получения сведений об активности и статистике сетевых соединений (интерфейсов) существует масса удобных мониторинговых приложений с графическим пользовательским интерфейсом, всевозможных виджетов и т. д. Однако, все эти решения построены на основе стандартных утилит, входящих в состав практически любой Linux- или UNIX-ориентированной системы. Для администрирования серверов на базе системы Linux такие стандартные утилиты являются достаточно исчерпывающим инструментом для получения информации о работе сети. Одной из таких является команда netstat. С помощью неё можно получить вывод с информацией о состоянии сетевого программного обеспечения, статистику сети, сведения о маршрутизации и т.д.

Синтаксис и опции netstat

Синтаксис команды

netstat [опции]

-aПоказывать состояние всех сокетов;
-oПоказывать таймен
-iПоказывает состояние сетевых интерфейсов
-nПоказывать ip адрес, а не сетевое имя
-rПоказать таблицы маршрутизации. При использовании с опцией -s показывает статистику маршрутизации.
-sПоказать статистическую информацию по протоколам. При использовании с опцией -r показывает статистику маршрутизации.
-f семейство_адресовОграничить показ статистики или адресов управляющих блоков только указанным семейством_адресов, в качестве которого можно указывать:inet Для семейства адресов AF_INET, или unix Для семейства адресов AF_UNIX.
-I интерфейсПоказывать информацию о конкретном интерфейсе.
-pОтобразить идентификатор/название процесса, создавшего сокет (-p, —programs display PID/Program name for sockets)

Ключи можно комбинировать. Самая распространенная команда использования netstat это:

netstat -nap

Эта команда выводит довольно большой список. Поэтому для получения нужной информации используйте grep. Например для получения всех портов которые слушаются в системе.

netstat -nap | grep LISTEN

Контроль сетевых соединений

Используя опцию -i можно получить данные о состоянии сетевых интерфейсов системы, а также основных счётчиков трафика. Вывод предоставляется в виде наглядной таблицы с соответствующими столбцами. Формат самой таблицы зависит от используемой системы. К примеру, в Ubuntu, да и вообще в Debian-ориентированных системах он будет примерно таким:

$ netstat -i
Таблица интерфейсов ядра
Iface MTU  RX-OK RX-ERR    RX-DRP    RX-OVR    TX-OK TX-ERR    TX-DRP
eno1 1500 1876 127       0         0         9253 223       0
lo   6553 6529 0         0         0         6529 0         0

В данном выводе видно, как ведёт себя интерфейс eno1, через который осуществляется соединение в сеть, а также что происходит с интерфейсом обратной связи lo. В столбцах RX/TX приводится статистика по трафику с указанием количества пакетов, в том числе и пакетов с ошибками. В частности, показатель RX свидетельствует о количестве пакетов, полученных интерфейсом, TX – о количестве пропущенных через этот интерфейс пакетов с момента загрузки системы или первичной активации (задействования) интерфейса.

Количество ошибок (RX-ERR, TX-ERR) как правило, не должно быть больше 1% (в некоторых случаях 5%) от общего числа пакетов. Если ошибок больше, то следует проанализировать этот параметр на других компьютерах. Большое количество ошибок в сети (на других компьютерах) свидетельствует о неполадках в окружении сети. На отдельном компьютере излишнее их (ошибок) количество говорит о неполадках с сетевым интерфейсом (сетевая карта) или с самим соединением (кабели, совместимость оборудования).

Посмотреть сетевые соединения

Если дать команду netstat без параметров, то будет выведен список процессов (демонов), для которых установлены сетевые соединения. Если нужно также получить информацию о процессах, которые активных соединений не имеют, но слушают порты, нужно использовать ключ -a:

$ netstat -а
Active    Internet  connections     (servers and established)
Proto     Recv-Q    Send-Q    Local Address   ForeignAddress  State
tcp       0         0         *:ldap          *:*             LISTEN
tcp       0         0         *:mysql         *:*             LISTEN
tcp       0         0         *:imaps         *:*             LISTEN
tcp       0         0         bull:ssh        dhcp:4208       ESTABL
tcp       0         0         bull:imaps      nubark:54195    ESTABL
tcp       0         0         bull:http       dhcp:2563       ESTABL
tcp       0         0         bull:imaps      dhcp-18hw:2851  ESTABL

Данный вывод включает в себя также и информацию о системных сокетах UNIX и UDP. Как видно, в представленном отчёте зафиксировано входящее SSH-соединение, два входящих соединения IMAPS, одно входящее HTTP-соединение, а также несколько портов, которые «слушают» (LISTEN) другие соединения. Адреса в данном выводе представлены в формате имя_хоста:служба, где в качестве службы может выступать порт. В колонках Recv-Q и Send-Q отображается количество запросов в очередях на приём и отправку на данном узле/компьютере. Следует также отметить, что факт установки соединения проверяется только для протокола TCP. Кроме описанных состояний соединений имеются также и некоторые другие:

  • TIME_WAIT – ожидание на завершение соединения;
  • SYN_SENT – попытка некоторого процесса установить соединение с недоступным ресурсом или сервером;
  • SYN_WAIT – состояние, при котором данный узел не может обработать все поступающие запросы. Зачастую это может свидетельствовать об ограничении возможностей системного ядра, либо о попытках намеренно вызвать перегрузку на сервере.

Идентификация сетевых процессов

Для того, чтобы однозначно иметь представление о конкретных процессах или демонах, слушающих соединения (порты) в системе, следует воспользоваться ключами -l и -p. Первый  позволяет выводить, собственно, только слушающие порты, второй — для идентификации процесса/демона, например:

$ sudo netstat -lp
Активные соединения с интернетом (only servers)
Proto Recv-Q Send-Q Local Address   ForeignAddress State  PID/Program name
tcp        0      0 localhost:mysql 0.0.0.0:*      LISTEN 1154/mysqld
tcp6       0      0 [::]:http       [::]:*         LISTEN 1201/apache2

Как можно видеть, в данном выводе веб-сервер (один из его процессов) прослушивает по протоколу tcp6 все HTTP-соединения. Демон MySQL прослушивает локальный порт mysql по протоколу tcp. Для того, чтобы иметь возможность видеть номера самих портов, а также IP-адреса хостов, следует к команде netstat -lp добавить ключ n. Стоит также отметить, что для получения полной информации о слушающих процессах нужно запускать команду netstat от имени суперпользователя. Если не используется опция -n и не работает служба DNS, то netstat будет выполняться очень медленно.

Получение статистики для различных сетевых протоколов

Команда netstat позволяет видеть статистические данные по использованию всех доступных в системе протоколов. Для этого нужно использовать ключ -s:

$ netstat -s
Ip:
671349985 total packets received
0 forwarded
345 incoming packets discarded
667912993 incoming packets delivered
589623972 requests sent out
60 dropped because of missing route
203 fragments dropped after timeout
Icmp:
242023 ICMP messages received
912 input ICMP message failed.
ICMP input histogram:
destination unreachable: 72120
timeout in transit: 573
echo requests: 17135
echo replies: 152195
66049 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 48914
echo replies: 17135
Tcp:
4442780 active connections openings
1023086 passive connection openings
50399 failed connection attempts
0 connection resets received
44 connections established
666674854 segments received
585111784 segments send out
107368 segments retransmited
86 bad segments received.
3047240 resets sent
Udp:
4395827 packets received
31586 packets to unknown port received.
0 packet receive errors
4289260 packets sent

Как видно, выводимая статистика отображается с разбивкой по разделам для каждого протокола. Здесь содержатся очень полезные сведения для анализа и поиска неполадок в работе сети.

Также для команды netstat есть ещё один полезный ключ, позволяющий выводить обновлённые данные с интервалом в одну секунду. Этот ключ работает не в каждой связке с другими опциями. Однако, отслеживание интерфейсов в режиме реального времени с этим ключом очень удобно, например команда netstat -i -a -c будет выводить статистику по использованию всех интерфейсов в системе, в том числе и отключенных (ключ -a) автоматически каждую секунду — ключ -c.

Информацию о таблице маршрутизации позволяет получить ключ -r:

$ netstat -r -n
Таблица маршрутизации ядра протокола IP
Destination Gateway Genmask       Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U     0   0      0    eno1
192.168.2.0 0.0.0.0 255.255.255.0 U     0   0      0    eno0
127.0.0.0   0.0.0.0 255.0.0.0     U     0   0      0    lo

Все рассмотренные ключи предоставляют исчерпывающие возможности для получения информации об использовании сети в подавляющем большинстве случаев. Однако, команда netstat располагает кроме рассмотренных, куда более внушительным арсеналом опций, ознакомиться с которыми можно с помощью команды man netstat.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

⚙ЛУЧШИЕ АНАЛИЗАТОРЫ СЕТЕВОГО ТРАФИКА И АНАЛИЗАТОРЫ ДЛЯ WINDOWS И LINUX БЕСПЛАТНО

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

Тем не менее, очень важно учитывать безопасность сети. Мы знаем, что высокий процент атак на информационное оборудование совершается через сеть, и это часто является нашей ошибкой (неверные пароли, загрузка неизвестных файлов, открытие исполняемых файлов в электронных письмах), но если у вас нет базовых знаний о Как работает сеть Вы можете быть (если не были) еще одной жертвой таких атак.

Интернет действительно представляет собой гигантскую сеть протоколов, сервисов и инфраструктуры, которая позволяет использовать сетевые соединения повсюду, и более 90% из нас слышали о TCP / IP, HTTP, SMTP и т. Д.

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

Что такое сниффер

Sniffer или сетевой анализатор — это аппаратные или программные утилиты, которые были разработаны с целью обеспечения постоянного мониторинга трафика локальной или внешней сети. Это отслеживание в основном отвечает за анализ потоков пакетов данных, которые отправляются и принимаются между сетевым оборудованием как внутри, так и снаружи.

Он использует режим отслеживания, называемый «случайным режимом», с помощью которого он дает нам возможность исследовать все пакеты независимо от их назначения, это может занять некоторое время, но это является ключом для уверенного знания того, что он проходит через нашу сеть.

Мы можем настроить Sniffer двумя различными способами в зависимости от требований поддержки, эти режимы:

  • Мы можем настроить его без фильтра, чтобы инструмент собирал все доступные пакеты и сохранял их записи на локальном жестком диске для последующего анализа.
  • Его можно настроить с помощью специального фильтра, который дает нам возможность собирать пакеты на основе критериев, которые мы указали перед поиском.

Снифферы или сетевые анализаторы могут быть одинаково использованы в локальной сети или сети Wi-Fi. Основное отличие состоит в том, что, если это используется в локальной сети, у нас будет доступ к пакетам любого подключенного оборудования. Или вы можете установить ограничение на основе сетевого устройства; в случае использования в беспроводной сети сетевой анализатор может сканировать только один канал за раз для ограничителя сети, но если мы используем несколько Беспроводные интерфейсы Это может немного улучшиться, но всегда будет лучше использовать его в проводной сети или локальной сети.

Когда мы отслеживаем пакеты, используя Sniffer или сетевой анализатор, мы можем получить доступ к таким деталям, как:

  • Информация о посещенных сайтах
  • Содержание и получатель электронных писем, отправленных и полученных
  • Просмотр загруженных файлов и многое другое

Основная цель Sniffer — проанализировать все пакеты в сети, особенно входящий трафик, чтобы найти любой объект, содержимое которого содержит вредоносный код, и таким образом повысить безопасность в организации, предотвращая установку любого типа клиента на любом клиентском компьютере. вредоносные программы.

Зная немного о том, как работает сетевой анализатор, мы познакомимся с некоторыми из лучших сетевых анализаторов или Sniffer, доступных для Windows и Linux.

Wireshark

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

черты

Среди его характеристик мы выделяем следующие:

  • Его можно без проблем запустить на таких системах, как Windows, Linux, macOS, Solaris, FreeBSD, NetBSD и других.
  • Интегрируйте мощный анализ для VoIP.
  • Вы можете провести глубокую проверку более 100 протоколов.
  • Вы можете выполнять оперативный захват и анализ в автономном режиме сетевых пакетов.
  • Он совместим для форматов чтения и записи, таких как tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, сетевой монитор Microsoft, сеть General Sniffer® (сжатая и несжатая), Sniffer® Pro и NetXray®, сеть Обозреватель инструментов, NetScreen snoop, Novell LANalyzer, RADCOM WAN / LAN Analyzer, Shomiti / Finisar Surveyor, Tektronix K12xx, Визуальные визуальные сети Time Up, VisualPackets EtherPeek / TokenPeek / AiroPeek и многое другое.
  • Данные, полученные в режиме реального времени, могут быть прочитаны с таких платформ, как Ethernet, IEEE 802.11, PPP / HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI, что дает нам широкий спектр возможностей доступа.
  • Захваченные данные сети можно исследовать с помощью графического интерфейса (GUI) или через TShark в режиме TTY.
  • Он совместим для расшифровки нескольких протоколов, таких как IPsec, ISAKMP, Kerberos, SNMPv3, SSL / TLS, WEP и WPA / WPA2.
  • Мы можем реализовать цветовые правила для лучшего управления полученными данными.
  • Результаты могут быть экспортированы в XML, PostScript®, CSV или обычный текст (CSV)

Ваша загрузка доступна по следующей ссылке:

WireShark

Там мы можем загрузить исполняемый файл для Windows 10, а в случае Linux мы можем загрузить исходный код или выполнить следующие команды в терминале:

 sudo apt update sudo apt установить wireshark sudo usermod -aG wireshark $ (whoami) Перезагрузка sudo 

После установки на Windows 10 или Linux, во время его выполнения мы выберем сетевой адаптер для анализа и увидим следующее:

В Windows 10

Как только мы хотим остановить процесс, нажмите «Стоп», и мы можем увидеть соответствующие результаты, которые мы можем определить более подробно из доступных меню:

Linux

В случае Linux мы увидим следующее:

EtherApe

Это эксклюзивная утилита для систем UNIX, так как ее можно запускать только в таких операционных системах, как:

  • Fedora 24, 25, 26, 27, 28 и 29
  • SLES 12, 12 SP1 и 12 SP3
  • OpenSUSE 13.2, Leap 42.1 / 42.2 / 42.3 и Tumbleweed / Factory.

EtherApe был разработан как приложение GTK 3, с помощью которого мы можем отслеживать и видеть состояние сквозного графического интерфейса, получая подробную информацию о протоколах IP и TCP в режиме реального времени, что полезно для обнаружения любых аномалий или ошибок.

черты

Некоторые из его самых выдающихся особенностей:

  • Как узел, так и цвет ссылки выделяют наиболее активный протокол в сети.
  • Мы можем выбрать уровень протоколов для фильтрации.
  • Используемый сетевой трафик представлен графически для лучшего понимания деталей.
  • Он поддерживает протоколы, такие как ETH_II, 802.2, 803.3, IP, IPv6, ARP, X25L3, REVARP, ATALK, AARP, IPX, VINES, TRAIN, LOOP, VLAN, ICMP, IGMP, GGP, IPIP, TCP, EGP, PUP, UDP, IDP, TP, ROUTING, RSVP, GRE, ESP, AH, EON, VINES, EIGRP, OSPF, ENCAP, PIM, IPCOMP, VRRP;
  • Совместим с TCP и UDP, TELNET, FTP, HTTP, POP3, NNTP, NETBIOS, IRC, DOMAIN, SNMP и другими.
  • Поддерживает использование сетевого фильтра с использованием синтаксиса pcap.
  • Это позволяет анализировать сеть от конца до конца IP или от порта к порту TCP.
  • Вы можете захватывать данные в автономном режиме.
  • Собранные данные могут быть считаны с интерфейсов Ethernet, FDDI, PPP, SLIP и WLAN.
  • Отображает статистику трафика по узлам.
  • Разрешение имен EtherApe выполняется с использованием стандартных функций libc, это означает, что оно совместимо с DNS, файлами хоста и другими службами.
  • Результаты могут быть экспортированы в файл XML.

Чтобы установить эту утилиту в Linux, мы должны выполнить следующее:

 sudo apt-get update sudo apt-get установить etherape 

После установки мы получаем доступ к утилите, выполняя следующее:

 sudo etherape 

Это приведет к тому, что EtherApe будет выполняться из терминала, и графический интерфейс приложения будет автоматически отображаться:

Там у нас будет меню, где можно будет применить фильтры или правила.

ТСРйитр

Это утилита для систем Linux, которая захватывает как входящий, так и исходящий сетевой трафик, и это приложение можно установить в операционных системах Unix / Linux, так как оно имеет библиотеку libpcap для выполнения процесса захвата трафика из Выбранная сеть.
Для установки просто запустите следующее в терминале:

 sudo apt установить tcpdump 

параметры

Некоторые из используемых параметров:

  • -A: печатать каждый пакет (не включая заголовок уровня ссылки) в ASCII.
  • -b: печатать номер AS на пакетах BGP в нотации ASDOT вместо нотации ASPLAIN.
  • -B buffer_size, —buffer-size = buffer_size: установить размер буфера захвата в buffer_size, в единицах КиБ (1024 байта).
  • -c count: выход из команды после получения сетевых пакетов.
  • -C file_size: проверить, больше ли размер файла, чем исходный размер файла.
  • -d: сбросить скомпилированный код пакета в удобочитаемую форму.
  • -dd: сбросить пакетный код как фрагмент программы C.
  • -D —list-interfaces: вывести список доступных интерфейсов.
  • -e: напечатать заголовок уровня ссылки.
  • -E: использовать для расшифровки пакетов IPsec ESP.
  • -f: распечатать адреса IPv4.
  • -F файл: позволяет нам выбрать файл фильтра.
  • -h –help: распечатать справку команды.
  • —version: отображает используемую версию tcpdump.
  • -i interface —interface = interface: позволяет выбрать интерфейс для анализа для захвата пакета.
  • -I —monitor-mode: активирует интерфейс в «режиме монитора»; который совместим только с интерфейсами Wi-Fi IEEE 802.11 и некоторыми операционными системами.

кисмет

Kismet — это простая утилита, которая больше ориентирована на беспроводные сети, но благодаря которой мы можем анализировать трафик скрытых сетей или SSID, которые не были отправлены, мы можем использовать ее в системах UNIX, Windows Under Cygwin и OSX.

Kismet полностью работает с Wi-Fi, Bluetooth, SDR (программно-определяемым программным обеспечением радио-радио) и специализированными аппаратными интерфейсами захвата.

черты

Среди его характеристик мы находим:

  • Это позволяет вам экспортировать стандартные данные в JSON, чтобы помочь в создании сценариев для экземпляров Kismet.
  • Интегрирует веб-интерфейс пользователя.
  • Совместимость с беспроводными протоколами.
  • Он имеет новый код удаленного захвата, который был оптимизирован для двоичного размера и оперативной памяти, что облегчает использование встроенных устройств для захвата пакетов в сети.
  • Он имеет формат регистрации, который может обеспечить сложную информацию об устройствах, состоянии системы, оповещениях и других параметрах.

Его установка может быть выполнена с помощью следующей команды:

 sudo apt установить кисмет 

По следующей ссылке вы найдете больше вариантов установки kismet:

кисмет

NetworkMiner

Это инструмент сетевого криминалистического анализа (NFAT), основанный на открытом исходном коде для систем Windows, Linux, macOS и FreeBSD. Когда мы устанавливаем этот инструмент, мы можем выполнить полное сканирование сети, чтобы захватить все пакеты, а вместе с ними — определить операционные системы, сеансы, имена хостов и т. Д. Для полного администрирования этих переменных.

черты

Некоторые из его самых выдающихся особенностей:

  • Мы можем анализировать файлы PCAP для автономного анализа.
  • Будет возможно выполнить расширенный анализ сетевого трафика (NTA).
  • Исполнение в реальном времени.
  • Поддерживает адресацию IPv6.
  • Можно извлечь файлы из трафика FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3 и IMAP
  • Поддерживает SSL, HTTPS, SMTPS, IMAPS, POP3S, FTPS и другое шифрование
  • Декапсуляция GRE, 802.1Q, PPPoE, VXLAN, OpenFlow, SOCKS, MPLS и EoMPLS

Ваша загрузка доступна по следующей ссылке:

NetworkMiner

Шаг 1
Для правильного использования NetworkMiner сначала необходимо создать правило входа в брандмауэре Windows 10:

Шаг 2
После этого мы должны запустить от имени администратора утилиту для доступа к проверке компьютеров в сети и там выбрать различные опции:

Шаг 3
При выборе хоста мы видим элементы, загруженные на соответствующих вкладках:

Microsoft Message Analyzer

Как вы можете подозревать по названию, это эксклюзивная утилита Windows 10, которая была разработана Microsoft для выполнения таких задач, как захват, развертывание и анализ трафика сообщений протокола и других сообщений операционной системы, в дополнение к этому, когда мы используем С помощью этой утилиты мы можем импортировать, добавлять или анализировать данные из файлов журнала и трассировки сети.

Некоторые из его функций

  • Захват данных в реальном времени
  • Загрузка данных из нескольких источников данных одновременно
  • Показать данные отслеживания или регистрации
  • Различные варианты просмотра и многое другое

Шаг 1
Ваша бесплатная загрузка доступна по следующей ссылке:

Microsoft Message Analyzer

Шаг 2
После выполнения мы увидим следующую среду (она должна быть запущена от имени администратора):

Шаг 3
Там можно будет установить правила цвета, добавить столбцы, установить фильтры и т. Д., Когда мы выбираем любую из линий внизу, мы находим более конкретные детали этого:

WinDump

Windump — это версия среды Tcpdump для Windows, поскольку Windump совместима с Tcpdump, и мы можем установить ее, чтобы видеть, диагностировать или, если мы хотим сохранить сетевой трафик, использовать и применять правила.

WinDump перехватывает сетевой трафик через библиотеку WinPcap и драйверы, поэтому сначала мы должны бесплатно загрузить WinPcap по следующей ссылке:

WinPcap

Тогда мы можем скачать Windump по следующей ссылке:

WinDump

При его выполнении откроется консоль командной строки, и мы можем определить интерфейс с параметром -i:

 WinDump.exe -i 1 

Capsa Network Analyzer

Он доступен в бесплатной и платной версии с большим количеством функций, но оба позволяют нам выполнять задачи сетевого анализа, отслеживая каждый входящий и исходящий пакет, а также используемые протоколы, что будет очень полезно для исправления ошибок и проведения анализа Сеть в деталях.

В бесплатной версии это будет возможно:

  • Мониторинг до 10 IP-адресов в выбранной сети.
  • До 4 часов за сеанс.
  • Мы можем получать оповещения от сетевых адаптеров.
  • Это позволяет сохранять и экспортировать результаты.

Бесплатная версия может быть загружена по следующей ссылке:

Capsa Network Analyzer

После загрузки и запуска это будет среда, предлагаемая утилитой:

Там у нас будет графическое представление сетевого трафика, а вверху у нас будут различные инструменты для фильтрации и контроля сетевых пакетов.

Netcat

Netcat — это интегрированная команда в системах Windows и Linux, благодаря которой можно будет считывать и записывать данные с использованием протокола TCP / IP в различных сетевых подключениях, это можно использовать независимо или с другими приложениями, которые будут использоваться в качестве утилиты. Сканирование и отладка локальной или внешней сети.
Среди его функций мы находим:

  • Интегрирован в саму систему
  • Перехват исходящих и входящих соединений
  • Он имеет встроенные возможности сканирования портов
  • Имеет расширенные возможности
  • Может сканировать RFC854 и телнет коды

Мы можем выполнить следующую строку, например:

 netcat -z -v solvetic.com 15-30 

Это будет читать порты с 15 по 30, чтобы показать, какие из них открыты, а какие нет:

Переменная -z используется для целей сканирования (нулевой режим), а параметр -v (подробный) отображает информацию разборчиво.
Есть дополнительные параметры, которые мы можем использовать как:

  • -4: Показать адреса IPv4
  • -6: поддерживает адреса IPv6
  • -b: поддерживает трансляцию
  • -D: включить режим отладки
  • -h: Показать справку команды
  • -i Interval: позволяет применить интервал времени между строками
  • -l: включить режим прослушивания
  • -n: подавить разрешение имени или порта
  • -r: оптимизировать удаленные порты

Мы видели различные варианты сетевых анализаторов и Sniffer, доступных для Windows и Linux, с помощью которых мы можем увеличить результаты наших задач поддержки и управления.

7 бесплатных программ для мониторинга сети и серверов

Мантра мира недвижимости — Местоположение, Местоположение, Местоположение. Для мира системного администрирования этот священный текст должен звучать так: Видимость, Видимость и еще раз Видимость. Если каждую секунду на протяжении всего дня вы досконально не знаете, что делают ваша сеть и сервера, вы похожи на пилота, который летит вслепую. Вас неминуемо ждет катастрофа. К счастью для вас, на рынке сейчас доступно много хороших программ, как коммерческих, так и с открытым исходным кодом, способных наладить ваш сетевой мониторинг.

Поскольку хорошее и бесплатное всегда заманчивее хорошего и дорогого, предлагаем вам список программ с открытым исходным кодом, которые каждый день доказывают свою ценность в сетях любого размера. От обнаружения устройств, мониторинга сетевого оборудования и серверов до выявления тенденций в функционировании сети, графического представления результатов мониторинга и даже создания резервных копий конфигураций коммутаторов и маршрутизаторов — эти семь бесплатных утилит, скорее всего, смогут приятно удивить вас.

Cacti

Сначала был MRTG (Multi Router Traffic Grapher) — программа для организации сервиса мониторинга сети и измерения данных с течением времени. Еще в 1990-х, его автор Тобиас Отикер (Tobias Oetiker) счел нужным написать простой инструмент для построения графиков, использующий кольцевую базу данных, изначально используемый для отображения пропускной способности маршрутизатора в локальной сети. Так MRTG породил RRDTool, набор утилит для работы с RRD (Round-robin Database, кольцевой базой данных), позволяющий хранить, обрабатывать и графически отображать динамическую информацию, такую как сетевой трафик, загрузка процессора, температура и так далее. Сейчас RRDTool используется в огромном количестве инструментов с открытым исходным кодом. Cacti — это современный флагман среди программного обеспечения с открытым исходным кодом в области графического представления сети, и он выводит принципы MRTG на принципиально новый уровень.

От использования диска до скорости вентилятора в источнике питания, если показатель можно отслеживать, Cacti сможет отобразить его и сделать эти данные легкодоступными.

Cacti — это бесплатная программа, входящее в LAMP-набор серверного программного обеспечения, которое предоставляет стандартизированную программную платформу для построения графиков на основе практически любых статистических данных. Если какое-либо устройство или сервис возвращает числовые данные, то они, скорее всего, могут быть интегрированы в Cacti. Существуют шаблоны для мониторинга широкого спектра оборудования — от Linux- и Windows-серверов до маршрутизаторов и коммутаторов Cisco, — в основном все, что общается на SNMP (Simple Network Management Protocol, простой протокол сетевого управления). Существуют также коллекции шаблонов от сторонних разработчиков, которые еще больше расширяют и без того огромный список совместимых с Cacti аппаратных средств и программного обеспечения.

Несмотря на то, что стандартным методом сбора данных Cacti является протокол SNMP, также для этого могут быть использованы сценарии на Perl или PHP. Фреймворк программной системы умело разделяет на дискретные экземпляры сбор данных и их графическое отображение, что позволяет с легкостью повторно обрабатывать и реорганизовывать существующие данные для различных визуальных представлений. Кроме того, вы можете выбрать определенные временные рамки и отдельные части графиков просто кликнув на них и перетащив.

Так, например, вы можете быстро просмотреть данные за несколько прошлых лет, чтобы понять, является ли текущее поведение сетевого оборудования или сервера аномальным, или подобные показатели появляются регулярно. А используя Network Weathermap, PHP-плагин для Cacti, вы без чрезмерных усилий сможете создавать карты вашей сети в реальном времени, показывающие загруженность каналов связи между сетевыми устройствами, реализуемые с помощью графиков, которые появляются при наведении указателя мыши на изображение сетевого канала. Многие организации, использующие Cacti, выводят эти карты в круглосуточном режиме на 42-дюймовые ЖК-мониторы, установленные на стене, позволяя ИТ-специалистам мгновенно отслеживать информацию о загруженности сети и состоянии канала.

Таким образом, Cacti — это инструментарий с обширными возможностями для графического отображения и анализа тенденций производительности сети, который можно использовать для мониторинга практически любой контролируемой метрики, представляемой в виде графика. Данное решение также поддерживает практически безграничные возможности для настройки, что может сделать его чересчур сложным при определенных применениях.

Nagios

Nagios — это состоявшаяся программная система для мониторинга сети, которая уже многие годы находится в активной разработке. Написанная на языке C, она позволяет делать почти все, что может понадобится системным и сетевым администраторам от пакета прикладных программ для мониторинга. Веб-интерфейс этой программы является быстрым и интуитивно понятным, в то время его серверная часть — чрезвычайно надежной.

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

Как и Cacti, очень активное сообщество поддерживает Nagios, поэтому различные плагины существуют для огромного количества аппаратных средств и программного обеспечения. От простейших ping-проверок до интеграции со сложными программными решениями, такими как, например, написанным на Perl бесплатным программным инструментарием WebInject для тестирования веб-приложений и веб сервисов. Nagios позволяет осуществлять постоянный мониторинг состояния серверов, сервисов, сетевых каналов и всего остального, что понимает протокол сетевого уровня IP. К примеру, вы можете контролировать использование дискового пространства на сервере, загруженность ОЗУ и ЦП, использования лицензии FLEXlm, температуру воздуха на выходе сервера, задержки в WAN и Интеренет-канале и многое другое.

Очевидно, что любая система мониторинга серверов и сети не будет полноценной без уведомлений. У Nagios с этим все в порядке: программная платформа предлагает настраиваемый механизм уведомлений по электронной почте, через СМС и мгновенные сообщения большинства популярных Интернет-мессенджеров, а также схему эскалации, которая может быть использована для принятия разумных решений о том, кто, как и при каких обстоятельствах должен быть уведомлен, что при правильной настройке поможет вам обеспечить многие часы спокойного сна. А веб-интерфейс может быть использован для временной приостановки получения уведомлений или подтверждения случившейся проблемы, а также внесения заметок администраторами.

Кроме того, функция отображения демонстрирует все контролируемые устройства в логическом представлении их размещения в сети, с цветовым кодированием, что позволяет показать проблемы по мере их возникновения.

Недостатком Nagios является конфигурация, так как ее лучше всего выполнять через командную строку, что значительно усложняет обучение новичков. Хотя люди, знакомые со стандартными файлами конфигурации Linux/Unix, особых проблем испытать не должны.

Возможности Nagios огромны, но усилия по использованию некоторых из них не всегда могут стоить затраченных на это усилий. Но не позволяйте сложностям запугать вас: преимущества системы раннего предупреждения, предоставляемые этим инструментом для столь многих аспектов сети, сложно переоценить.

Icinga

Icinga начиналась как ответвление от системы мониторинга Nagios, но недавно была переписана в самостоятельное решение, известное как Icinga 2. На данный момент обе версии программы находятся в активной разработке и доступны к использованию, при этом Icinga 1.x совместима с большим количеством плагинами и конфигурацией Nagios. Icinga 2 разрабатывалась менее громоздкой, с ориентацией на производительность, и более удобной в использовании. Она предлагает модульную архитектуру и многопоточный дизайн, которых нет ни в Nagios, ни в Icinga 1.

Icinga предлагает полноценную программную платформу для мониторинга и системы оповещения, которая разработана такой же открытой и расширяемой, как и Nagios, но с некоторыми отличиями в веб-интерфейсе.

Как и Nagios, Icinga может быть использована для мониторинга всего, что говорит на языке IP, настолько глубоко, насколько вы можете использовать SNMP, а также настраиваемые плагины и дополнения.

Существует несколько вариаций веб-интерфейса для Icinga, но главным отличием этого программного решения для мониторинга от Nagios является конфигурация, которая может быть выполнена через веб-интерфейс, а не через файлы конфигурации. Для тех, кто предпочитает управлять своей конфигурацией вне командной строки, эта функциональность станет настоящим подарком.

Icinga интегрируется со множеством программных пакетов для мониторинга и графического отображения, таких как PNP4Nagios, inGraph и Graphite, обеспечивая надежную визуализацию вашей сети. Кроме того, Icinga имеет расширенные возможности отчетности.

NeDi

Если вам когда-либо приходилось для поиска устройств в вашей сети подключаться через протокол Telnet к коммутаторам и выполнять поиск по MAC-адресу, или вы просто хотите, чтобы у вас была возможность определить физическое местоположение определенного оборудования (или, что, возможно, еще более важно, где оно было расположено ранее), тогда вам будет интересно взглянуть на NeDi.

NeDi постоянно просматривает сетевую инфраструктуру и каталогизирует устройства, отслеживая все, что обнаружит.

NeDi — это бесплатное программное обеспечение, относящее к LAMP, которое регулярно просматривает MAC-адреса и таблицы ARP в коммутаторах вашей сети, каталогизируя каждое обнаруженное устройство в локальной базе данных. Данный проект не является столь хорошо известным, как некоторые другие, но он может стать очень удобным инструментом при работе с корпоративными сетями, где устройства постоянно меняются и перемещаются.

Вы можете через веб-интерфейс NeDi задать поиск для определения коммутатора, порта коммутатора, точки доступа или любого другого устройства по MAC-адресу, IP-адресу или DNS-имени. NeDi собирает всю информацию, которую только может, с каждого сетевого устройства, с которым сталкивается, вытягивая с них серийные номера, версии прошивки и программного обеспечения, текущие временные параметры, конфигурации модулей и т. д. Вы даже можете использовать NeDi для отмечания MAC-адресов устройств, которые были потеряны или украдены. Если они снова появятся в сети, NeDi сообщит вам об этом.

Обнаружение запускается процессом cron с заданными интервалами. Конфигурация простая, с единственным конфигурационным файлом, который позволяет значительно повысить количество настроек, в том числе возможность пропускать устройства на основе регулярных выражений или заданных границ сети. NeDi, обычно, использует протоколы Cisco Discovery Protocol или Link Layer Discovery Protocol для обнаружения новых коммутаторов и маршрутизаторов, а затем подключается к ним для сбора их информации. Как только начальная конфигурация будет установлена, обнаружение устройств будет происходить довольно быстро.

До определенного уровня NeDi может интегрироваться с Cacti, поэтому существует возможность связать обнаружение устройств с соответствующими графиками Cacti.

Ntop

Проект Ntop — сейчас для «нового поколения» более известный как Ntopng — прошел долгий путь развития за последнее десятилетие. Но назовите его как хотите — Ntop или Ntopng, — в результате вы получите первоклассный инструмент для мониторинга сетевого траффика в паре с быстрым и простым веб-интерфейсом. Он написан на C и полностью самодостаточный. Вы запускаете один процесс, настроенный на определенный сетевой интерфейс, и это все, что ему нужно.

Ntop — это инструмент для анализа пакетов с легким веб-интерфейсом, который показывает данные в реальном времени о сетевом трафике. Информация о потоке данных через хост и о соединении с хостом также доступны в режиме реального времени.

Ntop предоставляет легко усваиваемые графики и таблицы, показывающие текущий и прошлый сетевой трафик, включая протокол, источник, назначение и историю конкретных транзакций, а также хосты с обоих концов. Кроме того, вы найдете впечатляющий набор графиков, диаграмм и карт использования сети в реальном времени, а также модульную архитектуру для огромного количества надстроек, таких как добавление мониторов NetFlow и sFlow. Здесь вы даже сможете обнаружить Nbox — аппаратный монитор, который встраивает в Ntop.

Кроме того, Ntop включает API-интерфейс для скриптового языка программирования Lua, который может быть использован для поддержки расширений. Ntop также может хранить данные хоста в файлах RRD для осуществления постоянного сбора данных.

Одним из самых полезных применений Ntopng является контроль трафика в конкретном месте. К примеру, когда на вашей карте сети часть сетевых каналов подсвечены красным, но вы не знаете почему, вы можете с помощью Ntopng получить поминутный отчет о проблемном сегменте сети и сразу узнать, какие хосты ответственны за проблему.

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

Zabbix

Zabbix — это полномасштабный инструмент для сетевого и системного мониторинга сети, который объединяет несколько функций в одной веб-консоли. Он может быть сконфигурирован для мониторинга и сбора данных с самых разных серверов и сетевых устройств, обеспечивая обслуживание и мониторинг производительности каждого объекта.

Zabbix позволяет производить мониторинг серверов и сетей с помощью широкого набора инструментов, включая мониторинг гипервизоров виртуализации и стеков веб-приложений.

В основном, Zabbix работает с программными агентами, запущенными на контролируемых системах. Но это решение также может работать и без агентов, используя протокол SNMP или другие возможности для осуществления мониторинга. Zabbix поддерживает VMware и другие гипервизоры виртуализации, предоставляя подробные данные о производительности гипервизора и его активности. Особое внимание также уделяется мониторингу серверов приложений Java, веб-сервисов и баз данных.

Хосты могут добавляться вручную или через процесс автоматического обнаружения. Широкий набор шаблонов по умолчанию применяется к наиболее распространенным вариантам использования, таким как Linux, FreeBSD и Windows-сервера; широко-используемые службы, такие как SMTP и HTTP, а также ICMP и IPMI для подробного мониторинга аппаратной части сети. Кроме того, пользовательские проверки, написанные на Perl, Python или почти на любом другом языке, могут быть интегрированы в Zabbix.

Zabbix позволяет настраивать панели мониторинга и веб-интерфейс, чтобы сфокусировать внимание на наиболее важных компонентах сети. Уведомления и эскалации проблем могут основываться на настраиваемых действиях, которые применяются к хостам или группам хостов. Действия могут даже настраиваться для запуска удаленных команд, поэтому некий ваш сценарий может запускаться на контролируемом хосте, если наблюдаются определенные критерии событий.

Программа отображает в виде графиков данные о производительности, такие как пропускная способность сети и загрузка процессора, а также собирает их для настраиваемых систем отображения. Кроме того, Zabbix поддерживает настраиваемые карты, экраны и даже слайд-шоу, отображающие текущий статус контролируемых устройств.

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

Observium

Observium — это программа для мониторинга сетевого оборудования и серверов, которое имеет огромный список поддерживаемых устройств, использующих протокол SNMP. Как программное обеспечение, относящееся к LAMP, Observium относительно легко устанавливается и настраивается, требуя обычных установок Apache, PHP и MySQL, создания базы данных, конфигурации Apache и тому подобного. Он устанавливается как собственный сервер с выделенным URL-адресом.

Observium сочетает в себе мониторинг систем и сетей с анализом тенденций производительности. Он может быть настроен для отслеживания практически любых показателей.

Вы можете войти в графический интерфейс и начать добавлять хосты и сети, а также задать диапазоны для автоматического обнаружения и данные SNMP, чтобы Observium мог исследовать окружающие его сети и собирать данные по каждой обнаруженной системе. Observium также может обнаруживать сетевые устройства через протоколы CDP, LLDP или FDP, а удаленные агенты хоста могут быть развернуты на Linux-системах, чтобы помочь в сборе данных.

Все эта собранная информация доступна через легкий в использовании пользовательский интерфейс, который предоставляет продвинутые возможности для статистического отображения данных, а также в виде диаграмм и графиков. Вы можете получить что угодно: от времени отклика ping и SNMP до графиков пропускной способности, фрагментации, количества IP-пакетов и т. д. В зависимости от устройства, эти данные могут быть доступны вплоть для каждого обнаруженного порта.

Что касается серверов, то для них Observium может отобразить информацию о состоянии центрального процессора, оперативной памяти, хранилища данных, свопа, температуры и т. д. из журнала событий. Вы также можете включить сбор данных и графическое отображение производительности для различных сервисов, включая Apache, MySQL, BIND, Memcached, Postfix и другие.

Observium отлично работает как виртуальная машина, поэтому может быстро стать основным инструментом для получения информации о состоянии серверов и сетей. Это отличный способ добавить автоматическое обнаружение и графическое представление в сеть любого размера.

Мониторинг сети своими руками

Слишком часто ИТ-администраторы считают, что они ограничены в своих возможностях. Независимо от того, имеем ли мы дело с пользовательским программным приложением или «неподдерживаемой» частью аппаратного обеспечения, многие из нас считают, что если система мониторинга не сможет сразу же справиться с ним, то получить в этой ситуации необходимые данные невозможно. Это, конечно же, не так. Приложив немного усилий, вы сможете почти все сделать более видимым, учтенным и контролируемым.

В качестве примера можно привести пользовательское приложение с базой данных на серверной части, например, интернет-магазин. Ваш менеджмент хочет увидеть красивые графики и диаграммы, оформленные то в одном виде, то в другом. Если вы уже используете, скажем, Cacti, у вас есть несколько возможностей вывести собранные данные в требуемом формате. Вы можете, к примеру, написать простой скрипт на Perl или PHP для запуска запросов в базе данных и передачи этих расчетов в Cacti либо же использовать SNMP-вызов к серверу базы данных, используя частный MIB (Management Information Base, база управляющей информации). Так или иначе, но задача может быть выполнена, и выполнена легко, если у вас есть необходимый для этого инструментарий.

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

Независимо от того, какую из этих вышеперечисленных систем вы используете, чтобы следить за своей инфраструктурой и оборудованием, она предоставит вам как минимум функциональные возможности еще одного системного администратора. Она хоть не может ничего исправить, но будет следить буквально за всем в вашей сети круглые сутки и семь дней в неделю. Предварительно потраченное время на установку и настройку окупятся с лихвой. Кроме того, обязательно запустите небольшой набор автономных средств мониторинга на другом сервере, чтобы наблюдать за основным средством мониторинга. Это то случай, когда всегда лучше следить за наблюдателем.

 

Появились вопросы или нужна консультация? Обращайтесь!

Вечный параноик, Антон Кочуков.

См. также:

Изменение настроек сети в Ubuntu

Просмотр текущих настроек

Чтобы посмотреть текущие параметры сети через Терминал, можно использовать следующую команду:

ifconfig -a

Она выводит все сетевые интерфейсы (активные и неактивные), доступные на компьютере, и их параметры. Вы увидите примерно такой результат:

eth0      Link encap:Ethernet  HWaddr 08:00:27:55:16:78 
          inet6 addr: fe80::a00:27ff:fe55:1678/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:92781 errors:0 dropped:11141 overruns:0 frame:0
          TX packets:13852 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:24520116 (24.5 MB)  TX bytes:2543425 (2.5 MB)
 

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4433 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4433 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:453972 (453.9 KB)  TX bytes:453972 (453.9 KB)

eth0 – Ethernet-адаптер, где 0 – это его номер.

lo – интерфейс локальной петли, который служит для подключения по сети к этому же компьютеру (127.0.0.1), он не требует дополнительной настройки.

Чтобы отобразить настройки какого-то конкретного интерфейса, используйте команду ifconfig eth0, где eth0 — это имя интерфейса.

Команда ifconfig также позволяет изменить настройки сети, но изменения, сделанные таким образом, сбросятся при перезагрузке компьютера, поэтому их можно использовать для временной настройки сети в целях проверки. Например, можно использовать следующую команду, чтобы указать основной IP-адрес и маску сети для интерфейса eth0:

sudo ifconfig eth0 192.168.3.202 netmask 255.255.248.0 up
Изменение настроек

Чтобы сделать настройки постоянными, необходимо изменить файл конфигурации сетевых интерфейсов, находящийся здесь: /etc/network/interfaces

Откройте его в текстовом редакторе:

sudo nano /etc/network/interfaces

В настоящий момент ваш сетевой интерфейс настроен на использование DHCP, когда сетевые адреса автоматически присваиваются сервером DHCP. Вы можете видеть следующие настройки для динамического IP-адреса:

auto eth0
iface eth0 inet dhcp

Чтобы присвоить сетевому интерфейсу статический IP-адрес, замените значение ‘dhcp’ на ‘static’ и добавьте другие параметры, чтобы конфигурация выглядела следующим образом:

auto eth0
iface eth0 inet static
address 192.168.3.202
netmask 255.255.248.0
gateway 192.168.3.1
dns-nameservers 192.168.3.3 192.168.3.4

где:

  • auto eth0 — указывает, что сетевой интерфейс eth0 должен запускаться при загрузке системы
  • iface eth0 inet static — указывает, что для сетевого интерфейса eth0 используется статический IP-адрес
  • address — указывает IP-адрес, присвоенный сетевому интерфейсу
  • netmask — указывает, какая часть IP-адреса соответствует адресу локальной сети, а какая часть соответствует адресу машины
  • gateway — указывает IP-адрес устройства, которое перенаправляет трафик из локальной сети во все остальные удаленные сети
  • dns-nameservers — указывает IP-адреса DNS-серверов, к которым должен обращаться компьютер (несколько адресов указываются через пробел)

Сохраните изменения (для nano используйте Ctrl+X → Y → Enter).

После сохранения файла конфигурации надо перезапустить сетевой интерфейс с помощью следующей команды:

sudo ifdown eth0 && sudo ifup eth0

Чтобы проверить, может ли компьютер подключиться к сети, попробуйте получить доступ к IP-адресу компьютера в локальной сети, или IP-адресу/имени хоста удаленного компьютера с помощью команды ping:

ping 192.168.3.51

Сетевая загрузка с Linux — PXE

Эта статья в некоторой степени связана с нашей предыдущей тем, что затрагивает тему загрузки и установки Linux с использованием сети, локальной или нет. На этот раз мы рассмотрим установку Linux без оптического, дискетного или другого съемного носителя, просто используя локальную сеть. Ожидается, что в вашей сети будет как минимум два компьютера, а клиенту потребуется сетевая карта и BIOS, способные использовать PXE. Мы проведем вас от начала до конца, но требуются некоторые базовые знания о сети и конфигурации Linux, а также использование редактора по вашему выбору.Вы узнаете, что такое PXE, как настроить DHCP-сервер, как настроить TFTP-сервер, чтобы клиент мог иметь доступ к файлам, а также много интересного, как обычно.

PXE

PXE (произносится как «пикси») означает Preboot eXecution Environment и был представлен Intel и Systemsoft в 1999 году. Короче говоря, это возможность большинства современных сетевых карт и BIOS, которая позволяет системе загружаться из локальной сети, просто как если бы он загружался с жесткого диска или CD-ROM. Поддержка PXE должна присутствовать в прошивке сетевой карты, которая, если она настроена соответствующим образом в BIOS, получит IP-адрес от PXE-сервера и загрузит необходимые загрузочные образы.Чтобы IP-адрес был доступен, сервер должен предлагать DHCP. После аренды IP-адреса TFTP-сервер (который может быть тем же самым устройством, что и DHCP-сервер) передает необходимые файлы клиенту, чтобы он мог их загрузить после загрузки. В этом вся идея, так что хватит разговоров, приступим к работе, ладно?

Прежде чем мы начнем, важно понять, как устроена сеть, на которой мы это тестировали. Сервер представляет собой машину Debian с двумя сетевыми картами, и дистрибутив, который мы установим, также является Debian, а именно Squeeze, amd64.Вы можете использовать любой другой дистрибутив, но, вероятно, расположение некоторых конфигурационных файлов будет отличаться. В этой статье не рассматривается, как настроить источники программного обеспечения для фактической установки. Мы приведем вас только к работающему установщику debian, и на этом все. Вы найдете множество руководств о том, как настроить локальный репозиторий Debian или как настроить шлюз в Linux.

Итак, контрольный список: нам понадобится DHCP-сервер, TFTP-сервер, а также initrd и образ ядра для передачи клиенту.В нашей настройке мы выбрали довольно необычный подход, и вы поймете, почему.

Внешний мир ------> Маршрутизатор ------> Коммутатор ------> (eth0) Сервер (eth2) ------> Клиент
 

Итак, маршрутизатор выдает адреса DHCP (маленький домашний маршрутизатор) в виде 192.168.0.x. Сервер, который также будет раздавать адреса DHCP, имеет внешнее соединение через eth0 и внутреннее соединение для клиента через eth2. У клиента есть единственное Ethernet-соединение непосредственно с PXE-сервером, но это не означает, что вы не можете настроить сервер в качестве шлюза для netinstall или добавить еще одну сетевую карту к клиенту для внешнего доступа.Возможностей много, важная проблема — загрузка через PXE. Начнем с установки TFTP-сервера.


Ищем системного аналитика Linux!

Геофизический институт UAF ищет опытного системного аналитика Linux, который присоединится к их команде аналитиков и инженеров исследовательской кибер-инфраструктуры. РАСПОЛОЖЕНИЕ: Фэрбенкс, Аляска, США
ПОДАТЬ ЗАЯВКУ



TFTP

TFTP — это простой протокол передачи файлов, и это де-факто «язык», когда речь идет о передаче файлов для использования с PXE. В Debian мы устанавливаем его так:

 # aptitude install tftpd-hpa
 

Теперь мы должны правильно его настроить. Прежде всего, в нашем примере мы будем запускать tftpd в автономном режиме, что означает, что мы не собираемся использовать xinetd. Конфигурация будет другой, если вы планируете использовать xinetd, и мы не рекомендуем это делать. Теперь все, что нам нужно сделать, это отредактировать / etc / default / tftpd-hpa:

 # убедиться, что эти строки присутствуют
RUN_DAEMON = да
TFTP_OPTIONS = "- l -s / var / lib / tftpboot"
 

Убедимся, что указанный выше каталог существует, и запустим демон:

 # mkdir -p / var / lib / tftpboot
 # / etc / init.d / tftpboot-hpa start
 

DHCP

Мы должны предложить клиенту адрес, прежде чем мы начнем установку по сети, и это делается с помощью протокола динамической конфигурации хоста. DHCP-сервер имеет пул и адресов, с которых он предлагает IP-адреса по запросу. Устанавливается серверная часть с

 # aptitude install dhcp3-server
 

Файл конфигурации находится в /etc/dhcp/dhcpd.conf (может быть / etc / dhcp3 в более старых версиях Debian) и представляет собой файл с очень хорошими комментариями.Прежде чем мы покажем вам, как выглядит наш файл, можно сделать небольшое резюме: eth0 — внешний мир через коммутируемую сеть (192.168.0.x) и eth2 — прямая ссылка на клиент (192.168.1.x).

 ddns-update-style нет;
# Запомните точки с запятой в конце каждой строки!
DHCPDARGS = eth2;
время аренды по умолчанию 86400;
max-lease-time 604800;
авторитетный;

подсеть 192.168.1.0 сетевая маска 255.255.255.0 {
        диапазон 192.168.1.10 192.168.1.30;
        имя файла "pxelinux.0 ";
        опция маска подсети 255.255.255.0;
}
# В этом файле больше, чем мы показали, но того, что у вас есть, достаточно для PXE.

 

Теперь мы должны установить сетевую информацию eth2, которая находится в / etc / network / interfaces:

 allow-hotplug eth2
iface eth2 inet static
адрес 192. 168.1.2
маска сети 255.255.255.0
 

Перезагрузите сеть, и мы почти закончили:

 # ifdown eth2
 # ifup eth2
 

Настройка PXE

Теперь мы должны настроить файл, который будет запрашивать клиент, файл, в котором мы расскажем, как найти то, что ему нужно.Итак, создадим каталог pxelinux.cfg:

 # mkdir /var/lib/tftpboot/pxelinux.cfg
 

и создайте файл с именем default, который будет иметь следующее содержимое:

 DISPLAY boot.txt

ПО УМОЛЧАНИЮ squeeze_amd64_install

МЕТКА squeeze_amd64_install
        ядро debian / squeeze / amd64 / linux
        добавить vga = normal initrd = debian / squeeze / amd64 / initrd.gz -

ПОДСКАЗКА 1
ТАЙМ-АУТ 0
 

Вы видите ссылку на boot.txt, поэтому создайте его в / var / lib / tftpboot и добавьте в него строку «squeeze_amd64_install».

Теперь, чтобы скопировать необходимые файлы куда-нибудь, чтобы их мог найти клиент:

 # cd / var / lib / tftpboot
 # wget http: //ftp.heanet.ie/pub/ftp.debian.org/debian/dists/squeeze/main/ \
установщик-amd64 / 20110106 + squeeze3 / images / netboot / debian-installer / amd64 / pxelinux.0
 # mkdir -p debian / squeeze / amd64 /
 # cd debian / squeeze / amd64 /
 # wget http://ftp.heanet.ie/pub/ftp.debian.org / debian / dists / squeeze / main / \
установщик-amd64 / 20110106 + squeeze3 / images / netboot / debian-installer / amd64 / linux
 # wget http: //ftp.heanet.ie/pub/ftp.debian.org/debian/dists/squeeze/main/ \
установщик-amd64 / 20110106 + squeeze3 / images / netboot / debian-installer / amd64 / initrd.gz
 

Теперь, надеясь, что все в порядке, вы можете просто загрузить свой клиент и изменить его настройки BIOS для сетевой загрузки. Прежде чем мы закончим, мы должны объяснить вам эту настройку сети, которую мы выбрали. Мы, вероятно, могли бы упростить это, например, использовать соединение нашего интернет-провайдера напрямую, а также получить доступ к сети (Интернету).Идея состоит в том, что PXE-сервер в нашем сценарии не может получить свой IP-адрес (eth0) от DHCP, поскольку эта настройка не будет работать: если вы не собираетесь использовать сценарий с двумя сетевыми адаптерами на сервере, как мы , вам нужен какой-то фиксированный IP-адрес. Итак, возможны следующие варианты: Интернет-провайдер подключен напрямую, настроить маршрутизатор на выдачу только статических IP-адресов, сделать сервер PXE / DHCP / TFTP также шлюзом или создать локальный репозиторий. Мы выбрали второй вариант, потому что он лучше всего соответствует нашей топологии и целям и на самом деле требует только настройки веб-сервера в локальной сети.Если бы мы объяснили все ваши варианты, включая iptables для шлюза или apache для HTTP-сервера, эта статья была бы огромной. Вместо этого мы предпочли придерживаться названия и дать вам именно это: загрузка по сети с Linux.

Помните, что это всего лишь пример: как и в случае с NetbootCD, вы можете добавить столько дистрибутивов, сколько захотите, при условии, что у вас есть необходимое пространство на сервере.

Прежде всего, мы рекомендуем набраться терпения. Известно, что PXE работает довольно медленно, независимо от того, какой гигабитный коммутатор вы купили на прошлой неделе.Во-вторых, прочтите комментарии и примеры в dhcpd.conf, поскольку они будут полезны сейчас и позже.

Настройка «сетевого загрузочного сервера PXE» для установки нескольких дистрибутивов Linux в RHEL / CentOS 7

PXE Server — Preboot eXecution Environment — инструктирует клиентский компьютер для загрузки, запуска или установки операционной системы непосредственно из сетевого интерфейса, устраняя необходимость записи CD / DVD или использования физического носителя, или может облегчить работу установки дистрибутивов Linux в вашей сетевой инфраструктуре на нескольких машинах одновременно.

Настройка сетевой загрузки PXE в RHEL / CentOS 7

Требования
  1. Минимальная процедура установки CentOS 7
  2. Минимальная процедура установки RHEL 7
  3. Настроить статический IP-адрес в RHEL / CentOS 7
  4. Удаление нежелательных служб в RHEL / CentOS 7
  5. Установите сервер NTP для установки правильного системного времени в RHEL / CentOS 7

В этой статье объясняется, как установить и настроить PXE Server на RHEL / CentOS 7 x64-bit с зеркальными локальными репозиториями установки, исходные коды предоставлены CentOS 7 DVD ISO-образом, с помощью DNSMASQ Сервер.

, который предоставляет службы DNS и DHCP , пакет Syslinux , который предоставляет загрузчики для загрузки по сети, TFTP-сервер , который делает загрузочные образы доступными для загрузки по сети с использованием протокола Trivial File Transfer Protocol (TFTP) и VSFTPD Server, на котором будет размещен локальный смонтированный зеркальный образ DVD, который будет действовать как официальный репозиторий зеркальной установки RHEL / CentOS 7, из которого установщик извлечет необходимые пакеты.

Шаг 1. Установите и настройте DNSMASQ Server

1. Нет необходимости напоминать вам, что абсолютно не требуется, чтобы один из интерфейсов вашей сетевой карты, в случае если ваш сервер представляет больше сетевых адаптеров, должен быть настроен со статическим IP-адресом из того же диапазона IP-адресов, который принадлежит сегменту сети, который предоставит услуги PXE.

Итак, после того, как вы настроили свой статический IP-адрес, обновили свою систему и выполнили другие начальные настройки, используйте следующую команду для установки демона DNSMASQ .

 # yum install dnsmasq
 

Установите пакет dnsmasq

2. Основной файл конфигурации по умолчанию DNSMASQ, расположенный в каталоге / etc. , не требует пояснений, но его довольно сложно редактировать, следуйте его хорошо комментированным объяснениям.

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

 # мв / etc / dnsmasq.conf /etc/dnsmasq.conf.backup
# nano /etc/dnsmasq.conf
 

3. Теперь скопируйте и вставьте следующие конфигурации в файл dnsmasq.conf и убедитесь, что вы изменили поясненные ниже операторы, чтобы они соответствовали настройкам вашей сети.

 интерфейс = eno16777736, lo
# bind-interfaces
domain = centos7.lan
# Аренда диапазона DHCP
dhcp-range = eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h
# PXE
dhcp-boot = pxelinux.0, pxeserver, 192.168.1.20
# Шлюз
dhcp-option = 3,192.168.1.1
# DNS
dhcp-option = 6,92.168.1.1, 8.8.8.8
сервер = 8.8.4.4
# Адрес трансляции
dhcp-option = 28,10.0.0.255
# NTP-сервер
dhcp-option = 42,0.0.0.0

pxe-prompt = "Нажмите F8 для перехода в меню.", 60
pxe-service = x86PC, «Установить CentOS 7 с сетевого сервера 192.168.1.20», pxelinux
enable-tftp
tftp-root = / вар / библиотека / tftpboot
 

Dnsmasq Configuration

Необходимо изменить следующие операторы:

  1. интерфейс — Интерфейсы, которые сервер должен прослушивать и предоставлять услуги.
  2. bind-interfaces — раскомментируйте, чтобы привязать только к этому интерфейсу.
  3. домен — Замените его на свое доменное имя.
  4. dhcp-range — Замените его диапазоном IP-адресов, определенным вашей сетевой маской в ​​этом сегменте.
  5. dhcp-boot — Замените оператор IP на IP-адрес вашего интерфейса.
  6. dhcp-option = 3 , 192.168.1.1 — замените IP-адрес на шлюз сегмента сети.
  7. dhcp-option = 6 , 92.168.1.1 — Замените IP-адрес IP-адресом вашего DNS-сервера — можно определить несколько IP-адресов DNS.
  8. server = 8.8.4.4 — укажите IP-адреса ваших серверов пересылки DNS.
  9. dhcp-option = 28 , 10.0.0.255 — Заменить IP-адрес на сетевой широковещательный адрес — необязательно.
  10. dhcp-option = 42 , 0.0.0.0 — Поместите свои сетевые серверы времени — опционально (адрес 0.0.0.0 для самостоятельной ссылки).
  11. pxe-prompt — Оставить по умолчанию — означает нажать клавишу F8 для входа в меню 60 с временем ожидания в секундах..
  12. pxe = service — Используйте x86PC для 32-разрядных / 64-разрядных архитектур и введите запрос описания меню в строковых кавычках. Другие типы значений могут быть: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI и X86-64_EFI.
  13. enable-tftp — включает встроенный TFTP-сервер.
  14. tftp-root — Используйте / var / lib / tftpboot — расположение всех файлов сетевой загрузки.

Чтобы узнать о других расширенных параметрах, касающихся файла конфигурации, прочтите руководство dnsmasq.

Шаг 2. Установите загрузчики SYSLINUX

4. После того, как вы отредактировали и сохранили основной файл конфигурации DNSMASQ , продолжайте и установите пакет загрузчика Syslinx PXE, введя следующую команду.

 # yum install syslinux
 

Установите загрузчики Syslinux

5. Файлы загрузчиков PXE находятся в абсолютном системном пути / usr / share / syslinux , поэтому вы можете проверить его, указав содержимое этого пути.Этот шаг не является обязательным, но вам может потребоваться знать об этом пути, потому что на следующем шаге мы скопируем все его содержимое в путь TFTP Server .

 # лс / USR / доля / syslinux
 

Файлы Syslinux

Шаг 3. Установите TFTP-сервер и заполните его загрузчиками SYSLINUX

6. Теперь перейдем к следующему шагу и установим TFTP-Server , а затем скопируем все файлы загрузчиков, предоставленные пакетом Syslinux, из указанного выше местоположения в путь / var / lib / tftpboot , выполнив следующую команду команды.

 # yum install tftp-server
# cp -r / usr / share / syslinux / * / var / lib / tftpboot
 

Установка сервера TFTP

Шаг 4. Настройка файла конфигурации сервера PXE

7. Обычно PXE Server считывает свою конфигурацию из группы определенных файлов (файлы GUID — сначала, файлы MAC — затем, файл по умолчанию — последний), размещенных в папке с именем pxelinux. cfg , который должен находиться в каталоге, указанном в инструкции tftp-root из основного файла конфигурации DNSMASQ. 1) Установите CentOS 7 x64 с локальным репо
ядро centos7 / vmlinuz
добавьте initrd = centos7 / initrd.4) Загрузка с локального диска

Настройте PXE Server

Как видите, загрузочные образы CentOS 7 (ядро и initrd) находятся в каталоге с именем centos7 относительно / var / lib / tftpboot (для абсолютного системного пути это будет означать / var / lib / tftpboot / centos7 ), а к репозиториям установщика можно получить доступ, используя протокол FTP в сетевом местоположении 192.168.1.20/pub — в этом случае репозитории размещаются локально, поскольку IP-адрес совпадает с адресом PXE-сервера) .

Также в меню метка 3 указывает, что установка клиента должна выполняться из удаленного места через VNC (здесь замените пароль VNC надежным паролем) в случае, если вы выполняете установку на безголовом клиенте, а метка меню 2 указывает как Установка
является источником официального Интернет-зеркала CentOS 7 (в этом случае требуется подключение к Интернету, доступное на клиенте через DHCP и NAT).

Важно : Как вы видите в приведенной выше конфигурации, мы использовали CentOS 7 для демонстрационных целей, но вы также можете определить образы RHEL 7, и следующие инструкции и конфигурации основаны только на CentOS 7, поэтому будьте осторожны при выборе распределение.

Шаг 5. Добавьте образы загрузки CentOS 7 на PXE-сервер

9. Для этого шага требуется ядро ​​CentOS и файлы initrd. Чтобы получить эти файлы, вам понадобится CentOS 7 DVD ISO Image. Итак, загрузите образ CentOS DVD Image, вставьте его в DVD-привод и подключите образ к системному пути / mnt , выполнив следующую команду.

Причина использования DVD, а не минимального образа компакт-диска заключается в том, что позже это содержимое DVD будет использоваться для создания локальных репозиториев установщика
для источников FTP .

 # монтировать -o цикл / dev / cdrom / mnt
# ls / mnt
 

Смонтируйте CentOS DVD

Если на вашем компьютере нет DVD-привода, вы также можете загрузить CentOS 7 DVD ISO локально с помощью утилит wget или curl с зеркала CentOS и смонтировать его.

 # wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
# монтировать -o цикл /path/to/centos-dvd.iso / mnt
 

10. После того, как содержимое DVD станет доступным, создайте каталог centos7 и скопируйте загрузочное ядро ​​CentOS 7 и образы initrd с смонтированного DVD-диска в структуру папок centos7.

 # mkdir / var / lib / tftpboot / centos7
# cp / mnt / images / pxeboot / vmlinuz / var / lib / tftpboot / centos7
# cp /mnt/images/pxeboot/initrd.img / var / lib / tftpboot / centos7
 

Копирование загрузочных файлов CentOS

Причина использования этого подхода заключается в том, что позже вы можете создавать новые отдельные каталоги по пути / var / lib / tftpboot и добавлять другие дистрибутивы Linux в меню PXE без нарушения всей структуры каталогов.

Шаг 6. Создание источника установки локального зеркала CentOS 7

11. Хотя вы можете настроить зеркала источника установки с помощью различных протоколов, таких как HTTP, HTTPS или NFS, для этого руководства я выбрал протокол FTP , потому что он очень надежен и прост в настройке с помощью сервера vsftpd .

Далее установите демон vsftpd, скопируйте все подключенное содержимое DVD в vsftpd , путь к серверу по умолчанию ( / var / ftp / pub ) — это может занять некоторое время, в зависимости от ресурсов вашей системы, и добавьте к этому пути права на чтение, выполнив следующую команду команды.

 # yum install vsftpd
# cp -r / mnt / * / var / ftp / pub /
# chmod -R 755 / var / ftp / pub
 

Установите сервер Vsftpd. Скопируйте файлы на FTP-путь. Установите разрешения на FTP-путь

. Шаг 7. Запустите и включите демоны для всей системы.

.

12. Теперь, когда настройка PXE-сервера, наконец, завершена, запустите серверы DNSMASQ и VSFTPD , проверьте их состояние и включите его в масштабе всей системы для автоматического запуска после каждой перезагрузки системы, выполнив следующие команды.

 # systemctl start dnsmasq
# systemctl status dnsmasq
# systemctl start vsftpd
# systemctl status vsftpd
# systemctl включить dnsmasq
# systemctl включить vsftpd
 

Запустите Dnsmasq ServiceStart Vsftpd Service

Шаг 8: Откройте брандмауэр и проверьте источник установки FTP

13. Чтобы получить список всех портов, которые должны быть открыты на вашем брандмауэре, чтобы клиентские машины могли подключаться к серверу PXE и ​​загружаться с него, запустите команду netstat и добавьте правила CentOS 7 Firewalld в соответствии с dnsmasq и vsftpd прослушиванием. порты.

 # netstat -tulpn
# firewall-cmd --add-service = ftp --permanent ## Порт 21
# firewall-cmd --add-service = dns --permanent ## Порт 53
# firewall-cmd --add-service = dhcp --permanent ## Порт 67
# firewall-cmd --add-port = 69 / udp --permanent ## Порт для TFTP
# firewall-cmd --add-port = 4011 / udp --permanent ## Порт для ProxyDHCP
# firewall-cmd --reload ## Применить правила
 

Проверьте порты прослушивания Откройте порты в брандмауэре

14. Чтобы проверить установку FTP Исходный сетевой путь откройте браузер локально (lynx должен это сделать) или на другом компьютере и введите IP-адрес вашего PXE-сервера с протоколом FTP
, за которым следует / pub сетевое расположение по URL-адресу, и результат должен быть таким, как показано на снимке экрана ниже.

 ftp://192.168.1.20/pub
 

Доступ к файлам FTP через браузер

15. Для отладки сервера PXE на предмет возможных неправильных настроек или другой информации и диагностики в режиме реального времени выполните следующую команду.

 # tailf / var / log / messages
 

Проверьте журналы PXE на наличие ошибок

16. Наконец, последний необходимый шаг, который вам нужно сделать, — это размонтировать CentOS 7 DVD и удалить физический носитель.

 # umount / mnt
 

Шаг 9.

Настройте клиентов для загрузки из сети

17. Теперь ваши клиенты могут загружать и устанавливать CentOS 7 на свои машины, настроив сетевую загрузку в качестве основного загрузочного устройства из BIOS своей системы или нажав указанную клавишу во время операций BIOS POST , как указано в руководстве к материнской плате.

Для выбора загрузки по сети. После появления первого приглашения PXE нажмите клавишу F8 , чтобы войти в презентацию, а затем нажмите клавишу Enter , чтобы перейти к меню PXE.

Сетевая загрузка PXE Сетевая загрузка ОС PXE

18. Как только вы дойдете до меню PXE, выберите тип установки CentOS 7, нажмите Введите ключ и продолжите процедуру установки так же, как вы могли бы установить ее с локального загрузочного устройства.

Обратите внимание, что для использования варианта 2 из этого меню требуется активное подключение к Интернету на целевом клиенте. Также на скриншотах ниже
вы можете увидеть пример удаленной установки клиента через VNC.

PXE Menu Удаленная установка Linux через VNCRemote Установка CentOS

Вот и все, чтобы настроить минимальный PXE Server на CentOS 7 .В следующей статье из этой серии я расскажу о других вопросах, касающихся этой конфигурации PXE-сервера, например, о том, как настроить автоматические установки CentOS 7 с использованием файлов Kickstart и добавить другие дистрибутивы Linux в меню PXE — Ubuntu Server и Debian 7 .

Проект документации Linux

Информация о LDP

FAQ

Манифест / лицензия

История

Волонтеры / сотрудники

Должностные инструкции

Списки рассылки

IRC

Обратная связь

Автор / внесите свой вклад

Руководство для авторов LDP

Помогите / помогите

Ресурсы

Как отправить

Репозиторий GIT

Загрузок

Контакты

Спонсор сайта LDP
Мастерская

LDP Wiki : LDP Wiki — это отправная точка для любой незавершенной работы
Члены |
Авторы |
Посетители
Документы


HOWTO
:
тематическая справка
последние обновления |
основной индекс |
просматривать по категориям


Руководства
:
более длинные и подробные книги
последние обновления / основной указатель


Часто задаваемые вопросы
:
Часто задаваемые вопросы
последние обновления / основной указатель


страницы руководства
:
справка по отдельным командам (20060810)

Бюллетень Linux
:
Интернет-журнал
Поиск / Ресурсы

Ссылки

Поиск OMF

Объявления / Разное

Обновления документов
Ссылка на HOWTO, которые были недавно обновлены.

Настройка сервера сетевой загрузки PXE в Ubuntu 18.04 LTS — Linux Hint

PXE — это протокол, используемый для загрузки операционных систем по сети. Вы можете использовать этот метод для установки вашего любимого дистрибутива Linux на свой ноутбук, настольный компьютер или сервер через PXE по сети.

В этой статье я покажу вам, как настроить сервер загрузки PXE в Ubuntu 18.04 LTS, загрузить установщик Ubuntu 18.04 LTS Desktop Live и установить его на компьютер по сети.Итак, приступим.

Здесь я настрою сервер загрузки PXE в сети. Загрузочный сервер также будет работать как DHCP-сервер. Затем я загружу ОС Linux Live (рабочий стол Ubuntu 18.04 LTS) на PXE-клиенте и установлю там рабочий стол Ubuntu 18.04 LTS по сети.

Настройка сети:

Я настроил загрузочный сервер PXE с фиксированным IP-адресом 192.168.50.1 с помощью netplan. Я настроил сетевой план следующим образом:

$ sudo nano / etc / netplan / 50-cloud-init.yaml

Как видите, фиксированный IP-адрес 192.168.50.1 настроен на интерфейсе ens38.

Установка и настройка dnsmasq:

В этой статье dnsmasq будет действовать как DHCP-сервер и TFTP-сервер в сети.

dnsmasq по умолчанию не установлен в Ubuntu 18.04. Итак, установите dnsmasq с помощью следующей команды:

$ sudo apt update && sudo apt install -y dnsmasq

Должен быть установлен

dnsmasq.

Теперь переименуйте исходный файл /etc/dnsmasq.conf в /etc/dnsmasq.conf.backup следующим образом:

$ sudo mv -v /etc/dnsmasq.conf /etc/dnsmasq.conf.backup

Теперь создайте пустой файл dnsmasq.conf с помощью следующей команды:

$ sudo nano /etc/dnsmasq.conf

Теперь введите следующие строки:

interface = ens38
bind-interfaces
domain = linuxhint. local

dhcp-range = ens38,192.168.50.100,192.168.50.240,255.255.255.0,8h
dhcp-option = option: router, 192.168.50.1
dhcp-option = option: dns-server, 192.168.50.1
dhcp -option = option: dns-server, 8.8.8.8

enable-tftp
tftp-root = / netboot / tftp
dhcp-boot = pxelinux.0, linuxhint-s20,192.168.50.1
pxe-prompt = «Нажмите F8 для загрузки по сети PXE. «, 2
pxe-service = x86PC,» Установить ОС через PXE «, pxelinux

Окончательный файл конфигурации должен выглядеть следующим образом.После того, как вы все введете, сохраните файл конфигурации, нажав + x , а затем y и .

Теперь создайте каталог tftp-root / netboot / tftp с помощью следующей команды:

$ sudo mkdir -p / netboot / tftp

Теперь перезапустите сервер dnsmasq следующим образом:

$ sudo systemctl перезапуск dnsmasq

Теперь проверьте, работает ли служба dnsmasq следующим образом:

$ sudo systemctl статус dnsmasq

Как видите, служба dnsmasq запущена.Итак, он настроен правильно.

Установка и настройка сервера NFS:

Ubuntu 18.04 LTS Desktop использует casper для загрузки в режим Live DVD. casper поддерживает загрузку по сети только через NFS. Итак, чтобы загружать Ubuntu 18.04 LTS и любые производные Ubuntu через PXE, вам необходимо иметь полнофункциональный сервер NFS, доступный по сети.

Чтобы установить сервер NFS, выполните следующую команду:

$ sudo apt install -y nfs-kernel-server

NFS-сервер должен быть установлен.

Теперь создайте новый каталог / netboot / nfs для совместного использования через NFS следующим образом:

$ sudo mkdir / netboot / nfs

Теперь откройте файл конфигурации / etc / exports следующим образом:

Теперь добавьте следующую строку в конец файла:

/ netboot / nfs * (ro, синхронизация, no_wdelay, insecure_locks, no_root_squash, небезопасный, no_subtree_check)

Окончательный файл конфигурации должен выглядеть следующим образом. По завершении сохраните файл.

Теперь сделайте общий ресурс доступным с помощью следующей команды:

Установка необходимых файлов загрузки PXE:

Теперь вам нужно установить все необходимые файлы загрузчика для загрузки PXE. Для этого выполните следующую команду:

$ sudo apt install -y syslinux pxelinux

Теперь вам нужно скопировать все необходимые файлы в каталог / netboot / tftp / .

Скопируйте файл pxelinux.0 в каталог / netboot / tftp следующим образом:

$ sudo cp -v /usr/lib/PXELINUX/pxelinux.0 / netboot / tftp /

Теперь скопируйте файлы ldlinux.c32 , libcom32.c32 , libutil.c32 , vesamenu.c32 в каталог / netboot / tftp следующим образом:

$ sudo cp -v /usr/lib/syslinux/modules/bios/{ldlinux.c32,libcom32.c32,libutil.c32,
vesamenu.c32} / netboot / tftp

Теперь создайте каталог конфигурации загрузчика PXE / netboot / tftp / pxelinux.cfg / следующим образом:

$ sudo mkdir /netboot/tftp/pxelinux.cfg

Теперь создайте файл конфигурации по умолчанию загрузчика PXE /netboot/tftp/pxelinux.cfg/default следующим образом:

$ sudo touch /netboot/tftp/pxelinux.cfg/default

TFTP-сервер

теперь может обслуживать все необходимые файлы загрузчика по сети.

Подготовка рабочего стола Ubuntu 18.04 LTS для загрузки PXE:

Теперь загрузите Ubuntu 18.04 LTS Live Desktop ISO-образ с помощью следующей команды:

$ wget http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso

Это займет некоторое время.

После загрузки файла образа ISO смонтируйте файл ISO в каталог / mnt следующим образом:

$ sudo mount -o loop ubuntu-18. 04.2-desktop-amd64.iso / mnt

Теперь создайте выделенные каталоги для Ubuntu 18.04 LTS / netboot / nfs / ubuntu1804 / и / netboot / tftp / ubuntu1804 / следующим образом:

$ sudo mkdir -v / netboot / {nfs, tftp} / ubuntu1804

Теперь скопируйте содержимое файла ISO в каталог NFS / netboot / nfs / ubuntu1804 / следующим образом:

$ sudo cp -Rfv / mnt / * / netboot / nfs / убунту1804 /

Необходимо скопировать содержимое файла ISO.

Теперь скопируйте файлы vmlinuz и initrd в каталог / netboot / tftp / ubuntu1804 / следующим образом:

Теперь измените разрешение каталога / netboot следующим образом:

$ sudo chmod -Rfv 777 / netboot

Теперь вы можете размонтировать ISO-образ Ubuntu 18.04 LTS и удалить его, если хотите.

$ sudo umount / mnt
$ rm ubuntu-18.04.2-рабочий стол-amd64.iso

Добавление загрузочной записи PXE для Ubuntu 18.Установить Ubuntu 18.04 LTS Desktop

меню по умолчанию
ядро ​​ubuntu1804 / vmlinuz
добавить initrd = ubuntu1804 / initrd boot = casper netboot = nfs nfsroot = 192.168.50.1: /
netboot / nfs / ubuntu1804 / splash toram —

Окончательный файл конфигурации должен выглядеть следующим образом. Теперь сохраните файл конфигурации.

Установка Ubuntu 18.04 LTS через PXE:

Теперь на клиенте PXE, на который вы хотите установить Ubuntu 18.04 LTS по сети через PXE, перейдите в BIOS и загрузите по сети.

Когда вы увидите следующее сообщение, нажмите на клавиатуре.

Теперь выберите Установить ОС через PXE и нажмите .

У вас будет только один вариант. Итак, просто нажмите .

Как видите, отображается заставка Ubuntu 18. 04 LTS. Это загружается. Это может занять некоторое время в зависимости от скорости вашего сетевого подключения.

Ubuntu 18.04 LTS должен быть загружен. Теперь вы можете установить его на свой клиентский компьютер.

Итак, вот как вы настраиваете сервер сетевой загрузки PXE в Ubuntu 18.04 LTS. Спасибо, что прочитали эту статью.

Развертывание Kali по сети PXE / iPXE Установка

Загрузка и установка Kali Linux по сети (PXE) может быть полезна от установки на одном ноутбуке без CDROM или USB-портов до корпоративных развертываний, поддерживающих предварительную установку Kali Linux. .

Настройка PXE-сервера

Во-первых, нам нужно установить dnsmasq для предоставления DHCP / TFTP-сервера, а затем отредактировать dnsmasq.conf файл:

  kali @ kali: ~ $ sudo apt install -y dnsmasq
...
kali @ kali: ~ $
Кали @ Кали: ~ $ sudo vim /etc/dnsmasq.conf
kali @ kali: ~ $
  

В dnsmasq.conf включите DHCP , TFTP и PXE-загрузку и установите dhcp-range в соответствии с вашей средой (мы используем 192.168.101.100-200 ). При необходимости вы также можете определить свой шлюз и DNS-серверы с помощью директивы dhcp-option , как показано ниже:

  interface = eth0
dhcp-диапазон = 192.168.101.100,192.168.101.200,12ч
dhcp-boot = pxelinux.0
enable-tftp
tftp-root = / tftpboot /
dhcp-option = 3,192.168.101.1
dhcp-option = 6,8.8.8.8,8.8.4.4
  

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

  kali @ kali: ~ $ sudo systemctl restart dnsmasq
kali @ kali: ~ $
  
Загрузите образы Kali PXE Netboot

Теперь нам нужно создать каталог для хранения образа Kali Linux Netboot и загрузить образ, который мы хотим обслуживать.

  Кали @ Кали: ~ $ sudo mkdir -p / tftpboot /
kali @ kali: ~ $

# 64-бит:
kali @ kali: ~ $ sudo wget http://http. kali.org/kali/dists/kali-rolling/main/installer-amd64/current/images/netboot/netboot.tar.gz -P / tftpboot /
# 32-битный:
kali @ kali: ~ $ sudo wget http://http.kali.org/kali/dists/kali-rolling/main/installer-i386/current/images/netboot/netboot.tar.gz -P / tftpboot /

Кали @ Кали: ~ $ sudo tar -zxpf /tftpboot/netboot.tar.gz -C / tftpboot
kali @ kali: ~ $
Кали @ Кали: ~ $ sudo rm -f /tftpboot/netboot.tar.gz
kali @ kali: ~ $
  

Настроить целевой объект для загрузки из сети

Теперь, когда все настроено, вы можете загрузить свою целевую систему и настроить ее для загрузки из сети.Он должен получить IP-адрес от вашего PXE-сервера и начать загрузку Kali Linux.

После установки

Теперь, когда вы завершили установку Kali Linux, пришло время настроить вашу систему.

В разделе «Общее использование» содержится дополнительная информация, а также вы можете найти советы о том, как максимально эффективно использовать Kali Linux на наших форумах пользователей.

Как настроить сервер загрузки PXE в Linux (CentOS / RHEL 7)

В этой статье я расскажу о шагах для настройки загрузочного сервера PXE с использованием HTTP, Kickstart и DHCP / DNSMASQ на узле CentOS 7.Тот же список шагов будет работать и в RHEL 7. Но для настройки загрузочного сервера PXE на RHEL вам понадобится активная подписка, чтобы иметь возможность загружать необходимые пакеты RPM, или вы также можете загрузить эти пакеты RPM, создав локальный репозиторий с помощью ванильного образа DVD RHEL.

Не обязательно использовать только службы из этой статьи для настройки сервера загрузки PXE в Linux. Вы также можете использовать другие службы, такие как NFS, FTP и т. Д., Для этой цели.

Что такое загрузочный сервер PXE?

PXE, или Preboot eXecution Environment, позволяет указать компьютерам загрузку с использованием сетевых ресурсов.Это позволяет вам управлять одним источником для установки серверов без необходимости физически вставлять некоторые DVD-диски или USB-накопители.

Дизайн сетевой загрузки PXE

  • Когда машина использует PXE (Pre-eXecution Environment) для загрузки непосредственно из сети, ей необходимо получить IP-адрес от DHCP-сервера.
  • DHCP-сервер также может предоставить ему подробную информацию о TFTP-сервере, с которого можно получить исполняемый файл. Обычно для клиента Linux этот файл называется pxelinux.0 .
    ПРИМЕЧАНИЕ:

    Если вы используете DNSMASQ, то он позаботится о том, чтобы указать загрузочные системы на tftp-сервер, указав параметр enable-tftp в файле конфигурации dnsmasq, и вам не понадобится отдельный DHCP-сервер.

  • После того, как клиент извлекает и запускает pxelinux.0 , он жестко запрограммирован на поиск файла из подкаталога pxelinux.cfg / относительно того, где было найдено pxelinux.0 .
  • Здесь у нас есть файл PXE, который будет содержать меню загрузки PXE и ​​расположение репозитория, который будет использоваться для установки.

Создать файл кикстарта

При установке системы Red Hat в домашнем каталоге пользователя root создается файл с именем anaconda-ks.cfg . Этот файл содержит большинство настроек, которые использовались при установке вашего компьютера. Это хорошая отправная точка, если вы хотите опробовать автоматическую установку Kickstart.

Вы также можете использовать инструмент system-config-kickstart в графическом интерфейсе пользователя, чтобы создать свой собственный файл кикстарта. Следуйте официальной странице CentOS, чтобы узнать о различных параметрах этого инструмента.

Поскольку мы планируем автоматизировать нашу установку с использованием PXE-сервера кикстарта и сетевой загрузки, нам понадобится рабочий файл кикстарта. Я написал еще одну статью, в которой содержится образец файла конфигурации кикстарта, который вы можете использовать в качестве справки. В этой статье я буду использовать файл кикстарта /root/kickstart. инфраструктура-сервер-среда
@основание
@основной
хрония
kexec-инструменты

% конец

Настроить HTTP

Загрузка файлов кикстарта по сети из строки ядра во время установки поддерживает только NFS, HTTP и FTP.В этом рецепте я выбрал HTTP, поскольку это распространенная технология в компаниях, и ее легко защитить.

Установите сервер Apache rpm, если он еще не установлен

 # yum -y установить http 

Создайте каталог для хранения файлов кикстарта, выполнив следующую команду:

 # mkdir / var / www / html / kickstart
# cp /root/kickstart.conf / var / www / html / kickstart 

Дать соответствующее разрешение

 # chown -R apache: apache / var / www / html / 

Включите и запустите демон httpd следующим образом:

 # systemctl включить httpd
Создал символическую ссылку из / etc / systemd / system / multi-user.target.wants / httpd.service в /usr/lib/systemd/system/httpd.service.

# systemctl start httpd 

Затем попробуйте загрузить файл кикстарта, чтобы убедиться, что он доступен с сервера apache

 [корень @ node1 # wget http://10.0.2.20/kickstart/kickstart.conf
- 2018-11-05 21: 14: 32-- http://10.0.2.20/kickstart/kickstart.conf
Подключение к 10.0.2.20:80 ... подключено.
HTTP-запрос отправлен, ожидает ответа ... 200 ОК
Длина: 1491 (1,5 КБ) [текст / обычный]
Сохранение в: «kickstart.conf»

100% [======================================>] 1 491 -.-К / с за 0 с

2018-11-05 21:14:32 (319 МБ / с) - "kickstart.conf" сохранен [1491/1491] 

Настроить исходный репозиторий для сетевой установки

Следующим шагом по настройке сервера установки является настройка сетевого сервера в качестве сервера установки. Это сводится к копированию всего установочного DVD в общую папку на сетевом сервере, что делает установочный сервер онлайн-репозиторием. После этого вы можете использовать клиентский компьютер для доступа к установочным файлам.

У меня есть обычный DVD Red Hat, который я буду использовать в качестве репозитория для установки по сети, но вместо копирования я смонтирую свой образ.

 # mount /root/rhel-server-7.4-x86_64-dvd.iso / var / www / html / rhel /
mount: / dev / loop0 защищен от записи, монтирование только для чтения 

Поскольку мы будем использовать репо через наш HTTP-сервер, я буду использовать раздел монтирования внутри / var / www / html

Настроить службу TFTP

Теперь, когда вы настроили сервер сетевой установки, пришло время настроить загрузку PXE.Это позволяет вам загружать сервер, который вы хотите установить, с сетевой карты сервера. (Обычно вам нужно изменить порядок загрузки по умолчанию или нажать клавишу во время загрузки, чтобы активировать загрузку PXE (в основном F12 ). Затем сервер PXE выдает загрузочный образ, который сервер, который вы хотите установить, использует для запуска начальной фазы пыльник.

Установите RPM

Прежде всего вам необходимо установить все rpms, необходимые для настройки сервера загрузки PXE

 [root @ node1 # yum -y установить syslinux tftp-server xinetd 

ПРИМЕЧАНИЕ:

Служба xinetd также известна как супер-служба Интернета.Это пришло из того времени, когда ресурсы памяти были ограничены, а для максимально эффективного использования памяти xinetd можно было настроить на прослушивание множества портов, что сделало возможным доступ ко многим различным службам. Использование xinetd по-прежнему может быть полезным, особенно для служб, к которым нечасто обращаются. Служба xinetd будет следить за тем, чтобы служба запускалась, когда некоторые процессы обращаются к ее порту, а также отключит ее после определенного периода бездействия.

Включите демон xinetd сервера tftp, как показано ниже:

 # sed -i '/ отключить / s / да / нет /' / etc / xinetd.д / тфтп 

Теперь включите и запустите демон xinetd , выполнив следующее:

 # systemctl включить xinetd
# systemctl start xinetd 

Скопируйте загрузчики syslinux в загрузочный каталог tftp-сервера, выполнив следующую команду:

 # cp -r / usr / share / syslinux / * / var / lib / tftpboot 

Скопируйте initrd и ядро ​​ с установочного носителя RHEL 7 в / var / lib / tftpboot / rhel7 / и выполните следующие команды:

 # mkdir / var / lib / tftpboot / rhel7 

Поскольку наш DVD уже смонтирован на / var / www / html / rhel , мы можем скопировать необходимые файлы из того же места

 # cp / var / www / html / images / pxeboot / {initrd. , который идентифицирует его как заголовок метки меню. Также убедитесь, что строка добавления - это только одна строка, которая начинается с добавления и заканчивается URL-адресом файла кикстарта. 

Затем вы можете использовать DNSMASQ или DHCP-сервер, я поделился шагами по настройке обоих, но вы можете выбрать один в соответствии с вашим воздержанием

Шаги по настройке сервера загрузки PXE с использованием сервера DNSMASQ

Если вы планируете использовать DNSMASQ вместо DHCP, вы можете использовать следующие шаги для настройки своих служб DNSMASQ

Установите RPM

Прежде всего вам необходимо установить все rpms, необходимые для настройки сервера загрузки PXE

 [root @ node1 # yum -y установить dnsmasq 

Настроить DNSMASQ

Затем настройте сервер DNSMASQ, отредактировав / etc / dnsmasq.conf , а именно:

 # интерфейсы для привязки
интерфейс = eth0, lo
# домен для этого DNS сервера
domain = example.com
# Диапазон аренды DHCP
dhcp-диапазон = eth0,10.0.2.200,10.0.2.220,10h
# PXE - адрес PXE-сервера
dhcp-boot = pxelinux.0, pxeserver, 10.0.2.20
# Шлюз
dhcp-option = 3,10.0.2.2
pxe-prompt = "Нажмите F8 для перехода в меню.", 60
enable-tftp
tftp-root = / вар / библиотека / tftpboot 

Включите и запустите dnsmasq, используя следующее:

 # systemctl включить dnsmasq
# systemctl start dnsmasq 

Шаги по настройке сервера загрузки PXE с использованием DHCP-сервера

Если вы планируете использовать DHCP вместо DNSMASQ, вы можете использовать следующие шаги для настройки своих служб DHCP

Настроить DHCP-сервер

На сервере установки сервер TFTP не может существовать без сервера DHCP.При загрузке PXE сервер DHCP первым отвечает со всей необходимой конфигурацией, связанной с IP, и информацией об используемом сервере DHCP.

Установите RPM

Прежде всего вам необходимо установить все rpms, необходимые для настройки сервера загрузки PXE

 [root @ node1 # yum -y установить dhcp 

Затем настройте ваш /etc/dhcp/dhcpd.conf . Ниже мой пример файла конфигурации. Здесь вам нужно добавить отдельную запись для каждого MAC-адреса хоста (как выделено) в загрузку по сети с использованием PXE-сервера.

 #
# Файл конфигурации DHCP-сервера.
# см. /usr/share/doc/dhcp*/dhcpd.conf.example
# см. справочную страницу dhcpd.conf (5)
#

разрешить bootp;
разрешить загрузку;
max-lease-time 1200;
время аренды по умолчанию 900;
лог-объект local7;

опция ip-forwarding false;
опция маска-поставщик ложна;

   подсеть 10.0.2.0 netmask 255.255.255.0 {

       вариант роутеров 10.0.2.2;
       вариант доменных имён-серверов 127.0.0.1;
       диапазон 10.0.2.30 10.0.2.40;
       следующий-сервер 10.0.2.20;
       имя файла "pxelinux.0 ";
   } 

В файле конфигурации DHCP указана подсеть . Это подсеть, в которой сервер PXE должен предлагать свои услуги. В большинстве конфигураций это будет выделенная сеть, что является хорошей идеей, поскольку вы не хотите, чтобы рабочие станции, выполняющие загрузку PXE, случайно установили Red Hat Enterprise Linux. Если вы хотите предложить услуги установки на основе PXE в сети, где также используются клиенты, которые полагаются на загрузку PXE, рекомендуется определить оператор класса, чтобы определить, каким машинам следует разрешить использовать загрузку PXE, а каким нет. .

В определении подсети оператор next-server дает IP-адрес сервера, настроенного с помощью TFTP. Даже если он находится на том же сервере, который предлагает DHCP, вы все равно должны указать IP-адрес следующего сервера . Оператор filename определяет файл, который следует предлагать рабочим станциям, выполняющим загрузку PXE. Обратите внимание, что это имя файла относится к корню сервера TFTP, как определено в файле конфигурации TFTP.

Откройте брандмауэр на своем сервере с помощью этих команд (однако это может быть необязательно):

 # firewall-cmd --add-service = dns --permanent
# firewall-cmd --add-service = dhcp --permanent
# firewall-cmd --add-service = tftp --permanent
# firewall-cmd --reload 

ПРИМЕЧАНИЕ:

Если вы столкнетесь с какими-либо проблемами на этапе POC, вы можете отключить и остановить службы брандмауэра и проверить свою конфигурацию, чтобы изолировать причину сбоя. После обнаружения проблемы настоятельно рекомендуется оставить службы брандмауэра включенными и активными.

Как будет работать поток?

  • Теперь мы все закончили с нашей конфигурацией. Пришло время загрузить целевой узел через сетевую карту.
  • Как только целевой узел загрузится с сетевой карты, он будет искать доступный DHCP-сервер.
  • Демон

  • DNSMASQ / DHCPD заботится о том, чтобы указать загрузочные системы на tftp-сервер, предоставляя опцию enable-tftp в конфигурации dnsmasq или next-server в dhcpd.conf файл.
  • syslinux необходим для предоставления необходимых двоичных файлов для загрузки по сети.
  • Сам tftp-сервер обеспечивает доступ к файлам syslinux, ядру RHEL 7 и initrd для загрузки системы.
  • Файл конфигурации PXE обеспечивает необходимую конфигурацию для загрузки системы, включая файл кикстарта, который автоматически устанавливает вашу систему.

На стороне сервера в / var / log / messages вы можете отслеживать ход загрузки PXE

При использовании DHCP

 6 ноября 00:26:01 node1 dhcpd: DHCPDISCOVER с 08: 00: 27: 88: 0b: f3 через eth0
6 ноября 00:26:02 node1 dhcpd: DHCPOFFER на 10.0.2.30 в 08: 00: 27: 88: 0b: f3 через eth0
6 ноября 00:26:04 node1 dhcpd: DHCPREQUEST для 10.0.2.30 (10.0.2.20) с 08: 00: 27: 88: 0b: f3 через eth0
6 ноября 00:26:04 node1 dhcpd: DHCPACK с 10.0.2.30 до 08: 00: 27: 88: 0b: f3 через eth0
6 ноября 00:26:04 node1 xinetd [1018]: НАЧАЛО: tftp pid = 8021 from = 10. 0.2.30
6 ноября 00:26:04 node1 in.tftpd [8022]: Клиент 10.0.2.30 завершил работу с pxelinux.0
6 ноября 00:26:04 node1 in.tftpd [8033]: Клиент 10.0.2.30 завершил работу pxelinux.cfg / default
6 ноября 00:26:04 node1 in.tftpd [8034]: Клиент 10.0.2.30 завершил меню.c32
6 ноября 00:26:04 node1 in.tftpd [8035]: Клиент 10.0.2.30 завершил работу pxelinux.cfg / default 

При использовании DNSMASQ

 5 ноября 23:48:15 node1 dnsmasq-dhcp [7036]: DHCPDISCOVER (eth0) 08: 00: 27: 88: 0b: f3
5 ноября 23:48:15 node1 dnsmasq-dhcp [7036]: DHCPOFFER (eth0) 10.0.2.217 08: 00: 27: 88: 0b: f3
5 ноября 23:48:15 node1 dnsmasq-dhcp [7036]: DHCPREQUEST (eth0) 10.0.2.217 08: 00: 27: 88: 0b: f3
5 ноября 23:48:15 node1 dnsmasq-dhcp [7036]: DHCPACK (eth0) 10.0.2.217 08: 00: 27: 88: 0b: f3
5 ноября 23:48:21 node1 dnsmasq-dhcp [7036]: PXE (eth0) 10.0.2.217 08: 00: 27: 88: 0b: f3 pxelinux.0
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: отправлено /var/lib/tftpboot/pxelinux.0 в 10.0.2.217
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл /var/lib/tftpboot/pxelinux.cfg/01-08-00-27-88-0b-f3 не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл /var/lib/tftpboot/pxelinux.cfg/0A0002D9 не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл /var/lib/tftpboot/pxelinux.cfg/0A0002D не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл /var/lib/tftpboot/pxelinux.cfg/0A0002 не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл / var / lib / tftpboot / pxelinux.cfg / 0A000 не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл /var/lib/tftpboot/pxelinux.cfg/0A00 не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл /var/lib/tftpboot/pxelinux.cfg/0A0 не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл /var/lib/tftpboot/pxelinux.cfg/0A не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: файл /var/lib/tftpboot/pxelinux.cfg/0 не найден
5 ноября 23:48:21 node1 dnsmasq-tftp [7036]: отправлено /var/lib/tftpboot/pxelinux.cfg/default в 10. 0.2.217
5 ноября 23:48:22 node1 dnsmasq-tftp [7036]: отправлено / var / lib / tftpboot / menu.c32 до 10.0.2.217
5 ноября 23:48:22 node1 dnsmasq-tftp [7036]: отправлено /var/lib/tftpboot/pxelinux.cfg/default на 10.0.2.217 

ПРИМЕЧАНИЕ:

Здесь, в сообщении, вы видите несколько сообщений с not found .
После того, как клиент извлекает и запускает pxelinux.0 , он жестко запрограммирован на поиск файла из подкаталога pxelinux.cfg / относительно того, где было найдено pxelinux.0 .

Сначала он будет искать файл, названный по MAC-адресу, в форме 01-xx-xx-xx-xx-xx-xx ; затем он будет искать файл, названный по IP-адресу, предоставленному DHCP-сервером.IP-адрес ищется в шестнадцатеричном формате. то есть 10 в шестнадцатеричном формате - это 0x0A , 0 - 0x00 , 2 - это 0x02 , а 217 - это 0xD9 , поэтому 10.0.2.2104

Вы также можете получить это значение, используя printf в формате ниже

 # printf "% 02x% 02x% 02x% 02xn" 10 0 2 217
0a0002d9 

Ниже приведен образец экрана-заставки с « PXE Boot menu », который будет напечатан на этом целевом узле после загрузки с карты NIC.

Наконец, я надеюсь, что шаги из статьи по настройке загрузочного сервера PXE в Linux были полезны. Это очень небольшая часть того, что мы можем сделать при настройке загрузочного сервера PXE. Существуют различные другие варианты настройки конфигурации или использования других протоколов, таких как NFS. Итак, дайте мне знать ваши предложения и отзывы, используя раздел комментариев.

Похожие сообщения:

Основы загрузки по сети

Как iPXE расширяет процесс загрузки по сети

iPXE - сложная загрузка
программа, способная расширить традиционную сеть PXE
процесс загрузки несколькими способами. Его можно прошить как надстройку
дополнительное ПЗУ карты, или его можно загрузить как программу сетевой загрузки
(NBP) из существующего дополнительного ПЗУ PXE через TFTP (это называется цепной загрузкой). Это
также возможно включить его в качестве дополнительного ПЗУ в ваш BIOS
или загрузите его с любого локального носителя, например дискеты, USB, компакт-диска или
HDD.

В зависимости от того, как настроен iPXE, он может загружать дополнительную загрузку.
программы из нескольких разных источников в дополнение к TFTP. В
наиболее распространенный способ - использовать HTTP для загрузки дополнительных
контент с помощью стандартного веб-сервера.Если ваш веб-сервер поддерживает
диапазон запросов, вы также можете использовать его для загрузки дискет и
образов компакт-дисков (ISO) прямо из Интернета
сервер. FTP также можно использовать в том же
путь. Есть даже поддержка зашифрованной передачи по HTTPS. Возможно
настройте его, чтобы разрешить выполнение только программ, которые были
подписано. Если вы объедините это с записью ROM, вы можете получить
сетевой загрузчик, который будет загружать только доверенный код.

Одна из самых интересных функций iPXE - загрузка компьютера.
без адаптера шины хоста iSCSI с тома iSCSI.Это
возможно, потому что iPXE реализует полнофункциональный программный интерфейс iSCSI
Инициатор
. Он даже поддерживает аутентификацию CHAP! Для операционных систем
которые его поддерживают, вы также можете дополнительно использовать AoE (ATA Over Ethernet)
в iSCSI.

Последняя особенность, которая делает iPXE настолько впечатляющим, заключается в том, что он также
имеет очень продвинутый сценарий
язык и
текстовая система меню.
Эти функции позволяют создавать среды динамической загрузки.
без необходимости знать язык сценариев на стороне сервера, например
PHP, Perl или Python.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *