Запуск в режиме сервера

Установка клиента SLIP была трудной. Выполнение противоположной задачи, а именно конфигурирование хоста для того, чтобы он действовал как SLIP-сервер, намного проще.

Есть два способа работы в серверном режиме SLIP. Оба они требуют создания специального пользователя для клиента SLIP. Допустим, нужно предоставить SLIP-сервис пользователю Arthur Dent с машины dent.beta.com. Создайте логин dent добавлением в файл passwd такой строки:

dent:*:501:60:Arthur Dent's SLIP account:/tmp:/usr/sbin/diplogin

Затем установите пароль для dent командой passwd.

Команда dip может работать в серверном режиме под именем diplogin. Обычно diplogin является ссылкой на dip. Его главный файл конфигурации /etc/diphosts, который присоединяет имена пользователей к IP адресу. В качестве альтернативы Вы можете также использовать sliplogin, BSD-производное средство, которое описывает более гибкую схему конфигурации, которая позволяет Вам выполнить скрипт всякий раз, когда хост устанавливает и разрывает связь с Вашей машиной.

Когда SLIP-пользователь dent зарегистрируется в системе, dip перейдет в режим сервера. Чтобы определить, действительно, ли ему разрешено использовать SLIP, нужно найти имя пользователя в /etc/diphosts. Этот файл подробно описывает права доступа и параметры соединения для каждого SLIP-пользователя. Типовая запись в /etc/diphosts:

# /etc/diphosts
user:password:rem-addr:loc-addr:netmask:comments:protocol,MTU
Поля описаны в таблице 7-2.

Таблица 7-2. Поля записей файла /etc/diphosts

Поле Описание
user

Имя пользователя, по которому dip ищет запись для вошедшего в систему пользователя.

password

Дополнительный пароль для защиты соединения. Здесь пароль хранится в зашифрованном виде (как в файле /etc/passwd). Если он указан, diplogin спросит у пользователя второй пароль после его входа в систему, но до предоставления ему сервиса SLIP. Этот пароль используется в дополнение к паролю для входа в систему.

rem-addr

Адрес, назначаемый удаленной машине. Можно вместо адреса задать имя, если оно есть у сервера имен, или IP-адрес.

loc-addr

IP-адрес для этого конца SLIP-связи. Тоже можно задать как имя, так и адрес.

netmask

Маска подсети для маршрутизации. Маска не применяется непосредственно для SLIP-связи, но используется в комбинации с rem-addr для построения маршрута к удаленному сайту.

comments

Просто текст для пояснения записи в /etc/diphosts. Программно не обрабатывается.

protocol

Задает протокол или line discipline для этой конкретной связи. Значения совпадают со значениями для параметра -p в команде slattach.

MTU

Задает максимальную длину пакетов при передаче по этой связи. Любой пакет, размером больше этого значения, будет фрагментирован (поделен на пакеты с длиной в пределах MTU).

Пример записи для dent:

dent::dent.beta.com:vbrew.com:255.255.255.0:Arthur Dent:CSLIP,296

Итак, пользователю dent будет предоставлен SLIP-сервис без запроса дополнительного пароля. Он получит IP-адрес, связанный с именем dent.beta.com с маской сети 255.255.255.0. Его маршрут по умолчанию должен быть нацелен на IP-адрес имени vbrew.com, и он должен использовать протокол CSLIP с длиной MTU в 296 байт.

Когда dent входит в систему, diplogin получает сведения о нем из файла diphosts. Если второе поле содержит некое значение, diplogin спросит внешний пароль соединения ("external security password"). Строка, введеная пользователем, будет зашифрована, а результат сверен с паролем в diphosts. Если не совпало, соединение будет запрещено. Если поле пароля хранит строку s/key, и dip откомпилирован с поддержкой S/Key, выполняется авторизация по этому алгоритму. S/Key описан в документации на dip.

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

diplogin требует привилегий администратора. Есои dip не объявлен как setuid к пользователю root, следует сделать diplogin отдельной копией dip вместо простой ссылки. Безопасней объявить diplogin как setuid без изменения статуса dip.



Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости