Сетевые возможности Linux: история и развитие

Linux стал возможным благодаря объединенным усилиям программистов со всего мира, которые обменивались результатами своей работы через глобальную сеть. Поэтому не удивительно, что уже на ранних этапах разработки системы в ней начали появляться сетевые функции. Уже в начальные моменты своего существования в Linux был добавлен протокол UUCP, а к осени 1992 года, благодаря усилиям Ross Biro и других разработчиков, появился первый сетевой код, известный как Net-1.

Однако, активная разработка Ross Biro завершилась в мае 1993 года, после чего Fred van Kempen взял на себя инициативу и начал работу над следующей версией сетевого кода, при этом реорганизовав большую часть исходного кода. Этот проект стал известен как Net-2. Первый публичный релиз этой версии, Net-2d, был выпущен летом 1992 года (в составе ядра версии 0.99.10). Затем код был значительно улучшен и доработан, в основном, благодаря усилиям Alan Cox, и получил название Net-3. Именно этот код включен в официальные релизы ядра Linux.

Net-3 предоставляет драйверы для различного оборудования Ethernet, а также для протоколов SLIP (для работы через последовательные порты) и PLIP (через параллельные порты). Благодаря Net-3, приложения Linux, использующие TCP/IP, демонстрируют отличную производительность в локальных сетях и часто превосходят по скорости некоторые коммерческие системы. В настоящее время ведется несколько проектов по расширению сетевых возможностей Linux. Например, разрабатывается драйвер для протокола PPP, а также драйвер для радиосвязи AX.25. Кроме того, Alan Cox создал драйвер для протокола Novell's IPX, однако его интеграция в систему была приостановлена из-за проблем с получением необходимой документации от Novell. Еще одним интересным проектом является samba — это свободный сервер NetBIOS, разработанный Andrew Tridgell.

Другие направления разработки

Параллельно с этим, Fred продолжил разработку и представил версию Net-2e, в которой была кардинально переработана структура сетевой организации. На момент написания этой книги версия Net-2e все еще находилась в статусе бета-версии. Одним из ключевых нововведений этой версии стало введение DDI — Интерфейса Драйвера Устройства, который предоставляет стандартизированный метод доступа и конфигурации для всех сетевых устройств и протоколов. В то же время была представлена версия сетевого кода, основанная на BSD, разработанная Matthias Urlichs, который также написал драйвер для ISDN для Linux и FreeBSD.

В обозримом будущем основным вероятно останется код Net-3. Alan Cox в настоящее время активно работает над протоколом AX.25, который предназначен для радиолюбителей. В скором времени ожидается появление модулей для ядра, которые позволят добавлять драйверы без необходимости переустановки системы. Несмотря на различия между этими версиями сетевого кода, они все предназначены для решения одной и той же задачи. Главные различия заключаются в уровне ядра и драйверов устройств. Это означает, что вы не сможете настроить систему с ядром Net-2e, используя утилиты из Net-2d или Net-3, и наоборот. Но это касается только команд, работающих непосредственно с ядром. Приложения верхнего уровня, такие как rlogin или telnet, будут работать на любой из этих версий.

Однако, для обычных пользователей все эти детали и различия между версиями не так важны. Если вы не участвуете в разработке, то вам достаточно просто следовать официальным релизам ядра. Они всегда сопровождаются соответствующим набором сетевых инструментов, совместимых с представленной в ядре версией сетевого кода. Все последние версии сетевого кода доступны на различных FTP-серверах. Официальный FTP-сервер для Net-3 — sunacm.swan.ac.uk, его зеркало находится на sunsite.unc.edu в директории system/Network/sunacm. Наиболее актуальная версия Net-2e размещена на ftp.aris.com. Код Matthias Urlichs, основанный на BSD, доступен на сервере ftp.ira.uka.de в директории /pub/system/linux/netbsd. А самые последние версии ядра можно найти на сервере nic.funet.fi в директории /pub/OS/Linux/PEOPLE/Linus; эту директорию также зеркалируют серверы sunsite и tsx-11.mit.edu.

Поддержка вашей системы

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

Наименьшее, что вы должны делать в рамках обслуживания — это регулярно проверять состояние системы, а также анализировать журналы событий (log-файлы) на предмет ошибок и нештатных ситуаций. Желательно автоматизировать этот процесс с помощью специализированных скриптов. Многие основные программы и службы, такие как smail или C news, уже включают в себя такие инструменты. Задача администратора — адаптировать их под конкретные потребности своей системы.

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

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

Постоянное обновление знаний

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

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

Безопасность прежде всего

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

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

Заключение

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