Ос linux хранятся соответствия ip адресов

Часть III. Рекомендации, связанные с сетью

Глава 6. Управление сетями TCP/IP

Краткий обзор

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

Инсталляция более одной Ethernet-карты на одной машине

Вы можете использовать Linux как шлюз между двумя сетями. Для этого Вы должны иметь на сервере две сетевые карты. Ядро Linux не определяет несколько сетевых карт автоматически при загрузке. Если Вы хотите иметь больше одной сетевой карты, то надо определить параметры карт в lilo.conf для монолитного ядра или в conf.modules для модульного ядра. При работе с сетевыми картами Вы можете столкнуться со следующими проблемами.

Если драйвер карты был создан как загружаемый модуль (модульное ядро), в случае PCI-карт, модули определяют карты автоматически. Для ISA-карт надо определить I/O адрес карты, чтобы модуль знал, где ее смотреть. Эта информация хранится в /etc/conf.modules.

Например, мы рассмотрим две ISA-карты 3c509, у первой I/O=0x300, а у второй I/O=320. Для ISA-карт редактируем файл conf.modules (vi /etc/conf.modules) и добавляем в него:

Это говорит, что драйвер 3c509 должен быть загружен для eth0 и eth1, и что при этом I/O=0x300 и 0x320 соответственно. Обратите внимание на запись. Прерывания записываются как 0x, а не как в DOS 300h.

Для PCI-карт обычно достаточно alias-строк, определяющих связь между устройством (ethN) и драйвером (3c509), потому что обычно I/O спокойно определяется автоматически.

Для PCI-карт редактируйте файл conf.modules (vi /etc/conf.modules) и добавьте в него:

Если драйверы вкомпилированы в ядро (монолитное ядро), проверка PCI будет находить все карты автоматически. ISA-карты также будут определяться автоматически, но в некоторых случаях нужно сделать следующее. Эта информация сохраняется в файле /etc/lilo.conf. Метод заключается в передаче аргументов для загрузки ядру, которую обычно делает LILO.

Для ISA-карт, редактируйте файл lilo.conf (vi /etc/lilo.conf) и добавьте в него:

Замечание. В первый раз попробуйте загрузиться без аргументов загрузки, и только если ничего не получится воспользуйтесь вышеприведенной строкой. В этом случае eth0 и eth1 будут назначаться в порядке, в котором карты будут определены. Так как мы перекомпилировали ядро, мы должны использовать второй метод (если драйверы встроены в ядро) для инсталляции второй Ethernet-карты в нашей системе. Помните, что он нужен только в ряде случаев для ISA-карт, PCI-карты будут определяться автоматически.

Файлы, связанные с функционированием сети

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

Читайте также:  Драйвер для hd 5750 windows 10

В этом файле хранится полное доменное имя Вашего компьютера, например, deep.openna.com. Ниже приведен пример содержимого этого файла:

Конфигурационный файл для каждого сетевого устройства, которое существует или Вы планируете добавить (в Red Hat 6.1 и 6.2), находится в каталоге /etc/sysconfig/network-scripts и называется ifcfg-eth0 для первого интерфейса, ifcfg-eth1 для второго и т. д. Ниже приведен пример конфигурационного файла /etc/sysconfig/network-scripts/ifcfg-eth0:

Если Вы хотите модифицировать сетевые адреса вручную или добавить новое устройство на новом интерфейсе, редактируйте этот файл (ifcfg-ethN), или создайте новый и внесите в него соответствующие изменения.

Это еще одни текстовый файл, используемый определителем (resolver), библиотекой, которая определяет IP-адрес по имени.

Пример этого файла:

Замечание. Запросы посылаются на серверы имен в порядке перечисления в файле /etc/resolv.conf (primary, secondary и т. д).

Этот файл устанавливает, как определяются имена. Linux использует библиотеку определителей для получения IP-адреса по имени.

Пример этого файла:

Опция order используется для определения порядка использования сервисов. В примере установлено, что вначале библиотека определителя обращается к DNS-серверу, а затем к файлу /etc/hosts. Опция multi говорит, что компьютеры, описанные в файле /etc/hosts, могут иметь несколько IP-адресов (несколько интерфейсов ethN). Например, шлюз всегда имеет несколько адресов, и у них эта опция должна быть всегда определена в ON. Опция nospoof предписывает не разрешать подмену адресов. IP-Spoofing это способ атаки при котором удаленный компьютер представляется кем-то, кем он не является на самом деле.

Файл /etc/sysconfig/network описывает желательную сетевую конфигурацию сервера.

Пример этого файла:

NETWORKING=answer, где answer это yes или no (Настраивать сеть или нет).
FORWARD_IPV4=answer, где answer это yes или no (Выполнять IP-маршрутизацию или нет).
HOSTNAME=hostname, где hostname это имя Вашего сервера.
GATEWAY=gwip, где gwip это IP-адрес удаленного маршрутизатора (если доступен).
GATEWAYDEV=gwdev, где gwdev имя устройства (eth#), через которое Вы имеете доступ к удаленному маршрутизатору.

Замечание. Для совместимости со старым программным обеспечением файл /etc/HOSTNAME должен содержать тоже имя, что и HOSTNAME=hostname. В новой версии Red Hat Linux 6.2 параметр «FORWARD_IPV4=» определяется в файле /etc/sysctl.conf вместо /etc/sysconfig/network.

В Red Hat Linux 6.2 многие опции ядра, связанные с сетевой безопасностью, такие как сбрасывать ли пакеты, которые приходят для другого интерфейса, или игнорировать ping/широковещательные запросы и т. д., могут быть определены в новом файле /etc/sysctl.conf вместо /etc/rc.d/rc.local. Одним из самых важных параметров, задаваемых в этом файле, является IPv4 forwarding, который сейчас включается программой sysctl. sysctl-настройки хранятся в файле /etc/sysctl.conf, который обрабатывается при каждой загрузке системы перед скриптом /etc/rc.d/rc.local. Мы уже говорили обо всех сетевых настройках, связанных с безопасностью в главе 3 «Общая системная безопасность», поэтому сейчас сконцентрируемся только на опции ядра IPv4 forwarding. Для включения маршрутизации в Red Hat 6.2 используйте следующую команду.

Редактируйте файл /etc/sysctl.conf и добавьте следующие строки:

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

ЗАМЕЧАНИЕ. Включение маршрутизации через файл sysctl.conf работает только для Red Hat 6.2. Пользователям Red Hat 6.1 нужно устанавливать этот параметр через файл /etc/sysconfig/network, как это было описано выше.

Когда Вы включаете компьютер, необходимо знать карту соответствия IP-адресов и имен некоторых машин, пока DNS-сервер не отвечает. Эта карта хранится в файле /etc/hosts. При отсутствии сервера имен все программы будут узнавать у этого файла, какой IP-адрес отвечает на определенное имя.

Ниже приводится пример /etc/hosts:

В левой колонке записываются IP-адреса, в средней соответствующий им имена машин, а в последней псевдонимы этих компьютеров. Например, адресу 208.164.186.1 соответствует машина deep.openna.com, называемая также deep.

Читайте также:  Linux ubuntu ssh как подключиться

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

ВАЖНОЕ ЗАМЕЧАНИЕ. Проблемы таймаута, возникающие при telnet и ftp-соединениях, часто связаны с тем, что сервер не может определить IP-адрес по DNS-имени. Это бывает в двух случаях: или неправильно сконфигурирован DNS-сервер, или клиентская машина не знает о DNS. Если Вы планируете запускать telnet или ftp-сервисы на машине, не имеющей DNS-сервера, не забудьте добавить имя клиентской машины и ее IP-адрес в Ваш файл /etc/hosts, иначе, Вы можете ждать несколько минут, пока lookup-запрос не завершится по таймауту, до появления запроса «login:».

Настройка TCP/IP-сети вручную из командной строки

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

Для назначения интерфейсу eth0 IP-адреса 208.164.186.2 используйте команду:

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

Для отображения всех интерфейсов, существующих на сервере, введите команду:

В ответ Вы получите следующую информацию.

ЗАМЕЧАНИЕ. Если Вы вызвали ifconfig без параметров, то она выдаст информацию обо всех интерфейсах. Опция «-a» покажет также неактивные интерфейсы.

В ответ Вы получите следующую информацию.

Для назначения маршрутизатора по умолчанию используйте команду:

ЗАМЕЧАНИЕ. В этом примере маршрутизатор по умолчанию имеет адрес 208.164.186.1. Если хотите зафиксировать этот адрес, то внесите его в файл /etc/sysconfig/network.

Чтобы проверить, что компьютер присутствует в сети, введите следующую команду (проверяется адрес 208.164.186.1).

В ответ Вы получите следующую информацию.

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

В ответ Вы получите следующую информацию.

Для быстрой проверки статуса интерфейсов используйте команду netstat -i:

В ответ Вы получите следующую информацию.

Другая чрезвычайно полезная опция программы netstat «-t», которая показывает все активные TCP-соединения.

В ответ Вы получите следующую информацию.

Для просмотра всех активных и прослушиваемых TCP соединений используйте опции «-vat»

В ответ Вы получите следующую информацию.

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

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

Источник

Как задать ip адрес в Linux

По умолчанию в большинстве дистрибутивов Linux, ip адрес запрашивается автоматически по протоколу DHCP, независимо от того какой тип соединения используется, будь то проводной интернет или беспроводное подключение к точке доступа Wifi, USB модем или шнур Ethernet.

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

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

Как узнать IP, шлюз и маску?

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

Для статических IP адресов локальных сетей можно использовать любой из этих трех диапазонов:

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

Читайте также:  Windows 10 вылетает virtualbox

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

Здесь мы видим, что наш адрес шлюза — 192.168.0.1. Отсюда выплывает, что нам нужно выбирать наш ip именно из этого диапазона, например, 192.168.0.64.

Маска подсети используется чтобы отделить локальную часть ip адреса, которая меняется, от статической. Сейчас в большинстве случаев применяется значение 255.255.255.0. Теперь, когда вы знаете откуда брать все значения, рассмотрим как установить ip адрес linux.

Настройка статического ip адреса

Настройкой сети в Ubuntu по умолчанию занимается специальная служба networking, конфигурация которой находятся в файле /etc/network/interfaces. Стандартные настройки с использованием динамического получения ip адреса по DHCP выглядят следующим образом:

В этом примере настраиваются два интерфейса, lo и eth0. Нас будет интересовать только строчка, касающаяся проводного соединения eth0, она тут одна:

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

Более подробно настройка сети Ubuntu через терминал описана в отдельной статье. Настройте параметры в соответствии с вашими параметрами сети. Затем перезапустите сетевые службы чтобы изменения вступили в силу без перезагрузки компьютера:

Чтобы убедиться что все установлено правильно используйте утилиту ip.

В системах, основанных на дистрибутиве Red Hat, файлы настройки немного отличаются. Тут за начальную настройку сети отвечает фреймворк Wiched.

Настройки получения ip адреса хранятся отдельно для каждого сетевого интерфейса в файлах /etc/sysconfig/network-scripts/ifcfg-имя_интерфейса, например, eth0. Настройки статического ip для сетевого адаптера с адресом eth0 будут выглядеть следующим образом:

Дальше необходимо настроить шлюз по умолчанию:

А затем DNS сервера:

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

Готово, настройка ip адреса linux с помощью стандартных средств системы завершена и вы можете дальше использовать свой компьютер.

Настройка статического ip в wicd

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

Для запуска консольного интерфейса wicd используйте:

Перед вами откроется основанный на ncurces интерфейс со списком доступных сетевых подключений.

Чтобы задать статический ip linux нужно проделать несколько шагов. Сначала выделите сеть или сети, которые нужно настроить, а затем нажмите клавишу стрелка вправо. Это откроет меню настроек для сетевого подключения:

Выберите Use Static IP и нажмите кнопку пробел чтобы включить использование статического ip адреса, а затем укажите сам ip адрес, маску сети и шлюз:

Для беспроводных сетей Wifi нужно еще указать пароль к точке доступа в поле key.

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

Настройка IP адреса с помощью утилиты ip

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

Включите интерфейс, если он выключен:

Сначала нужно изменить ip linux и маску сети:

Затем добавить шлюз:

$ sudo ip route add default via 192.168.0.1

Готово, теперь ваша сеть должна работать. Только эти настройки будут работать до первой перезагрузки.

Выводы

Вот и все. В этой статье мы рассмотрели как выполняется настройка ip адреса linux. Все это может показаться сложным, но если хорошо разобраться, то смена ip linux уже не будет вызывать таких проблем. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение, видео о том что значат цифры ip адреса и зачем они нужны:

Источник

Оцените статью