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

Содержание


Введение

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

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

«Сервером называется компьютер,выделенныйиз группыперсональных компьютеров(илирабочих станций) для выполнения какой-либо сервисной задачи без непосредственного участия человека».

В более простом представлении, сервер – это компьютер, функционирующий в режиме 24/7, единожды настроенный, и позволяющий (и помогающий) выполнять задачи без участия человека. В качестве сервера может выступать как оборудование топовых мировых производителей, таких как HP, IBM, Dell, так и обычный персональный компьютер, не отличающийся аппаратной составляющей от других машин офиса, но имеющий другую программную конфигурацию. Выбор в ту или иную сторону зависит от предпочтения руководителя офиса и бюджета.

Таким образом, сотрудники офиса, имеющие в своем распоряжении сервер, могут создать на нем общую папку, которая будет хранить последние версии всех документов, в то время, как черновые варианты документации будут по-прежнему располагаться на машинах сотрудников и, поскольку, сервер работает постоянно, то не возникает проблем с доступом к необходимым файлам. Кроме того, наличие выделенного сервера позволяет обезопасить внутреннюю локальную сеть от постороннего, в том числе и несанкционированного, доступа и вредоносного программного обеспечения посредством установки фаервола (англ. firewall, нем. brandmauer) – комплекса аппаратных и программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов в соответствии с заданными правилами. Также наличие сервера позволит контролировать входящий траффик и иметь представление о том, на что тратят время сотрудники офиса и какие сайты посещают. При необходимости, используя специализированное программное обеспечение, можно ограничить доступ к определенным Интернет-ресурсам, к примеру, социальным сетям, на период рабочего времени, например, с 9 до 18. Перечень решаемых с помощью сервера задач можно перечислять долго, кратко отметим еще несколько: при использовании в офисе продуктов компании 1С, саму базу данных и систему управления базой данных следует разместить на сервере; также физический сервер может выступать в роли сервера электронной почты и/или сервера резервного копирования и т.д.

Отдельный интерес представляет рассмотрение доступа в Интернет из локальной сети. Как уже отмечалось выше, посредством сервера можно ограничивать доступ к Интернет-ресурсам, однако данное правило можно расширить до масштабов полного запрета доступа во внешнюю сеть. Хотя чаще всего ставится все-таки обратная задача и требуется разрешить доступ из внутренней (локальной) сети во внешнюю сеть (Интернет). Данную задачу можно решить двумя способами: используя специализированное сетевое оборудование, такое как маршрутизаторы (англ. router) или сделать программную настройку на сервере. Не трудно заметить, что при наличии сервера, второй вариант позволяет сэкономить часть бюджета офиса, особенно на начальном этапе развития.


Постановка задачи

Цель

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

Задачи

  1. Анализ популярных серверных операционных систем на базе ядра Linux.
  2. Изучение подходов к построению маршрутизации на основе выбранной операционной системы.
  3. Настройка выбранной операционной системы в соответствии с определенным подходом.
  4. Тестирование настроенной конфигурации.

Исходные данные

Сведения о текущей конфигурации локальной сети.

Ожидаемый результат

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


Теоретическая часть

Анализ серверных операционных систем на базе ядра Linux

Прежде чем переходить непосредственно к анализу, осуществим экскурс в операционные системы и рассмотрим существующие архитектуры современных операционных систем.

Все многообразие существующих операционных систем можно разделить на два больших лагеря – Windows-подобные и UNIX-подобные операционные системы.

К первым относятся операционные системы семейства MicrosoftWindows (и только Windows): WindowsXP, Windows 7, Windows 8, WindowsServer2003, WindowsServer 2008, WindowsServer 2012. Отличительной особенностью данного класса операционных систем является проприетарное распространение, требующее пользовательского лицензионного соглашения. Иными словами, все перечисленные операционные системы требуют денежных вливаний для покупки лицензий. Архитектурной же особенностью Windows-подобных операционных систем является наличие гибридного ядра. Гибридное ядро операционной системы представляет собой минимально необходимый набор абстракций для работы с оборудование, позволяющее, при этом, для ускорения работы запускать в режиме ядра «несущественные» части операционной системы. Отметим также, что для данного класса операционных систем характерно наличие графического оконного пользовательского интерфейса.

К UNIX-подобным операционным системам относятся операционные системы на базе ядра Linux, такие как Debian, CentOS, Ubuntu и др., операционные системы семейства BSD, такие как FreeBSD, NetBSD и др., а также операционные системы, разработанные компанией Apple (OSX). За исключением операционных систем компании Apple и некоторых версий на базе ядра Linux (RedHatEnterpriseLinux) данный класс операционных систем является свободно распространяемым программным обеспечением и, соответственно, не требуют никаких денежных затрат. Основой данных операционных систем является монолитное ядро. Монолитное ядро операционной системы представляет собой широкий набор абстракций, работающих в адресном пространстве ядра, т.е. все компоненты ядра являются частями одной программы и используют одни и те же структуры данных. Как правило, классический пользовательский интерфейс представлен командной строкой, однако существует множество вариантов графического интерфейса (GNOME, KDE, LXDE и др.).

Сравнительный анализ Windows-подобных и UNIX-подобных операционных систем выходит за рамки данной работы, поэтому в дальнейшем речь пойдет только о UNIX-подобных операционных системах, а если точнее, то только об основанных на базе ядра Linux.

Опираясь на данные Интернет-источников, таких как специализированные форумы и сайты, для анализа были выбраны две операционные системы на базе ядра Linux – Debian и CentOS.

Рассмотрим каждую из них несколько подробно.

Debian – операционная система, состоящая изсвободного ПО с открытым исходным кодом. В настоящее времяDebian GNU/Linux– один из самых популярных и важных дистрибутивов GNU/Linux, в первичной форме оказавший значительное влияние на развитие этого типа ОС в целом.Debian отличается широким спектром возможностей. В текущую стабильную версию включено свыше тридцати семи тысяч пакетов программ для десяти архитектур на основе ядра Linux – от Intel/AMD 32-bit/64-bit, широко применяемых в персональных компьютерах, до ARM, обычно используемых во встраиваемых системах. Отличительными чертами Debian являются: система управления пакетами AdvancedPackagingTool (APT), жёсткая политика по отношению к пакетам,репозиториис огромным их количеством, а также высокое качество выпускаемых версий. Это сделало возможным простое обновление между версиями, а также автоматическую установку и удаление пакетов.На Debian основано множество дистрибутивов, в том числеUbuntu, MEPIS, Dreamlinux, DamnSmall Linux,Xandros,Knoppix,Linspire,aptosid,Kanotix,Parsix,LinEx,LinuxMintи другие.

CentOS – дистрибутив Linux, основанный на коммерческомRedHatEnterpriseLinuxкомпанииRedHatи совместимый с ним. Сфера применения CentOS ограничивается использованием на персональных компьютерах пользователей или, что встречается чаще, серверах. CentOS использует программуYUMдля скачивания и установки обновлений из репозиторияCentOSMirrorNetwork.

Основываясь на изложенных выше фактах, можно сделать ряд выводов:

  • Проект Debian является более масштабных, нежели CentOS – тут и поддержка набирающих популярность ARM архитектур, и огромное количество разнообразных пакетов, и большое сообщество пользователей;
  • В свою очередь проект CentOS является, по сути, бесплатной версией коммерческого RedHatEnterpriseLinux, однако минус, возможно несущественным, является отсутствие поддержки ARM архитектур, в остальном же проект мало чем уступает Debian касательно разнообразия пакетов и/или численности сообщества;
  • Единственным отличием является использование различных систем управления пакетами – APT в Debian и YUM в CentOS; принципиальных отличий при работе из консоли нет, однако в плане производительности YUM работает чуть медленнее;
  • Пожалуй, главным преимуществом Debian перед CentOS является тот факт, что Debian послужил основой для множества дистрибутивов, в то время как CentOS сам по себе является «подобием» RedHatEnterpriseLinux.

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

В данной работе в качестве операционной системы на базе ядра Linux был выбран CentOS по причине личных предпочтений и некоторого опыта работы с данной операционной системой.

Подходы к построению маршрутизации

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

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

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

Рассмотрим принцип работы данной схемы. Сетевой кабель с Интернетом подключается в один из сетевых интерфейсов и устанавливаются настройки, выданные провайдером. Далее все компьютеры, посредством обычного (неуправляемого) коммутатора, объединяются в локальную сеть. Сервер, используя свободный сетевой интерфейс, также подключается к коммутатору; отметим, что на данном интерфейсе, для удобства, следует организовать динамическую выдачу IP-адресов для компьютеров в локальной сети. После чего производится программная настройка самого сервера.

В случае, когда сервер обладает только одним сетевым интерфейсом, задача незначительно усложняется. Здесь на помощь приходит концепция виртуальных сетевых интерфейсов (иногда их называют алиасами, англ. alias) – одиночный компьютер в сети обслуживает больше IP-адресов, чем позволяют имеющиеся физические сетевые интерфейсы. Таким образом, один физический сетевой интерфейс может иметь сразу несколько IP-адресов. Сразу оговорим тот факт, что виртуальный сетевой интерфейс должен смотреть во внешнюю сеть (Интернет), т.к. алиасы не поддерживают динамическую выдачу IP-адресов, необходимую нам для внутренней (локальной) сети. Схема организации локальной сети при наличии у сервера одного сетевого интерфейса представлена на рисунке 2.

Рисунок 2. Схема организации локальной сети при наличии
у сервера одного сетевого интерфейса.

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


Практическая часть

Установка операционной системы CentOS 6.6

В качестве операционной системы была выбрана CentOS 6.6 minimal. Особенностью сборки «minimal» является то, что в нее включены только самые основные пакеты, требуемые для запуска ОС и начала работы, и, соответственно, размер iso-образа составляет чуть более 300 Мб. Однако, не размер образа является важнейшим преимуществом, а тот факт, что на сервере (ведь дистрибутив операционной системы Linux - CentOS в первую очередь ориентирован на сервера) не будет установлено лишних программ и служб. Это вполне соответствует одному из важнейших принципов, которым должен следовать системный администратор, ведь чем меньше программ и служб - тем меньше потенциальных уязвимостей в системе, да и место на жестком диске и оперативная память остаются свободными.

В первую очередь, необходимо загрузить дистрибутив CentOS 6.6 minimal с официального сайта http://www.centos.org/. После того, как вы загрузите образ диска, запишите его на диск или usb-носитель и выполните загрузку. На первом экране вам будет необходимо выбрать первый пункт «Installorupgradeanexistingsystem» (рисунок 3).

Рисунок 3. Установочный экран CentOS 6.6.

Далее вам будет предложено произвести проверку целостности установочного образа. Это желательно, но необязательно, так что можно пропустить проверку, нажав «Skip» (рисунок 4).

Рисунок 4. Экран проверки целостности установочного образа.

После того, как будет выполнена загрузка графической утилиты установки,будет отображен следующий экран, на котором следует просто нажать «Next» (рисунок 5).

Рисунок 5. Экран графической утилиты установки.

Первым этапом вам будет предложено выбрать язык (рисунок 6). В данном случае был выбран английский язык.

Рисунок 6. Экран выбора языка операционной системы.

Далее необходимо выбрать язык раскладки клавиатуры (рисунок 7). Здесь также был выбран английский язык.

Рисунок 7. Экран выбора языка раскладки клавиатуры.

Следующим шагом необходимо осуществить выбор устройств хранения. Если вы устанавливаете CentOS на обычный жесткий/SSD диск или usb-диск выберите «BasicStorageDevices» (рисунок 8).

Рисунок 8. Экран выбора устройств хранения.

Если диск, на который вы устанавливаете ОС пустой, вы получите подобное предупреждение (рисунок 9). В этом случае необходимо подтвердить желание очистить диск, нажав «Yes».

Рисунок 9. Диалоговое окно очистки диска.

Далее следует указать имя компьютера (рисунок 10).

Рисунок 10. Экран ввода имени компьютера (хоста).

Теперь выберите часовой пояс. Обратите внимание на галочку «Systemclockuses UTC» - если вы устанавливаете CentOS как вторую систему, совместно с Windows, то её рекомендуется снять, т.к. в противном случае значение времени в этих ОС будет различаться (из-за используемых стандартов часовых поясов) (рисунок 11).

