Опубликован: 21.11.2006 | Уровень: специалист | Доступ: свободно
Лекция 16:

Поддержка удаленных клиентов

Аннотация: В данной лекции: настройка модемов для работы по удаленному соединению; настройка программы mgetty; настройка удаленного доступа в ОС Windows 95, Windows 98 и Windows NT 4.0; cовместное использование модема.

В этой лекции

  • Настройка модемов для работы по удаленному соединению
  • Настройка программы mgetty
  • Настройка удаленного доступа в ОС Windows 95 и Windows 98
  • Настройка удаленного доступа в ОС Windows NT 4.0
  • Совместное использование модема

Если бы мир был идеален, то в нем не было бы ни голода, ни войн, ни ... клиентов электронной почты с удаленным доступом. К сожалению, нам приходится принимать жизнь такой, какая она есть. Вероятнее всего, в ваши обязанности как администратора почтовой системы входит поддержка почтовых клиентов, которые читают свою электронную почту с удаленных компьютеров вне офисной локальной сети. Легче всего обеспечить таким клиентам доступ к почтовому серверу с помощью РРР-соединений (см. "Протокол РРР" "Протокол РРР"). После того как клиент установит РРР-соединение с почтовым сервером под управлением ОС Linux, он ведет себя точно так же, как и при обычном соединении с сервером через локальную сеть. Таким образом, все, что необходимо после установления РРР-соединения, — запустить одну из клиентских программ для работы с электронной почтой (эти программы были описаны в "Конфигурирование клиентов ЛВС" , "Конфигурирование клиентов ЛВС"). В этой лекции мы рассмотрим несколько методов организации удаленного доступа в ОС Windows 95, 98 и NT 4.0.

Настройка модемов для работы по удаленному соединению

Если для работы с клиентами по удаленному соединению используется отдельный модем, то очевидно, что ОС Linux должна взаимодействовать с ним соответствующим образом и поддерживать его работу в режиме приема входящих звонков. В "Установка телекоммуникационного оборудования в ОС Linux" , "Установка телекоммуникационного оборудования в ОС Linux", описаны способы подключения модема к почтовому серверу на базе ОС Linux. В следующем разделе подробно описано программное обеспечение, необходимое для организации удаленного доступа на почтовом сервере под управлением ОС Linux.

Настройка файла inittab

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

Файл /etc/inittab используется в ОС Linux для запуска определенных процессов на соответствующих уровнях запуска. В нашем случае в файле /etc/inittab описаны устройства, с помощью которых пользователи могут получить доступ к системе, и режимы их работы. Программа init считывает файл /etc/inittab и принуждает определенные программы отслеживать попытки регистрации в системе с этих устройств. В листинге 16.1 приведен пример файла /etc/inittab.

1 # inittab This file describes how the INIT process should set up
2 # the system in a certain run-level.
3 #
4 # Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
5 # Modified for RHS Linux by Marc Ewing and Donnie Barnes
6 #
7 # Default runlevel. The run-levels used by RHS are:
8 # 0 - halt (Do NOT set initdefault to this)
9 # 1 - Single user mode
10 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
11 # 3 - Full multiuser mode
12 # 4 - unused
13 # 5 - X11
14 # 6 - reboot (Do NOT set initdefault to this)
15 #
16 id 3:initdefault:
17 # System initialization.
18 si::sysinit:/etc/rc.d/rc.sysinit
19 l0:0:wait:/etc/rc.d/rc 0
20 l1:1:wait:/etc/rc.d/rc 1
21 l2:2:wait:/etc/rc.d/rc 2
22 l3:3:wait:/etc/rc.d/rc 3
23 l4:4:wait:/etc/rc.d/rc 4
24 l5:5:wait:/etc/rc.d/rc 5
25 l6:6:wait:/etc/rc.d/rc 6
26
27 #Things to run in every runlevel.
28 ud::once:/sbin/update
29
30 # Trap CTRL-ALT-DELETE
31 ca: :ctrlaltdel:/sbin/shutdown -t3 -r now
32
33 # When our UPS tells us power has failed, assume we have a few minutes
34 # of power left. Schedule a shutdown for 2 minutes from now.
35 # This does, of course, assume you have powerd installed and your
36 # UPS connected and working correctly.
37 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
38
39 # if power was restored before the shutdown kicked in, cancel it.
40 pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
41
42 # Run gettys in standard runlevels
43 1:12345:respawn:/sbin/mingetty tty1
44 2:2345:respawn:/sbin/mingetty tty2
45 3:2345:respawn:/sbin/mingetty tty3
46 4:2345:respswn:/sbin/mingetty tty4
47 5:2345:respawn:/sbin/mingetty tty5
48 6:2345:respawn:/sbin/mingetty tty6
49
50 # Set serial line for modem
51 s1:2345:respawn:/sbin/uugetty ttyS0 38400 vt100
52
53 # Run xdm in runlevel 5
54 x:5:respawn:/usr/bin/X11/xdm -nodaemon
Листинг 16.1. Пример файла /etc/inittab

Формат записи в файле inittab выглядит следующим образом:

id:runlevels:action:process,

где id — уникальный идентификатор, определяющий действие, runlevels — список уровней запуска, на которых это действие может быть выполнено, action — само действие, которое выполняется над процессом, а process — программа, которая должна запускаться для выполнения действия. В листинге 16.1 этот формат записи представлен в строках 43–48. В этих строках определяются виртуальные терминалы, которые имеются в большинстве дистрибутивов ОС Linux. Все они обращаются к стандартной программе mgetty для мониторинга соответствующего канала tty. Каждая запись описывает один отдельный канал tty. Как видите, все они установлены для возобновления работы с терминалом после завершения текущего сеанса. Вероятно, вы отметили, что основная консоль ( tty1 ) может быть вызвана на всех уровнях запуска, но остальные консоли ( tty2-tty6 ) запускаются лишь на втором уровне. Дело в том, что в ОС Linux работа на 1-ом уровне запуска происходит в однопользовательском режиме, а для этого требуется всего один терминальный сеанс.

В строке 51 описывается модем, подключенный к почтовому серверу. Здесь указан идентификатор inittab id s1, который активируется только на уровнях запуска 2, 3, 4 и 5. Действие respawn говорит о том, что после завершения процесс может быть повторно вызван программой init. Кроме того, в этом случае программа сама автоматически может возобновить свою работу после того, как пользователь завершит сеанс удаленного доступа. Затем запускается программа uugetty. Она также запускается с несколькими параметрами командной строки, которые определяют ее поведение. Программа обслуживает пользователей, которые регистрируются на сервере через модемное соединение, организованное через уcтройство /dev/ttyS0 (в одном из параметров командной строки указано ttyS0 ).

Программа uugetty используется для мониторинга телефонных линий и установления соединений по ним. С ее помощью можно организовывать и исходящие соединения, т.е. модем, подключенный к серверу, сам будет инициировать соединение с клиентом. Чтобы определить, используется ли модем еще каким-либо приложением, программа uugetty обращается к файлам блокировки UUCP (так называемые lock-файлы). С ее помощью можно также инициировать модем для следующего сеанса регистрации пользователя в системе. При установлении соединения с модемом программа uugetty посылает пользователю приглашение для входа в систему и передает полученные от него данные программе login. В следующем разделе работа программы uugetty рассмотрена более подробно.

Равиль Латыпов
Равиль Латыпов
Россия, Казань, Казанский Национальный Исследовательский Технический Университет