LXF162:Рубрика сисадмина
Olkol (обсуждение | вклад) (→Туманные тарифы) |
Olkol (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии 1 участника) | |||
Строка 57: | Строка 57: | ||
А что думаю я? Мне, пожалуйста, обезжиренный венте мокка фраппучино с 50 % содержанием кофеина, с собой. | А что думаю я? Мне, пожалуйста, обезжиренный венте мокка фраппучино с 50 % содержанием кофеина, с собой. | ||
+ | |||
+ | ==Итак, вы хотите стать сисадмином?== | ||
+ | |||
+ | ''Вторая часть серии, которая превратит вас из новичка в звезду системного администрирования. Поговорим о настройке сети.'' | ||
+ | |||
+ | В прошлом месяце мы говорили о способах удаленного подключения к серверам, которые вы администрируете. Мы обсудили такие утилиты, как ssh и VNC. На сей раз мы поговорим об основах настройки сети на сервере. Вы научитесь: | ||
+ | |||
+ | » Задавать IP-адрес, маску подсети и другие параметры сетевых интерфейсов | ||
+ | |||
+ | » Задавать маршрут по умолчанию | ||
+ | |||
+ | » Задавать статические маршруты к заданным сетям | ||
+ | |||
+ | » Задавать расположение DNS-серверов | ||
+ | |||
+ | » Настраивать Linux для работы в качестве маршрутизатора | ||
+ | |||
+ | Во всех статьях этой серии мы работаем с CentOS 6.2. Если вы хотите последовать нашему примеру (что я настоятельно советую сделать), установите CentOS (например, в виртуальную машину), как описано на предыдущем уроке. Итак, начнем... | ||
+ | |||
+ | Серверы (по определению) существуют не изолированно, а подключаются к сетям. На главном рисунке показана типичная ситуация, в которой может оказаться сервер. Основные персонажи нашей истории (показанные на рисунке) таковы: | ||
+ | |||
+ | A: Главный герой нашей истории. Это компьютер с Linux, который мы настраиваем. Он находится в сети 10.1.3.0/24, одной из внутренних сетей компании. | ||
+ | |||
+ | B: Компьютер во внутренней сети 10.1.2.0/24. | ||
+ | |||
+ | C: Маршрутизатор, который связывает нашу внутреннюю сеть с корпоративной магистралью, сетью 10.1.1.0/24. Как и остальные маршрутизаторы на рисунке, он может быть и спецустройством от изготовителей вроде Cisco, и компьютером с Linux. На его примере мы рассмотрим настройку маршрутизатора Linux. | ||
+ | |||
+ | D: Маршрутизатор, связывающий внутреннюю сеть с корпоративной магистралью. | ||
+ | |||
+ | E: Маршрутизатор, связывающий две внутренние сети. | ||
+ | |||
+ | F: DNS-сервер компании (собственные DNS-серверы есть не у всех компаний, но у этой есть). | ||
+ | |||
+ | G: Другой компьютер на корпоративной магистрали. | ||
+ | |||
+ | H: Маршрутизатор, связывающий всю компанию с Интернетом. Его внешний IP-адрес – единственный доступный извне адрес на рисунке. Все остальные находятся в диапазоне 10.0.0.0/8, выделенном только для внутреннего частного использования. | ||
+ | |||
+ | [[Файл:LXF162.sysadmin2.png |right |600px | thumb|Сетевая архитектура, используемая для примеров в этой статье. Кружочки со стрелками обозначают маршрутизаторы.]] | ||
+ | |||
+ | Основная часть настройки сети – задание IP-адреса и маски подсети сетевого интерфейса нашего сервера. В большинстве дистрибутивов Linux это можно сделать в графических утилитах, но мы предполагаем, что на сервере нет графического рабочего стола. Поэтому посмотрим, как изменить соответствующие конфигурационные файлы. Все это обычные текстовые файлы, и сложностью они не отличаются. | ||
+ | |||
+ | В файле /etc/sysconfig/network задаются некоторые базовые системные настройки, то есть те, что применяются ко всем сетевым интерфейсам сервера, а не только к одному. Файл обычно очень короткий, нечто вроде этого: | ||
+ | |||
+ | NETWORKING=yes | ||
+ | |||
+ | HOSTNAME=centos62.example.com | ||
+ | |||
+ | Настройки для отдельных сетевых интерфейсов, в данном случае для eth0, задаются в файлах с именами типа /etc/sysconfig/network-scripts/ifcfg-eth0. Содержимое файла в CentOS 6.2 зависит от настроек сети, заданных во время установки системы, но в нем скорее всего будет следующая строка: | ||
+ | |||
+ | NM_CONTROLLED=”yes” | ||
+ | |||
+ | Она означает, что интерфейс находится под управлением NetworkManager – утилиты из Red Hat (перенятой другими дистрибутивами), которая пытается поддержать активное сетевое соединение для компьютеров, которые часто перемещаются между различными сетями, с минимальным вмешательством пользователя или вообще без него. Обнаружив проводное Ethernet-соединение, она активирует его, а если сделать это не удастся, то она подключится к сети Wi-Fi, к которой вы подключались ранее. Эта утилита весьма удобна для ноутбуков, но для серверов не годится. Поэтому мы избавимся от NetworkManager и настроим все вручную. | ||
+ | |||
+ | Сперва остановим NetworkManager и отменим его запуск во время загрузки: | ||
+ | |||
+ | # service NetworkManager stop | ||
+ | |||
+ | # chkconfig NetworkManager off | ||
+ | |||
+ | Прощай, NetworkManager. Далее откроем файл ifcfgeth0 и зададим нужные параметры. Если вы следуете за нами, помните, что IP-адрес, который вы установите, должен соответствовать вашей сети и скорее всего не совпадет с указанным здесь. Вот простой пример: | ||
+ | |||
+ | DEVICE=”eth0” | ||
+ | |||
+ | ONBOOT=yes | ||
+ | |||
+ | BOOTPROTO=none | ||
+ | |||
+ | IPADDR=10.1.3.8 | ||
+ | |||
+ | NETMASK=255.255.255.0 | ||
+ | |||
+ | IPV6INIT=no | ||
+ | |||
+ | Будьте внимательны с синтаксисом файла. Он обрабатывается напрямую оболочкой, поэтому синтаксис должен быть верным. В частности, вокруг знака равенства не допускаются пробелы. Это следует соблюдать строго. Изменив этот файл, перезапустите сеть, чтобы изменения вошли в силу: | ||
+ | |||
+ | # system network restart | ||
+ | |||
+ | {{Врезка|left|Заголовок=Запись IP-адреса |Ширина=50%|Содержание=Адрес IPV4 содержит 32 бита. При записи он разбивается на фрагменты по 8 бит, и они записываются в виде десятичных чисел (от 0 до 255) через точки, как показано на рисунке. Это называется десятичной записью через точку. Первая часть адреса – идентификатор сети; он идентифицирует сеть и используется при маршрутизации. Вторая часть – идентификатор компьютера; он идентифицирует конкретный компьютер (или, строго говоря, конкретное подключение) в данной сети. | ||
+ | |||
+ | Маска подсети в конкретной сети обозначает границу между идентификатором сети и идентификатором компьютера. Единицы в ней соответствуют идентификатору сети, нули – идентификатору компьютера. К примеру, маска подсети 255.255.252.0, в двоичном виде – 22 единицы и 10 нулей, означает, что первые 22 бита являются идентификатором сети. | ||
+ | |||
+ | Чаще всего вы увидите запись сетевой маски в виде суффикса. Например, в сети 10.1.3.0/24 идентификатором сети являются первые 24 бита адреса. В данном случае граница между идентификаторами сети и компьютера проходит по границе байта, но это не является обязательным требованием. В настоящее время в зависимости от контекста используются как более старая точечная десятичная запись, так и более новая запись с суффиксом. }} | ||
+ | |||
+ | {{Врезка|left|Заголовок=Станьте экспертом |Ширина=50%|Содержание=На man-страницах очень невразумительно описана общая картина настройки сети IP, поэтому я бы посоветовал вам книгу «Руководство администратора сети Linux» издательства О’Рэйли (третье издание). А если вы действительно хотите понять, как работают сети IP, прочтите «Иллюстрированный TCP/IP, том 1: Протоколы». Это второе издание книги Кевина Фолла [Kevin Fall], основанной на классической работе покойного Ричарда Стивенса [Richard Stevens], которая, на мой взгляд, является лучшей книгой о TCP/IP. | ||
+ | |||
+ | Если вы хотите отделаться бесплатно, загрузите Руководство и технический обзор TCP/IP из Красной книги IBM с http://www.redbooks.ibm.com/abstracts/gg243376.html?Open. }} | ||
+ | Эта команда остановит, а затем перезапустит все сетевые интерфейсы (в данном случае их два – интерфейс обратной петли и eth0). Если у вас несколько сетевых интерфейсов, то можно перезапустить только необходимые интерфейсы, следующим образом: | ||
+ | |||
+ | # ifdown eth0 | ||
+ | |||
+ | # ifup eth0 | ||
+ | |||
+ | Какой бы способ вы ни выбрали, теперь нужно проверить, что интерфейс активен – это делается так: | ||
+ | |||
+ | # ifconfig eth0 | ||
+ | |||
+ | eth0 Link encap:Ethernet HWaddr 08:00:27:6D:55:56 | ||
+ | |||
+ | inet addr:10.1.3.8 Bcast:10.1.3.255 Mask:255.255.255.0 | ||
+ | |||
+ | UP BROADCAST RUNNING MULTICAST MTU:1500 | ||
+ | |||
+ | Metric:1 | ||
+ | |||
+ | Для краткости я удалил несколько строк вывода, но здесь важно то, что карте назначен адрес IPV4. Как видите, интерфейс активен и имеет полагающийся ему IP-адрес. Да, я знаю, что на man-странице ifconfig говорится, что такие адреса уже устарели. Но все продолжают ими пользоваться. Как написал Марк Твен, прочитав свой некролог в «Нью-Йорк Таймс»: «Слухи о моей смерти сильно преувеличены». | ||
+ | |||
+ | Еще один способ ощутить теплое, приятное и трепетное ощущение того, что интерфейс жив – попробовать попинговать его с другого компьютера. Если сервер Linux запущен на виртуальной машине, попробуйте попинговать его с хоста: | ||
+ | |||
+ | # ping -c1 10.1.3.8 | ||
+ | |||
+ | PING 10.1.3.8 (10.1.3.8) 56(84) bytes of data. | ||
+ | |||
+ | 64 bytes from 10.1.3.8: icmp_req=1 ttl=64 time=11.6 ms | ||
+ | |||
+ | --- 10.1.3.8 ping statistics --- | ||
+ | |||
+ | 1 packets transmitted, 1 received, 0% packet loss, time 0ms | ||
+ | |||
+ | rtt min/avg/max/mdev = 11.661/11.661/11.661/0.000 ms | ||
+ | |||
+ | ===Финальные штрихи=== | ||
+ | |||
+ | Следующая задача – определить шлюз по умолчанию. На этот шлюз мы будем перенаправлять пакеты, предназначенные для компьютеров вне нашей сети, при условии, что более точного маршрута не задано. По сути, шлюз по умолчанию – последнее прибежище. На нашей схеме сети шлюз по умолчанию для сервера Linux – это нижнее подключение к маршрутизатору C. Шлюз по умолчанию можно указать в файле ifcfg-eth0 следующим образом: | ||
+ | |||
+ | GATEWAY=10.1.3.254 | ||
+ | |||
+ | Наконец, нужно сказать серверу, где находятся его DNS-серверы. Для этого нужно добавить в файл /etc/resolv.conf строку | ||
+ | |||
+ | nameserver 10.1.1.200 | ||
+ | |||
+ | В данном случае мы пользуемся местным DNS-сервером на нашей корпоративной магистрали. Скорее всего этот сервер будет только кэшировать запросы, перенаправляя их на DNS-сервер более высокого уровня и запоминая последовательные запросы одних и тех же данных, которые можно сохранить в локальном кэше и затем быстро извлечь оттуда. Если у вас нет локального сервера DNS, укажите внешний. | ||
+ | |||
+ | Каким бы ни был основной сервер DNS, стоит указать вторичный (просто добавьте еще одну строку nameserver в resolv.conf), чтобы разрешение имен продолжало работать, если основной сервер выйдет из строя. Это один из немногих случаев, когда для смены конфигурации не нужно отправлять сигнал демону или что-то перезапускать. Измененный файл resolv.conf будет прочитан автоматически при выполнении следующего запроса DNS. | ||
+ | |||
+ | На этом базовая настройка сервера закончена. Однако кое-что можно улучшить. В данной конфигурации наш компьютер обратится к сети 10.1.2.0/24, пройдя через шлюз по умолчанию C, а затем через маршрутизатор D. Но, конечно, есть и более короткий путь – через маршрутизатор E. Чтобы сервер знал об этом маршруте, нужно добавить примерно такую строку в файл /etc/sysconfig/network-scripts/routeeth0: | ||
+ | |||
+ | 10.1.2.0/24 via 10.1.3.252 | ||
+ | |||
+ | Таблицу маршрутизации сервера можно просмотреть так: | ||
+ | |||
+ | $ netstat -nr | ||
+ | |||
+ | Kernel IP routing table | ||
+ | |||
+ | Destination Gateway Genmask Iface | ||
+ | |||
+ | 10.1.3.0 0.0.0.0 255.255.255.0 eth0 | ||
+ | |||
+ | 10.1.2.0 10.1.3.252 255.255.255.0 eth0 | ||
+ | |||
+ | 169.254.0.0 0.0.0.0 255.255.0.0 eth0 | ||
+ | |||
+ | 0.0.0.0 10.1.3.254 0.0.0.0 eth0 | ||
+ | |||
+ | Я немного сократил вывод для экономии места. Таблица маршрутизации используется так: когда входящий пакет поступает на уровень обработчика протокола IP ядра, он сравнивается с каждым маршрутом в таблице по очереди. Сравнение выполняется путем побитового объединения по «И» IP-адреса назначения пакета со значением Genmask в таблице, а затем сравнением результата со значением Destination. Если они равны, пакет соответствует правилу. Из соответствующих правилу пакетов выбирается самый конкретный маршрут (с самой длинным значением Genmask). | ||
+ | |||
+ | В первой строке таблицы задана сеть, напрямую подключенная к нашей (шлюз указан как 0.0.0.0). Во второй строке определяется маршрут к сети 10.1.2.0 (это следует из строки, которую мы поместили в route-eth0). Третью строку добавил демон Avahi, реализующий архитектуру Zeroconf Apple; она не относится к нашей истории. Четвертая строка – маршрут по умолчанию. Любой пакет, для которого не нашлось более точного маршрута, будет соответствовать этому правилу, так как побитовое объединение по «И» любого адреса с Genmask 0.0.0.0 будет соответствовать Destination 0.0.0.0. | ||
+ | |||
+ | ===Настройка маршрутизатора=== | ||
+ | |||
+ | О сервере Linux, с его единственным сетевым интерфейсом, мы поговорили вдоволь. Поставим себе более амбициозную цель: настроим компьютер с Linux так, чтобы он играл роль маршрутизатора C на схеме. Это очень просто. У этого компьютера два сетевых интерфейса, eth0 и eth1. Пусть eth1 – верхний интерфейс с IP-адресом 10.1.1.1, а eth0 – нижний с IP-адресом 10.1.3.254. Вам понадобится создать два конфигурационных файла ifcfg-eth0 и ifcfg-eth1, указав в каждом соответствующий IP-адрес. Также не забудьте изменить строку DEVICE= в соответствии с именем интерфейса. Единственное, что осталось сделать для превращения компьютера в маршрутизатор – включить перенаправление IP-пакетов (под этим я понимаю прием пакета на один сетевой интерфейс и его перенаправление на другой). Ядро Linux не делает этого по умолчанию, но включить его легко – просто пропишите 1 в соответствующий параметр ядра таким образом: | ||
+ | |||
+ | # echo 1 > /proc/sys/net/ipv4/ip_forward | ||
+ | |||
+ | То же самое можно сделать и покороче: | ||
+ | |||
+ | # sysctl -w net.ipv4.ip_forward=1 | ||
+ | |||
+ | Эта команда включит перенаправление IP-пакетов. Чтобы изменения стали постоянными, просто добавьте такую строку в /etc/sysctl.conf: | ||
+ | |||
+ | net.ipv4.ip_forward = 1 | ||
+ | |||
+ | Готово! Вы только что настроили маршрутизатор! Если вы захотите попробовать это на VMWare, VirtualBox или другой технологии виртуализации, добавить еще один сетевой интерфейс в окнах настройки виртуальной машины можно парой щелчков мыши. На самом деле, при желании можно создать целую виртуальную сетевую инфраструктуру. | ||
+ | |||
+ | Через месяц мы поговорим об управлении хранилищами данных. Мы научимся добавлять диски, разбивать их на разделы, создавать файловые системы и многое другое. Увидимся! | |
Текущая версия на 02:58, 11 октября 2018
|
|
|
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
По рецептам доктора Брауна
Эзотерическое системное администрирование из причудливых заворотов кишок серверной
Содержание |
[править] Туманные тарифы
Выбор облачных сервисов на AWS становится таким же сложным, как и заказ кофе в Старбаксе.
На заре эпохи Amazon Web Services все было просто: создаете несколько экземпляров компьютеров, подключаете к ним жесткие диски – и за пару секунд готов почасовой тариф для вашей конфигурации. Увы, все меняется. Теперь, если вы не защитили докторскую диссертацию по теме «Геодезическая полнота бесконечно дифференцируемых Римановых пространств», расчет тарифа сведет вас с ума.
Но не бойтесь – помощь рядом. У Amazon на http://calculator.s3.amazonaws.com/calc5.html есть «Простой калькулятор месячного тарифа». Узнав, сколько вам нужно экземпляров компьютеров по требованию и сколько зарезервированных экземпляров, и какие из 12 доступных типов экземпляров, сколько эластичных IP-адресов, и какой объем места на диске (и какая его часть будет «избыточной») могут вам понадобиться, сколько запросов PUT и GET вы выполните и сколько VPN-соединений установите, а также... и... (в общем, список довольно длинный, но, уверен, вы поняли идею), калькулятор посчитает стоимость. На рисунке внизу показана только одна из 17 вкладок по сервисам Amazon. Это какое-то новое значение слова «простой», раньше я о нем не знал.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
У Rackspace тоже есть калькулятор стоимости (http://www.rackspace.co.uk/cloudhosting/learn-more/calculator); он гораздо проще, прежде всего потому, что набор сервисов здесь гораздо беднее.
Допустим, я понимаю преимущества быстрой масштабируемости и почасовой тарификации, а также переноса капитальных затрат в операционные, но мне все же интересно: когда, наконец, кто-нибудь скажет, что расходами управлять проще, имея собственный дата-центр?
А что думаю я? Мне, пожалуйста, обезжиренный венте мокка фраппучино с 50 % содержанием кофеина, с собой.
[править] Итак, вы хотите стать сисадмином?
Вторая часть серии, которая превратит вас из новичка в звезду системного администрирования. Поговорим о настройке сети.
В прошлом месяце мы говорили о способах удаленного подключения к серверам, которые вы администрируете. Мы обсудили такие утилиты, как ssh и VNC. На сей раз мы поговорим об основах настройки сети на сервере. Вы научитесь:
» Задавать IP-адрес, маску подсети и другие параметры сетевых интерфейсов
» Задавать маршрут по умолчанию
» Задавать статические маршруты к заданным сетям
» Задавать расположение DNS-серверов
» Настраивать Linux для работы в качестве маршрутизатора
Во всех статьях этой серии мы работаем с CentOS 6.2. Если вы хотите последовать нашему примеру (что я настоятельно советую сделать), установите CentOS (например, в виртуальную машину), как описано на предыдущем уроке. Итак, начнем...
Серверы (по определению) существуют не изолированно, а подключаются к сетям. На главном рисунке показана типичная ситуация, в которой может оказаться сервер. Основные персонажи нашей истории (показанные на рисунке) таковы:
A: Главный герой нашей истории. Это компьютер с Linux, который мы настраиваем. Он находится в сети 10.1.3.0/24, одной из внутренних сетей компании.
B: Компьютер во внутренней сети 10.1.2.0/24.
C: Маршрутизатор, который связывает нашу внутреннюю сеть с корпоративной магистралью, сетью 10.1.1.0/24. Как и остальные маршрутизаторы на рисунке, он может быть и спецустройством от изготовителей вроде Cisco, и компьютером с Linux. На его примере мы рассмотрим настройку маршрутизатора Linux.
D: Маршрутизатор, связывающий внутреннюю сеть с корпоративной магистралью.
E: Маршрутизатор, связывающий две внутренние сети.
F: DNS-сервер компании (собственные DNS-серверы есть не у всех компаний, но у этой есть).
G: Другой компьютер на корпоративной магистрали.
H: Маршрутизатор, связывающий всю компанию с Интернетом. Его внешний IP-адрес – единственный доступный извне адрес на рисунке. Все остальные находятся в диапазоне 10.0.0.0/8, выделенном только для внутреннего частного использования.
Основная часть настройки сети – задание IP-адреса и маски подсети сетевого интерфейса нашего сервера. В большинстве дистрибутивов Linux это можно сделать в графических утилитах, но мы предполагаем, что на сервере нет графического рабочего стола. Поэтому посмотрим, как изменить соответствующие конфигурационные файлы. Все это обычные текстовые файлы, и сложностью они не отличаются.
В файле /etc/sysconfig/network задаются некоторые базовые системные настройки, то есть те, что применяются ко всем сетевым интерфейсам сервера, а не только к одному. Файл обычно очень короткий, нечто вроде этого:
NETWORKING=yes
HOSTNAME=centos62.example.com
Настройки для отдельных сетевых интерфейсов, в данном случае для eth0, задаются в файлах с именами типа /etc/sysconfig/network-scripts/ifcfg-eth0. Содержимое файла в CentOS 6.2 зависит от настроек сети, заданных во время установки системы, но в нем скорее всего будет следующая строка:
NM_CONTROLLED=”yes”
Она означает, что интерфейс находится под управлением NetworkManager – утилиты из Red Hat (перенятой другими дистрибутивами), которая пытается поддержать активное сетевое соединение для компьютеров, которые часто перемещаются между различными сетями, с минимальным вмешательством пользователя или вообще без него. Обнаружив проводное Ethernet-соединение, она активирует его, а если сделать это не удастся, то она подключится к сети Wi-Fi, к которой вы подключались ранее. Эта утилита весьма удобна для ноутбуков, но для серверов не годится. Поэтому мы избавимся от NetworkManager и настроим все вручную.
Сперва остановим NetworkManager и отменим его запуск во время загрузки:
# service NetworkManager stop
# chkconfig NetworkManager off
Прощай, NetworkManager. Далее откроем файл ifcfgeth0 и зададим нужные параметры. Если вы следуете за нами, помните, что IP-адрес, который вы установите, должен соответствовать вашей сети и скорее всего не совпадет с указанным здесь. Вот простой пример:
DEVICE=”eth0”
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.1.3.8
NETMASK=255.255.255.0
IPV6INIT=no
Будьте внимательны с синтаксисом файла. Он обрабатывается напрямую оболочкой, поэтому синтаксис должен быть верным. В частности, вокруг знака равенства не допускаются пробелы. Это следует соблюдать строго. Изменив этот файл, перезапустите сеть, чтобы изменения вошли в силу:
# system network restart
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Эта команда остановит, а затем перезапустит все сетевые интерфейсы (в данном случае их два – интерфейс обратной петли и eth0). Если у вас несколько сетевых интерфейсов, то можно перезапустить только необходимые интерфейсы, следующим образом:
# ifdown eth0
# ifup eth0
Какой бы способ вы ни выбрали, теперь нужно проверить, что интерфейс активен – это делается так:
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:6D:55:56
inet addr:10.1.3.8 Bcast:10.1.3.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500
Metric:1
Для краткости я удалил несколько строк вывода, но здесь важно то, что карте назначен адрес IPV4. Как видите, интерфейс активен и имеет полагающийся ему IP-адрес. Да, я знаю, что на man-странице ifconfig говорится, что такие адреса уже устарели. Но все продолжают ими пользоваться. Как написал Марк Твен, прочитав свой некролог в «Нью-Йорк Таймс»: «Слухи о моей смерти сильно преувеличены».
Еще один способ ощутить теплое, приятное и трепетное ощущение того, что интерфейс жив – попробовать попинговать его с другого компьютера. Если сервер Linux запущен на виртуальной машине, попробуйте попинговать его с хоста:
# ping -c1 10.1.3.8
PING 10.1.3.8 (10.1.3.8) 56(84) bytes of data.
64 bytes from 10.1.3.8: icmp_req=1 ttl=64 time=11.6 ms
--- 10.1.3.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 11.661/11.661/11.661/0.000 ms
[править] Финальные штрихи
Следующая задача – определить шлюз по умолчанию. На этот шлюз мы будем перенаправлять пакеты, предназначенные для компьютеров вне нашей сети, при условии, что более точного маршрута не задано. По сути, шлюз по умолчанию – последнее прибежище. На нашей схеме сети шлюз по умолчанию для сервера Linux – это нижнее подключение к маршрутизатору C. Шлюз по умолчанию можно указать в файле ifcfg-eth0 следующим образом:
GATEWAY=10.1.3.254
Наконец, нужно сказать серверу, где находятся его DNS-серверы. Для этого нужно добавить в файл /etc/resolv.conf строку
nameserver 10.1.1.200
В данном случае мы пользуемся местным DNS-сервером на нашей корпоративной магистрали. Скорее всего этот сервер будет только кэшировать запросы, перенаправляя их на DNS-сервер более высокого уровня и запоминая последовательные запросы одних и тех же данных, которые можно сохранить в локальном кэше и затем быстро извлечь оттуда. Если у вас нет локального сервера DNS, укажите внешний.
Каким бы ни был основной сервер DNS, стоит указать вторичный (просто добавьте еще одну строку nameserver в resolv.conf), чтобы разрешение имен продолжало работать, если основной сервер выйдет из строя. Это один из немногих случаев, когда для смены конфигурации не нужно отправлять сигнал демону или что-то перезапускать. Измененный файл resolv.conf будет прочитан автоматически при выполнении следующего запроса DNS.
На этом базовая настройка сервера закончена. Однако кое-что можно улучшить. В данной конфигурации наш компьютер обратится к сети 10.1.2.0/24, пройдя через шлюз по умолчанию C, а затем через маршрутизатор D. Но, конечно, есть и более короткий путь – через маршрутизатор E. Чтобы сервер знал об этом маршруте, нужно добавить примерно такую строку в файл /etc/sysconfig/network-scripts/routeeth0:
10.1.2.0/24 via 10.1.3.252
Таблицу маршрутизации сервера можно просмотреть так:
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Iface
10.1.3.0 0.0.0.0 255.255.255.0 eth0
10.1.2.0 10.1.3.252 255.255.255.0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 eth0
0.0.0.0 10.1.3.254 0.0.0.0 eth0
Я немного сократил вывод для экономии места. Таблица маршрутизации используется так: когда входящий пакет поступает на уровень обработчика протокола IP ядра, он сравнивается с каждым маршрутом в таблице по очереди. Сравнение выполняется путем побитового объединения по «И» IP-адреса назначения пакета со значением Genmask в таблице, а затем сравнением результата со значением Destination. Если они равны, пакет соответствует правилу. Из соответствующих правилу пакетов выбирается самый конкретный маршрут (с самой длинным значением Genmask).
В первой строке таблицы задана сеть, напрямую подключенная к нашей (шлюз указан как 0.0.0.0). Во второй строке определяется маршрут к сети 10.1.2.0 (это следует из строки, которую мы поместили в route-eth0). Третью строку добавил демон Avahi, реализующий архитектуру Zeroconf Apple; она не относится к нашей истории. Четвертая строка – маршрут по умолчанию. Любой пакет, для которого не нашлось более точного маршрута, будет соответствовать этому правилу, так как побитовое объединение по «И» любого адреса с Genmask 0.0.0.0 будет соответствовать Destination 0.0.0.0.
[править] Настройка маршрутизатора
О сервере Linux, с его единственным сетевым интерфейсом, мы поговорили вдоволь. Поставим себе более амбициозную цель: настроим компьютер с Linux так, чтобы он играл роль маршрутизатора C на схеме. Это очень просто. У этого компьютера два сетевых интерфейса, eth0 и eth1. Пусть eth1 – верхний интерфейс с IP-адресом 10.1.1.1, а eth0 – нижний с IP-адресом 10.1.3.254. Вам понадобится создать два конфигурационных файла ifcfg-eth0 и ifcfg-eth1, указав в каждом соответствующий IP-адрес. Также не забудьте изменить строку DEVICE= в соответствии с именем интерфейса. Единственное, что осталось сделать для превращения компьютера в маршрутизатор – включить перенаправление IP-пакетов (под этим я понимаю прием пакета на один сетевой интерфейс и его перенаправление на другой). Ядро Linux не делает этого по умолчанию, но включить его легко – просто пропишите 1 в соответствующий параметр ядра таким образом:
# echo 1 > /proc/sys/net/ipv4/ip_forward
То же самое можно сделать и покороче:
# sysctl -w net.ipv4.ip_forward=1
Эта команда включит перенаправление IP-пакетов. Чтобы изменения стали постоянными, просто добавьте такую строку в /etc/sysctl.conf:
net.ipv4.ip_forward = 1
Готово! Вы только что настроили маршрутизатор! Если вы захотите попробовать это на VMWare, VirtualBox или другой технологии виртуализации, добавить еще один сетевой интерфейс в окнах настройки виртуальной машины можно парой щелчков мыши. На самом деле, при желании можно создать целую виртуальную сетевую инфраструктуру.
Через месяц мы поговорим об управлении хранилищами данных. Мы научимся добавлять диски, разбивать их на разделы, создавать файловые системы и многое другое. Увидимся! |