Чтение онлайн

ЖАНРЫ

Linux для пользователя

Костромин Виктор Алексеевич

Шрифт:

Здесь не место для того, чтобы подробно объяснять устройство Интернета: для этого вам лучше найти специальные книги, посвященные этому вопросу. Но некоторые термины необходимо четко определить, чтобы последующий материал был всем понятен.

Во-первых, надо сказать, что рядовые пользователи обычно подключаются к сети Интернет через провайдера услуг Интернета (Internet Service Provider, ISP). Провайдер занимается эксплуатацией каналов связи и организацией взаимодействия пользователей с Сетью.

Во-вторых, передача информации в сети Интернет осуществляется с помощью набора (или, как часто говорят, "стека") протоколов TCP/IP.

Комплект TCP/IP состоит из нескольких различных

протоколов, каждый из которых выполняет в сети определенную задачу. Базовых протоколов два: протокол управления передачей (TCP), который обеспечивает отправку и прием сообщений, и межсетевой протокол (IP), который определяет правила пересылки отдельных пакетов от отправителя получателю (правила маршрутизации). Остальные протоколы выполняют различные вспомогательные и управляющие функции.

Одним из базовых понятий протокола IP является понятие IP-адреса. Каждому сетевому интерфейсу (Ethernet-карте, последовательному порту с модемом и т. д.) на компьютере присваивается IP-адрес. Такой адрес состоит из четырех байт. Их принято записывать в так называемой "десятично-точечной нотации" (dotted decimal notation). В ней каждый байт представляется десятичным числом в интервале от 0 до 255, байты разделены точками. Возможно использование одного адреса несколькими интерфейсами на одной машине, но, как правило, этого не делают.

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

В каждой сети обычно выделяют "широковещательный адрес" - специальный адрес, который "слушают" все машины в сети, кроме своего собственного. Таким образом передается информация о маршрутизации или сетевые сообщения об ошибках. Чаще всего в качестве широковещательного используют наибольший адрес в IP-сети - x.x.x.255. Однако некоторые сети используют в качестве широковещательного адрес x.x.x.0.

Все сказанное иллюстрируется следующим примером:

– -------------------------------------

Адрес машины 192.168.110.23

Сетевая часть 192.168.110.

Машинная часть .23

– -------------------------------------

Маска 255.255.255.0

Адрес сети 192.168.110.0

Широковещательный адрес 192.168.110.255

– -------------------------------------

Для выхода в Интернет с персональных (в частности, домашних) компьютеров чаще всего используется модем и телефонная линия. Существуют два протокола, которые позволяют передавать IP-сообщения по телефонным линиям. Это протокол SLIP (Serial Line Internet Protocol - межсетевой протокол для последовательного канала) и протокол РРР (Point-to-Point Protocol - протокол "точка-точка"). SLIP по возрасту старше и поэтому не всегда удовлетворяет предъявляемым ныне требованиям, а РРР - более современный универсальный протокол, который завоевывает все большую популярность. Он обеспечивает гораздо более стабильное соединение и может поддерживать работу целого ряда сетевых протоколов помимо IP.

Для установления SLIP-соединения в дистрибутивы Linux

обычно включается программа dip, а РРР-соединение устанавливается с помощью программы pppd. Эта программа конфигурирует соединение, устанавливает лимиты MTU и получает IP-адреса. В отличие от dip, pppd не умеет устанавливать соединение с удаленной хост-системой. Чтобы использовать pppd, нужно сначала установить соединение, для чего обычно используется программа chat. Сначала эта программа устанавливает соединение, а затем pppd конфигурирует его.

Протокол PPP предусматривает возможность использования средств аутентификации пользователя, подключающегося к серверу. Обычно аутентификация осуществляется за счет проверки имени и пароля пользователя. Существует два основных способа аутентификации, определяемых протоколами PAP (Password Authentication Protocol) и CHAP (Challenge Handshake Authentication Protocol).

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

Имена и пароли для PAP хранятся в файле /etc/ppp/pap-secrets в виде отдельных строк следующего формата: имя пользователя, имя удаленного сервера и пароль. У него должны быть такие права доступа "rw- --- ---".

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

username demos pas12345

username citynet pas98765

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

CHAP-аутентификация происходит следующим образом. При установлении PPP соединения удаленный сервер предлагает пользователю аутентификацию по протоколу CHAP. Пользователь соглашается, и сервер высылает ему ключ (challenge), состоящий из случайной последовательности символов, и свое имя. Пользователь берет свой пароль и присланный ключ, и прогоняет их через алгоритм MD5. Получившийся результат высылает вместе со своим именем серверу. Сервер, зная пароль пользователя и высланный ему ключ, в свою очередь, проделывает тоже самое у себя, и, если его результат совпадает с присланным, то аутентификация считается успешной. Таким образом, пароль не передается в открытом виде, но удаленный сервер должен хранить пароли пользователей (обычно в открытом виде).

Имена и пароли для CHAP хранятся у пользователя в файле /etc/ppp/chap-secrets, права доступа у него должны быть такие же, как для PAP: "rw- --- ---", и формат строк тоже совпадает.

Протокол PPP позволяет организовать аутентификацию в одних случаях через PAP, а в других - через CHAP. Для этого клиентское ПО при запуске определяет, каким образом можно аутентифицировать себя, исходя из локального имени и имени удаленной стороны, проверяя, есть ли в файлах /etc/ppp/pap-secrets или /etc/ppp/chap-secrets строки с такими именами. И если, скажем, удаленная сторона предлагает CHAP, а в файле /etc/ppp/chap-secrets соответствующего пароля не имеется, то будет запрошен PAP, и, если это устраивает удаленную сторону, то аутентификация пройдет по PAP.

Поделиться с друзьями: