Установка клиента 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. Поля записей файла /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.
Назад | Глобальное оглавление | Вперед |
Использование dip | Локальное оглавление | Протокол Point-to-Point |