Рисунок 11. Экран выбора часового пояса.

Далее укажите пароль администратора системы (root) (рисунок 12).

Рисунок 12. Экран ввода пароля администратора (root).

Далее необходимо выбрать вариант использования дискового пространства для установки CentOS. Стандартные варианты подходят для большинства использований. Если вы устанавливаете CentOS на компьютер без других операционных систем, то выбирайте вариант «Useallspace», а если второй системой (например, после установки Windows), то, скорее всего, вам подойдет «Usefreespace». Также, если разбираетесь в файловых системах и разделах Linux и хотите сами создать разбиение, укажите «CreateCustomLayout». Для того, чтобы проверить и иметь возможность изменить стандартное разбиение поставьте галочку «Reviewandmodifypartitioninglayout» (рисунок 13).

Рисунок 13. Экран выбора использования дискового пространства.

Далее будет выведено последнее подтверждение перед записью разделов на диск, где следует выбрать «Writechangestodisk» (рисунок 14).

Рисунок 14. Подтверждение записи разделов на диск.

Далее сразу же пойдет установка пакетов, в которой находится только обязательное программное обеспечение и оно все будет установлено (рисунок 15).

Рисунок 15. Экран установки пакетов.

По окончании процесса установки нажмите «Reboot» для перезагрузки (рисунок 16).

Рисунок 16. Экран окончания процесса установки.

Настройка операционной системы CentOS 6.6

После перезагрузки операционной системы будет запущена консоль с просьбой ввести логин пользователя (рисунок 17).

Рисунок 17. Консоль с запросом логина пользователя.

Произведем авторизацию пользователя с логином «root» и заданным при установке паролем. При успешной авторизации, перед именем компьютера появится логин авторизовавшегося пользователя (рисунок 18).

Рисунок 18. Авторизация пользователя «root».

В текущей работе рассматривается организация локальной сети с использованием сервера с двумя сетевыми интерфейсами. Сетевой интерфейс внешней сети имеет IP-адрес 192.168.38.50, а сетевой интерфейс внутренней сети будет являться шлюзом локальной сети и будет иметь IP-адрес 10.210.0.1 (рисунок 19).

Рисунок 19. Схема организации локальной и внешней сети.

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

Рисунок 20. Просмотр имен сетевых интерфейсов.

Просматривая результаты выполнения команды ls, видно, что искомые сетевые интерфейсы имеют имена ifcfg-eth0 и ifcfg-eth1. Условимся, что сетевой интерфейс ifcfg-eth0 будет смотреть во внешнюю сеть. Произведем его настройку, вызвав команду vi (вызов текстового редактора) и указав путь к конфигурационному файлу (рисунок 21).

Рисунок 21. Путь к конфигурационному файлу ifcfg-eth0.

Открыв конфигурационный файл ifcfg-eth0, получаем следующее его содержимое (рисунок 22).

Рисунок 22. Первоначальное содержимое файла ifcfg-eth0.

Необходимо внести следующие изменения:

  • Изменить параметр ONBOOT, который отвечает за то, будет ли активировано устройство при загрузке, с no на yes;
  • Изменить параметр BOOTPROTO, который отвечает за то, какой протокол будет использован для устройства при загрузке, с dhcp на static;
  • Добавить параметр IPADDR, который указывает на IP-адрес устройства, и установить его значение 192.168.38.50;
  • Добавить параметр NETMASK, который указывает на маску устройства, и установить его значение 255.255.255.0;
  • Добавить параметр NETWORK, указывающий сеть, в которой находится устройства, и установить его значение 192.168.38.0;
  • Добавить параметр BROADCAST, который указывает широковещательный адрес, и установить его значение 192.168.38.255;
  • Добавить параметр GATEWAY, который указывает IP-адрес шлюза, и установить его значение 192.168.38.1.

Для того, чтобы внести изменения в файл, следует нажать клавишу «i» или «Insert», после чего текстовый редактор позволит изменять содержимое файла. Конфигурационный файл ifcfg-eth0 с внесенными изменениями представлен на рисунке 23.

Рисунок 23. Обновленное содержимое файла ifcfg-eth0.

Чтобы сохранить изменения в файле, нужно нажать клавишу «Esc» и далее ввести команду:wq, означающую, что следует выполнить выход с сохранением содержимого.

Аналогичным образом вносим изменения в конфигурационный файл второго сетевого интерфейса с именем ifcfg-eth1 (рисунки 24-25).

Рисунок 24. Путь к конфигурационному файлу ifcfg-eth1.

Рисунок 25. Обновленное содержимое файла ifcfg-eth1.

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

Далее следует отредактировать файл /etc/resolv.conf, содержащий информацию, которая позволяет компьютеру преобразовывать буквенно-цифровые доменные имена в цифровые IP-адреса (DNS). Для редактирования применяется команда vi (рисунок 26).

Рисунок 26. Путь к файлу resolv.conf.

Добавим в файл строку nameserver 192.168.0.1, означающую IP-адрес DNS сервера, после чего сохраним изменения (рисунок 27).

Рисунок 27. Обновленный файл resolv.conf.

Перезагрузим сетевые интерфейсы, используя команду servicenetworkrestart (рисунок 28).

Рисунок 28. Перезагрузка сетевых интерфейсов.

В случае успешной перезагрузки сетевых интерфейсов, получим следующий результат (рисунок 29).

Рисунок 29. Результат успешной перезагрузки сетевых интерфейсов.

Обновим операционную систему, используя команду yumupdate –y (рисунок 30).

Рисунок 30. Команда обновления системы.

Далее следует подождать, пока пакетный менеджер скачает и обновит все необходимые пакеты (рисунок 31).

Рисунок 31. Результат успешного обновления системы.

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

  • PREROUTING — для изначальной обработки входящих пакетов.
  • INPUT — для входящих пакетов адресованных непосредственно локальному процессу (клиенту или серверу).
  • FORWARD — для входящих пакетов перенаправленных на выход (заметьте, что перенаправляемые пакеты проходят сначала цепь PREROUTING, затем FORWARD и POSTROUTING).
  • OUTPUT — для пакетов генерируемых локальными процессами.
  • POSTROUTING — для окончательной обработки исходящих пакетов.

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

Прежде чем задавать цепочки, необходимо сбросить все имеющиеся цепочки, в том числе и пользовательские, включая таблицу nat (рисунок 32).

Рисунок 32. Удаление цепочек.

Далее настроим маскарадинг (англ. masquerading), представляющего собой тип трансляции сетевого адреса, при которой адрес отправителя подставляется динамически, в зависимости от назначенного интерфейсу адреса. Действие MASQUERADE допускается указывать только в цепочке POSTROUTING таблицы nat. Также настроим форвардинг, который представляет собой проброс портов из внешней сети во внутреннюю (рисунок 33).

Рисунок 33. Настройка маскарадинга и форвардинга.

Теперь необходимо переключить операционную систему в режим шлюза. Для этого необходимо внести изменения в файл /etc/sysctl.conf (рисунок 34), который предназначен для управления параметрами ядра на лету, а также позволяет читать и изменять параметры ядра, используя команду vi.Следует продолжить настройку форвардинга, изменив значение параметра net.ipv4.ip_forward с 0 на 1 в файле sysctl.conf и сохранить изменения (рисунки 35-36).

Рисунок 34. Путь к файлу sysctl.conf.

Рисунок 35. Первоначальное значение параметра net.ipv4.ip_forward.

Рисунок 36. Обновленное значение параметра net.ipv4.ip_forward.

Заключительным шагом в настройке является форвардинг между сетевыми интерфейсами. Для этого необходимо записать значение 1 в файл /proc/sys/net/ipv4/ip_forward, выполнив команду echo (рисунок 37).

Рисунок 37. Запись значения 1 в файл ip_forward.

Далее сохраняем конфигурацию iptables (рисунок 38). В случае успешного сохранения, получаем следующий результат (рисунок 39).

Рисунок 38. Сохранение конфигурации iptables.

Рисунок 39. Результат успешного сохранения конфигурации iptables.

После чего перезапускаем iptables (рисунок 40). В случае успешного перезапуска, получаем следующий результат (рисунок 41).

Рисунок 40. Перезапуск iptables.

Рисунок 41. Результат успешного перезапуска iptables.

