Следующая:Gateway Example, Предыдущая:Leaf Example, Вверх:Configuration Examples



Gateway Example

Пример межсетевого шлюза

Много организаций имеют несколько локальных машин, которые связаны с собой помощью протокола UUCP, и одну машину, которая используется для связи с внешним миром. Данная машина часто используется как gateway.

Для примера я(автор) приведу довольно простой пример, который может использоваться в качестве достаточно хорошего примера общей конфигурации. Есть три машины elmer, comton и bugs. Машина elmer это межсетевая машина, для которой приводится файл конфигурации. elmer вызывает uupsi. Единственным осложнением является то, uupsi знает elmer под именем airs; Данный пример иллюстрирует ситуацию, когда одна машина может иметь одно имя во внутренней сети, и другое имя во внешнем мире. elmer имеет два модема. Кроме того, он имеет TCP соединение на uupsi, но предполагается, что данное соединение используется для интерактивной работы (при этом возможна только одна SLIP линия на 9600 бод), которая будет использовать только в том случае, если модемы не доступны.

Данная сеть является маленькой и обычно использует единственный файл sys. Однако для педагогических целей я привожу два отдельных sys файла, один для локальных систем, а один для uupsi. Это делается с помощью команды sysfile файла config. Ниже приводится файл config.

# This is config
# Локальный sys файл
sysfile /usr/local/lib/uucp/sys.local
# Удаленный sys файл
sysfile /usr/local/lib/uucp/sys.remote

Использование значений по умолчанию файла sys может очень сильно упростить перечень локальных систем. Ниже приводится файл sys.local. Обратите внимание, предполагается что, локальные системы являются доверенными; им разрешено запрашивать файлы, доступные на чтение для всех, кроме того, им разрешено записывать файлы в любой доступный на запись каталог.

# Это файл sys.local
# Имя входа (login name) и пароль (password) следует взять
# из файла call-out
call-login *
call-password *

# Системы должны использовать конкретную программу login
called-login Ulocal

# Разрешено отсылать любой доступный для чтения всем файл
local-send /
remote-send /

# Разрешен прием в доступный на запись каталог
local-receive /
remote-receive /

# Разрешен вызов в любой момент времени
time any

# Использовать port1, затем port2
port port1

alternate

port port2

# Сейчас определяем сами системы. Из-за того, что все значения
# используются по умолчанию, то необходимо задать очень мало
# для того чтобы указать сами системы.

system comton
phone 5551212

system bugs
phone 5552424

Файл sys.remote определяет подключение uupsi. Команда myname используется для того, чтобы заменить UUCP имя на airs во время обмена с uupsi.

# Это файл sys.remote
# Определим uupsi
system uupsi

# Имя входа и пароль находятся в файле call-out
call-login *
call-password *

# Мы можем делать исходящие звонки в любой момент времени
time any

# uupsi использует специальное имя входа (login name)
# по которому идет идентификация uupsi
called-login Uuupsi

# uuspi думает о нас как о airs
myname airs

# Номер телефона
phone 5554848

# Сначала мы используем port2, затем port1, затем TCP

port port2

alternate

port port1

alternate

# Мы не беспокоимся о специальных элементах файла port для TCP,
# кроме того, мы описываем права доступа к целому порту здесь.
# Для TCP используется специальный chat скрипт, потому что
# обычный скрипт завершается неудачно на некоторых TCP серверах.
port type TCP
address uu.psi.com
chat ogin: \L word: \P

Порты определены в файле port (смотрите port File). В этом примере они оба подключены к модему одного и того же типа - 2400 бодовый Hayes-совместимый модем.

# This is port (Это файл порт)

port port1
type modem
device /dev/ttyd0
dialer hayes
speed 2400

port port2
type modem
device /dev/ttyd1
dialer hayes
speed 2400

Программы номеронабиратели описаны в фале dial (смотрите dial File).

# This is dial (это файл dial)
dialer hayes

# Скрипт сhat используется для звонка по телефону. \D это
# телефонный номер.
chat "" ATZ\r\d\c OK ATDT\D CONNECT

# Если мы получаем ответ 'BUSY' или 'NO CARRIER' мы прерываем
# звонок немедленно
chat-fail BUSY
chat-fail NO\sCARRIER

# После того как звонок закончен, то следует убедится что
# трубка модема положена hangup.
complete \d\d+++\d\dATH\r\c
abort \d\d+++\d\dATH\r\c