Следующая:Gateway Example, Предыдущая:Leaf Example, Вверх:Configuration Examples
Пример межсетевого шлюза
Много организаций имеют несколько локальных машин, которые связаны с собой помощью протокола 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