Установим службу dhcpd, для динамической выдачи IP-адресов во внутренней сети, используя команду yuminstalldhcp –y (рисунок 42).

Рисунок 42. Установка службы dhcpd.

Подождав некоторое время, должны получить результат об успешной установке службы dhcpd (рисунок 43).

Рисунок 43. Результат успешной установки службы dhcpd.

Настроим конфигурацию DHCP. Для этого модифицируем конфигурационный файл /etc/dhcp/dhcp.conf, используя команду vi (рисунок 44).

Рисунок 44. Путь к файлу dhcpd.conf.

Внесем в него следующие параметры:

  • authoritative – означает то, что данный DHCP-сервер является главным (официальным) в локальной сети;
  • default-lease-time 1800 – время аренды выданного клиенту IP-адреса в секундах;
  • max-lease-time 7200 – максимально возможное время аренды IP-адреса в секундах;
  • log-facilitylocal7 – очередь, в которую будут отправляться логи DHCP-сервера;
  • subnet 10.210.0.0 netmask 255.255.255.0 – говорит о том, что наш DHCP-сервер будет работать с подсетью 10.210.0.0/24, т.е. адресным пространством от 10.210.0.1 до 10.210.0.255;
  • range 10.210.0.21 10.210.0.99 – диапазон IP-адресов, выдаваемых клиентам;
  • optionrouters 10.210.0.1 – шлюз, который будет передан клиентскому компьютеру, при получении IP-адреса по DHCP;
  • optiondomain-name-servers 8.8.8.8, 8.8.4.4 – адреса DNS-серверов, которые будут переданы клиентскому компьютеру, при получении IP адреса по DHCP.

Сохраним внесенные изменения. Обновленный файл dhcpd.conf представлен на рисунке 45.

Рисунок 45. Обновленный dhcpd.conf.

Запускаем службу dhcpd, используя команду servicedhcpdstart (рисунок 46).

Рисунок 46. Запуск службы dhcpd.

В случае успешного запуска, получаем следующий результат (рисунок 47).

Рисунок 47. Результат успешного запуска службы dhcpd.

Добавляем службу dhcpd в автозагрузку, посредством команды chkconfigdhcpdon (рисунок 48).

Рисунок 48. Добавление в автозагрузку службы dhcpd.

После чего перезагружаем операционную систему, с помощью команды reboot (рисунок 49).

Рисунок 49. Перезагрузка операционной системы.

При повторной авторизации, после перезагрузки, введя команду ipconfig | less, показывающую состояние сетевых интерфейсов, должны получить результат, представленный на рисунке 50.

Рисунок 50. Результат команды ipconfig | less.

Тестирование созданного шлюза

Тестирование работоспособности шлюза производилось на машине с установленной операционной системой Windows 7, на которой настроено автоматическое получение IP-адресов. Открыв сведения о сетевом подключении (рисунок 51), можно обнаружить, что машине был выдан корректный IP-адрес из сети 10.210.0.0, шлюзом для которой является созданная в работе конфигурация под управлением операционной системы CentOS.

Рисунок 51. Сведения о сетевом подключении.

Далее, посредством командной строки Windows и команды ping попытаемся «достучаться» до машины, с IP-адресом 192.168.38.1 (Рисунок 52). В качестве подтверждения, что команда ping вызывалась с описываемой машины, была вызвана команда ipconfig, отображающая сведения о сетевом подключении.

Рисунок 52. Результат вызова команд ipconfig и ping.

Как видно из рисунка 52, команда ping успешно отработала и потери пакетов не произошла, что свидетельствует о том, что созданная система справилась со своим назначением.


Заключение

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

В ходе работы, была произведена установка операционной системы CentOS 6.6 minimal и дано подробное описание данного процесса. Также было рассмотрено конфигурирование сетевых интерфейсов, для различных сетей и описан процесс настройки маскарадинга и форвардинга. Также был установлен DHCP-сервер для динамической выдачи IP-адресов машинам, находящимся во внутренней (локальной) сети. В заключении осуществлено тестирование созданного шлюза, посредство компьютера из локальной сети с установленной на нем операционной системой Windows 7. Результат тестирования признан успешным и, таким образом, поставленная задача была решена.


Список используемой литературы

26

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