Входящие звонки в OpenBSD

Понедельник, 20 ноября 2006 (00:17:15)

1 Votes | Average: 2 out of 51 Votes | Average: 2 out of 51 Votes | Average: 2 out of 51 Votes | Average: 2 out of 51 Votes | Average: 2 out of 5 (Голосов: 1, средний балл: 2 из 5)
Loading ... Loading ...

Это подробное руководство позволит сделать из вашего старенького ПК сервер удалённого доступа с CHAP-авторизацией. Таким образом Вы сможете с наименьшими затратами организовать доступ работников к ресурсам локальной сети предприятия, а также доступ в Интернет.

Настройка dial-in сервера под OpenBSD мало чем отличается от аналогичной процедуры под FreeBSD, в основном в той части, где включается NAT и pf. Выполнив описанные в этом руководстве шаги, вы будете иметь сервер удалённого доступа (getty+pppd) c CHAP-авторизацией в считанные минуты.

Задача стоит следующим образом: имеется отдельная машина под управлением OpenBSD 3.4 с двумя модемами, подключенная к локальной сети предприятия. Локальная сеть имеет доступ к Интернет по выделенной линии через маршрутизатор при помощи NAT. Адреса выделяются при помощи DHCP-сервера, однако это не существенно. Требуется настроить удалённый доступ к ресурсам Интернет для работников предприятия по коммутируемым линиям.

Подготовка модемов к приёму входящих звонков

Модем U.S. Robotics Sportster Voice 33600 Fax установлен на порте COM1 (/dev/cua00, он же /dev/tty00), второй внутренний модем U.S. Robotics 56K FAX на COM3 (/dev/cua02, он же /dev/tty02). Примеры в этой статье рассчитаны именно на эту конфигурацию. Модемам требуется дать команды ATE0 и ATQ1. Обратите также внимание на минимальную и максимальную скорость соединения (для U.S. Robotics это команда AT&U[значение мин. скорости соединения]&N[значение макс. скорости соединения]). Замечено, что внутренние модемы с U0 и N0 всегда соединяются на скорости 9600! Можно изменить профиль по умолчанию командами в терминале cu:

# cu -l /dev/cua00 -s 38400
Connected
at&f1e0f1q1y0 u0s0=1
at&u10&n14&w0
~.

Обратите внимание, что две последние строчки отображаться не будут. Предпоследняя команда записывает в профиль по умолчанию минимальную скорость 24600 и максимальную - 33600. Проверьте установки с помощью команды ATI4.

Настройка getty

Добавьте в секции std.38400 и std.57600 файла /etc/gettytab следующие строки:

std.38400|38400-baud:\
:sp#38400:\
:pp=/usr/local/bin/ppplogin:
std.57600|57600-baud:\
:sp#57600:\
:pp=/usr/local/bin/ppplogin:

Необходимо указать getty, какие порты будут использоваться для модемных соединений, отредактируйте файл /etc/ttys:

tty00 "/usr/libexec/getty std.38400" dialup on insecure
tty02   "/usr/libexec/getty std.57600"   dialup on insecure

Перезапустите init:

# kill -HUP 1

В результате, после выполнения

# ps ax | grep tty0

должно появиться нечто подобное:

14095 ?? I 0:00.02 /usr/libexec/getty std.38400 tty00
10362 ??  I       0:00.02 /usr/libexec/getty std.57600 tty02

Создайте файл /usr/local/bin/ppplogin:

#! /bin/sh
/usr/sbin/pppd auth

Не забудьте сделать:

#chmod 500 ppplogin
#chown root ppplogin

Создайте файл /etc/ppp/options:

modem
noipdefault
crtscts
asyncmap 0
name <имя сервера>
passive
mtu 576
mru 576
proxyarp
ms-dns <DNS-сервер>
debug

Для каждого модема создайте файл следующего вида:

/etc/ppp/options.tty00:

38400
<адрес сервера>:<адрес клиента>

/etc/ppp/options.tty02:

57600
<адрес сервера>:<адрес клиента>

Создайте для каждого пользователя модемного пула (не пользователя системы) запись в файле /etc/ppp/chap-secrets:

# Пользователь 		Сервер	 Пароль		      IP адреса
user             		server    password               *

Настройка NAT и брандмауэра

В файле /etc/sysctl.conf должна присутствовать строка, разрешающая пересылку пакетов:

net.inet.ip.forwarding=1

Включите пакетный фильтр (/etc/rc.conf):

pf=YES

После перезагрузки всё должно заработать. Обратите внимание, что по умолчанию, pf пропускает все пакеты, так что оставив всё «как есть» вы серьёзно рискуете.

декоративная плитка: декоративная плитка выгодно - смотреть
завеса барьер, завеса, пожарный вентиль - sprinkler.ru
Марка Martini Mobili - это итальянские кухни.

Оставьте сообщение:

Или используйте свой OpenID: