Книга: Linux-сервер своими руками

7.5. Настройка выделенных линий

7.5. Настройка выделенных линий

Протокол РРР может использоваться как для установления коммутируемых соединений, например dial-up, так и для организации выделенных (leased) линий. Для начала разберемся, что же такое выделенная линия? Сети с коммутацией пакетов (каналов) можно разделить на две группы: сети с динамической и постоянной коммутацией. В первом случае пользователь может установить соединение по собственной инициативе. Коммутация выполняется на время сеанса связи, а затем связь разрывается (по инициативе пользователя или по инициативе сервера). Во втором случае динамическая коммутация не осуществляется, а вместо этого пользователю (пользователям) разрешается заказать соединение на длительный период времени. Режим постоянной коммутации называется выделенной (dedicated) или арендуемой (leased) линией.

Будем считать, что необходимые вам пакеты уже установлены. Сам процесс установки пакетов ррр был описан в п. 7.3. Нужно также позаботиться о том, чтобы ядро поддерживало РРР. В большинстве случаев поддержка РРР уже встроена в ядро. Проверить наличие поддержки РРР можно с помощью команды:

dmesg | grep РРР

Предположим, вам нужно настроить два выделенных канала. Для определенности первый модем будет подключен к /dev/ttyS0, а второй — к /dev/ttyS1. Файл /etc/ppp/options будет содержать глобальные настройки. Файлы конфигурации для модемов /dev/ttyS0 и /dev/ttyS1 будут называться соответственно /etc/ppp/options.ttS0 и /etc/ppp/option.ttyS1. Отредактируйте файл /etc/ppp/options.ttyS0, как это показано в листинге 7.4.

Листинг 7.4. Файл/etc/ppp/options.ttyS0

# Устройство
/dev/ttyS0
# Скорость
57600
noauth
mru 1500
# ваш интерфейс: удаленный интерфейс
192.168.99.1:192.168.99.2
# маска подсети
netmask 255.255.255.0
bsdcomp 0
chap-interval 15
debug
crtscts
mtu 552
mru 552
–detach

С устройством и скоростью все понятно. Особое внимание обратите на следующую запись: 192.168.99.1:192.168.99.2. Между вашими модемами (собственно между «вашим» и тем, что на другой стороне) создается подсеть 192.168.99.0 (netmask 255.255.255.0). По окончанию конфигурирования выделенной линии вам нужно настроить маршрутизацию (см. man route). Если же линия у вас одна, то вы можете в конец файла /etc/options.ttyS0 добавить команду defaultroute. Эта запись добавляет маршрут в системную таблицу маршрутизации, используя удаленную сторону в качестве шлюза. Обычно эта запись удаляется при завершении соединения. Теперь разберемся со всеми остальными командами, задающими параметры соединения (см. табл. 7.2).

Параметры соединения Таблица 7.2 

Команда Описание
noauth He требует удаленную сторону назвать себя перед тем, как начнется обмен пакетами. Используйте параметр auth — если аутентификация нужна
crtscts Использовать аппаратное управление потоком данных (напр., RTS/CTS), чтобы управлять потоком данных на последовательном порту
xonxoff Использовать программное управление потоком данных (напр., XON/XOFF), чтобы управлять потоком данных на последовательном порту
mru n Устанавливает значение MRU [Maximum Receive Unit] в n байт при договоренности. Демон pppd запросит удаленную сторону отправлять пакеты не более чем по n байт. Минимальное значение MRU 128. Значение MRU по умолчанию 1500. Для медленных соединений рекомендуется 296 (40 байт для заголовка TCP/IP + 256 байт данных)
mtu n Устанавливает значение MTU [Maximum Transmition Unit) в n байт. Пока другая сторона не попросит меньшее значение при договоре о MRU, pppd будет требовать у сетевого кода ядра отправлять пакеты данных не более, чем по n байт через сетевой интерфейс РРР
chap-interval интервал С этой опцией pppd будет заново вызывать удаленную сторону каждые _интервал_ секунд
debug Увеличить уровень отладки (то же что –d). Если эта опция есть, то pppd будет записывать в журнал все прибывшие и отправленные пакеты в читабельной форме. Пакеты будут регистрироваться в файлах протоколов через syslog. Эта информация может быть перенаправлена в файл соответствующей установкой /etc/syslog.conf. Если pppd скомпилирован с разрешенной extra-отладкой, он будет записывать сообщения в журнал, используя средство 1оса12 вместо daemon
-detach Не переходить в фоновый режим (иначе pppd будет это делать, только если указано последовательное устройство)

Оптимальными значениями mru и mtu являются 542 и 552 соответственно. Однако, для получения максимальной производительности, поэкспериментируйте со значениями этих параметров. Помимо вышеуказанных команд, для настройки ррр вы можете использовать команды, приведенные в табл. 7.3.

Дополнительные параметры соединения Таблица 7.3 

Команда Описание
connect программа Задает программу для настройки линии
disconnect программа Запустить данную программу после того, как pppd завершил связь
asyncmap В качестве значения данного параметра указывается async-карта символов – 32-bit hex; каждый бит – символ, который надо представить в виде escape-последовательности, чтобы pppd мог его принять. 0x00000001 – это маска для 'х01', а 0x80000000 – маска для 'x1f
local Не использовать линии управления модемом
modem Использовать линии управления модемом
lock Указывает, что демон pppd должен создать файл блокировки для последовательного порта
passive Разрешить опцию «passive» в LCP. С этой опцией pppd будет пытаться инициировать соединение; если ответ от другой стороны не принят, то pppd будет пассивно ожидать правильный LCP-пакет от другой стороны (вместо выхода, как делается без этой опции)
silent С этой опцией pppd не будет передавать LCP-пакеты для инициации соединения, пока не придет правильный LCP-пакет от другой стороны (как опция «passive» в старых версиях pppd)
-all Не разрешать договариваться о любых опциях LCP и IPCP (будут использоваться значения по умолчанию)
-am Запретить договариваться о asyncmap
-ip Не договариваться об IP-адресе (адрес должен быть указан или в options, или в командной строке)
-mru Запретить договариваться о MRU (Max Receive Unit)
-pc Запретить сжатие полей протокола
+pap РАР-аутентификация
-pap Отказаться от РАР-аутентификации
+chap СНАР-аутентификация
domain имя_домена Добавить имя домена к имени машины
name имя_машины Установить имя машины (в целях аутентификации)
user имя Установить имя пользователя для аутентификации этой машины на другой стороне, используя РАР. Нельзя использовать вместе с параметром name
login Использовать базу данных паролей для идентификации удаленной стороны, используя РАР
idle n Если соединение не используется в течение n секунд, то оно будет разорвано
speed Задает скорость обмена с модемом (пропускную способность порта)  

После того как настройка ррр завершена, можно перейти к редактированию inittab. Добавьте в /etc/inittab следующие строки:

7:2345:respawn:/usr/sbin/pppd file /etc/ppp/options.0 > /var/log/pppS0.log
8:2345:respawn:/usr/sbin/pppd file /etc/ppp/options.1 > /var/log/pppS1.log

7 и 8 — это порядковые номера, 1…6 уже заняты для системных консолей ttyl-tty6. 2345 — уровни запуска. Весь inittab должен выглядеть примерно так, как это показано в листинге 7.5:

Примечание. В процессе загрузки операционная система Linux вызывает фоновый процесс init (PID=1), который обрабатывает конфигурационный файл /etc/inittab и затем запускает сценарий запуска системы /etc/rс.d/rc.sysinit. Этот сценарий, в зависимости от режима запуска (уровня выполнения), запускает разные демоны (фоновые задачи). Уровень выполнения задается в файле inittab. В нашем примере (см. листинг 7.5) уровнем выполнения по умолчанию является третий уровень. Перейти из одного уровня на другой можно с помощью команды init N, где N — номер уровня. Подробнее об этом и многом другом, связанном с начальной загрузкой системы, вы можете прочитать в п 5.5.

Листинг 7.5. Файл inittab для выделенной линии

id:3:initdefault:
# System initialization.
si::sysinit:/etc/re.d/re.sysinit
10:0:wait:/etc/rс.d/rc 0
11:1:wait:/etc/rс.d/rc 1
12:2:wait:/etc/rс.d/rc 2
13:3:wait:/etc/rс.d/rc 3
14:4:wait:/etc/rс.d/rc 4
15:5:wait:/etc/rс.d/rc 5
16:6:wait:/etc/rс.d/rc 6
# Things to run in every runlevel.
ud::once:/sbin/update
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown –t3 –r now
pf: :powerfail:/sbin/shutdown –f –h +2 "Power Failure; System Shutting Down"
pr: 12345 :powerokwait:/sbin/shutdown –c "Power Restored; Shutdown Cancelled"
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
7:2345:respawn:/usr/sbin/pppd file /etc/ppp/options.0 > /var/log/pppS0.log
8:2345:respawn:/usr/sbin/pppd file /etc/ppp/options.1 > /var/log/pppS1.log
# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/etc/X11/prefdm –nodaemon

He забудьте надлежащим образом настроить ваши модемы! Для этого вам нужно прочитать документацию по вашему модему. Обычно для инициализации модемов используется АТ-команда AT&L1. Однако эта команда поддерживается не всеми модемами.

Оглавление книги


Генерация: 1.417. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз