Библиотека сайта rus-linux.net
Linux в Сети. Сага вторая
Сегодня мы продолжим тему "Linux в Сети" и рассмотрим систему адресов. Итак, начнем наш рассказ: Сага вторая, адресная.
Для более полного понимания настройки сети в Linux рассмотрим IP-адрес и все, что с ним связано.
Классический IP-адрес состоит из четырех числовых сегментов, разделенных
точками. Одна часть этого адреса представляет собой адрес сети, а другая
используется для обозначения конкретного хост-компьютера в этой сети. Адрес
сети обозначает сеть, частью которой является данный хост-компьютер. Обычно
сетевая часть адреса занимает первые три сегмента, а адрес машины - последний
сегмент. В совокупности сегменты образуют уникальный адрес, с помощью которого
идентифицируется любой компьютер в сети, работающей по протоколам TCP/IP.
Hanpимер, в IP-адресе 196.162.0.119 сетевой частью являются цифры 196.162.0,
а адресом компьютера в этой сети - 119. Итого: данный компьютер является
частью сети, адрес которой 196.162.0.119.
IP-адрес хост-компьютера - это лишь один из нескольких адресов, которые
необходимы для подключения этого компьютера к сети. Кроме него, нам потребуются
адрес сети, широковещательный адрес, адрес шлюза, если он есть, адрес сервера
имен и маска сети. Все эти адреса система предлагает пользователю ввести
во время своей инсталляции. Если вы их ввели, то они будут автоматически
занесены в нужные конфигурационные файлы, а также автоматически прописана
соответствующая информация, которая прописывается при помощи netcfg. Для
удобства ниже приведен список используемых сетевых адресов:
Адрес сети можно легко установить по адресу хост-компьютера: это сетевая
часть адреса хост-компьютера плюс нуль; например, в хост-адресе 196.162.0.119
адрес сети - 196.162.0.0.
Системы определяют адрес сети по адресу хост-компьютера с помощь маски
сети. Сделать это можно поразрядной операцией "И", проведенной с маской сети
и адресом хост-компьютера, что приведет к обнулению машинной части адреса
и получению его сетевой части.
Широковещательный адрес позволяет системе посылать сообщение одновременно
всем системам в сети. Как и сетевой адрес, широковещательный адрес можно
легко определить по адресу хост-компьютера; машинная часть в нем установлена
в 255, а сетевая часть не меняется. Например, широковещательный адрес для
адреса хост-компьютера 196.162.0.119 - 196.162.0.255 (т.е. сетевая часть
адреса остается прежней, а машинная меняется на 255).
Довольно часто один из компьютеров сети назначают шлюзом, задача которого
- обеспечивать взаимодействие с другими сетями. Все соединения, устанавливаемые
из данной сети с какой-либо другой и наоборот, осуществляются через этот
компьютер. Если вы работаете в сети с подобной конфигурацией, то необходимо
указать адрес шлюзового компьютера. Если же шлюза в сети нет либо вы работаете
в автономной системе (или, например, через интернет-провайдера), то адрес
шлюза не требуется.
Обычно адрес шлюза имеет ту же сетевую часть, что и адрес хост-компьютера,
но в его машинной части стоит 1. Например, если адрес хост-компьютера - 196.162.0.119,
то адрес шлюза скорее всего администратор вашей сети сделал равным 196.162.0.1,
но необязательно. Чтобы наверняка узнать адрес шлюза, обратитесь к администратору
вашей сети.
Во многих сетях есть компьютеры, которые работают как серверы доменных
имен, преобразуя доменные имена сетей и хост-машин в их IP-адреса. Это позволяет
идентифицировать ваш компьютер в сети, пользуясь не IP-адресом, а доменным
именем (например, linux.hitech.by:). К другим системам тоже можно обращаться
по доменным именам, поэтому их IP-адреса знать необязательно. При этом, однако,
следует знать IP-адреса серверов доменных имен своей сети. Эти адреса (а,
как правило, их несколько) можно узнать у вашего администратора. Даже если
вы работаете с интернет-провайдером, вам нужно будет знать адреса серверов
доменных имен, которые обслуживает данный провайдер.
Маска сети используется для получения адреса сети, к которой вы подключены,
как уже было показано выше. При определении маски сети адрес хост-компьютера
выступает в роли трафарета. Все числа в сетевой части хост-адреса устанавливаются
равными 255, а в машинной части ставится нуль. Это и есть маска сети. Так,
маска сети для хост-адреса 196.162.0.119 - 255.255.255.0. Сетевая часть,
196.162.0, заменена на 255.255.255, а машинная часть, 119, заменена нулем.
С помощью этой маски системы определяют по вашему хост-адресу адрес вашей
сети. Они могут установить, какая часть адреса хост-компьютера является сетевой
и из каких чисел она состоит.
Все, что мы только что рассмотрели, нужно для понимания того, что мы будем
прописывать в файлах конфигурации, к рассмотрению которых мы сейчас приступим.
Для настройки и поддержки работы сети, работающей под управлением протоколов
TCP/IP, используется набор файлов конфигурации, расположенных в каталоге
/etc. В этих файлах содержится информация о сети - в частности, имена хост-машин
и доменов, IP-адреса и характеристики интерфейсов. Именно в эти файлы вводятся
IP-адреса и доменные имена других хост-компьютеров сети, к которым вы хотите
получить доступ. Если в процессе инсталляции системы вы конфигурировали сеть,
то вся эта информация в файлах конфигурации уже есть. Иначе ввести конфигурационные
данные в эти файлы можно с помощью программы netcfg или с помощью программы
netconfig.
Без уникального IP-адреса, которым в сети TCP/IP идентифицируются компьютеры,
нужный компьютер найти нельзя. Поскольку IP-адреса трудны для запоминания
и работы, вместо них используются доменные имена. Каждому IP-адресу ставится
в соответствие доменное имя. Система преобразует доменное имя, по которому
пользователь обращается к определенному компьютеру, в соответствующий IP-адрес,
и он используется для установления соединения с указанным компьютером.
Вначале ведение списка хост-имен с их IP-адресами было обязанностью всех
компьютеров сети. Этот список до сих пор хранится в файле /etc/hosts. Получив
от пользователя доменное имя, система ищет в файле hosts cooтветствующий
адрес. За ведение этого списка отвечает системный администратор. Вследствие
стремительного роста Internet и появления все новых очень больших сетей функции
преобразования доменных имен в IP-адреса были переданы серверам доменных
имен. Тем не менее, файл hosts продолжает использоваться для хранения доменных
имен и IP-адресов хост-компьютеров, соединения с которыми устанавливаются
наиболее часто. Перед тем как обращаться к серверу имен, ваша система всегда
будет проверять файл hosts и искать в нем IP-адрес заданного ей доменного
имени.
Каждая запись в файле hosts состоит из IP-адреса, пробела и доменного имени.
Для хост-имени можно создавать псевдонимы. В одной строке c записью можно
ввести комментарий, который всегда предваряется символом #. В файле hosts
уже имеется запись для локального компьютера localhost c IP-адресом 127.0.0.1
(по дефолту). Localhost - это специальный зарезервированный IP-адрес 127.0.0.1,
которой позволяет пользователям вашей системы связываться друг с другом в
локальном режиме. Он служит для идентификации т.н. закольцовывающего интерфейса
(loopback interface).
Пример файла /etc/hosts:
127.0.0.1 xstranger.itk.by localhost
196.162.0.119 xstranger.itk.by
222.111.232.11 aquarelle.tut.by
В файле /etc/networks хранятся доменные имена и IP-адреса сетей, с которыми
у вашей системы есть соединение, а не доменные имена конкретных компьютеров.
Сети имеют сокращенные IP-адреса. В зависимости от типа сети в IP-адресах
может использоваться одно, два или три числа. Сетевой IP-адрес для localhost
равен 127.0.0.0 (правила формирования описаны выше).
IP-адреса записываются в файле /etc/networks вместе с соответствующими
им доменными именами сетей. Вспомните, что IP-адрес состоит из сетевой части
и машинной части. Сетевая часть - это адрес сети, который хранится в файле
networks. В этом файле всегда будет присутствовать отдельная запись для сетевой
части IP-адреса вашего компьютера. Это и есть адрес сети, к которой подключен
ваш компьютер.
Пример файла /etc/networks:
loopback 127.0.0.0
xstranger.itk 196.162.0.0
В файле /etc/rc.d/init.d/inet находятся команды, обеспечивающие настройку
сетевого соединения. Многие записи в этом файле автоматически создаются при
использовании утилиты netcfg и конфигурировании сетевого соединения в процессе
инсталляции. Например, здесь находятся команды ifconfig и route. Кроме того,
здесь задаются хост-имя вашей системы, адрес сети и другие необходимые адреса.
Непосредственно редактировать этот файл можно лишь в том случае, если вы
уверены в том, что все делаете правильно и обладаете знаниями о программировании
в shell. В разных дистрибутивах Linux, например, файл инициализации может
иметь несколько отличающееся имя и располагаться в одном из подкаталогов
каталога /etc.
В файле /etc/HOSTNAME содержится хост-имя вашей системы. Чтобы изменить
имя, нужно отредактировать данный файл. Эту задачу можно также решить с помощью
программы netcfg, которая заменяет хост-имя и помещает новое имя в файл /etc/HOSTNAME.
Хост-имя можно узнать не только путем вывода на экран этого файла, но и с
помощью команды hostname в консоли.
Подготовил X-Stranger, linux@hitech.by,
http://linux.hitech.by