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

Автор: Денис Колисниченко dhsilabs@mail.ru Опубликовано: 15.12.2001 Оригинал:http://www.softerra.ru/freeos/14719/ Для начала разберемся, что же такое выделенная линия? Сети с коммутацией пакетов (каналов) можно разделить на две группы: сети с динамической и постоянной коммутацией. В первом случае пользователь может установить соединение по собственной инициативе. Коммутация выполняется на время сеанса связи, а затем связь разрывается (или по инициативе пользователя или по инициативе сервера). Во втором случае динамическая коммутация не осуществляется, а вместо этого двум пользователям разрешается заказать соединение на длительный период времени. Режим постоянной коммутации называется выделенной (dedicated) или арендуемой (leased) линией. Замечание. Определение выделенной линии, которое я привел выше, ни в коем случае не претендует на свою полноту. А теперь перейдем непосредственно к настройке PPP. Я использую Mandrake 7.2, поэтому сначала опишу установку из RPM, а потом полностью компилирование pppd из исходников. Установить ppp вы можете с помощью команд: # mount /mnt/cdrom # rpm -ih /mnt/cdrom/Mandrake/RPMS/ppp* Нужно также позаботиться о том, чтобы ядро поддерживало PPP. В большинстве случаев поддержка PPP уже встроена в ядро. Проверить наличие поддержки PPP можно с помощью команды: dmesg | grep PPP Желающие могут установить PPP из исходников. Последнюю версию можно скачать отсюда: ftp://ftp.linuxcare.com.au/pub/ppp/ Последняя версия ppp на момент написания этой статьи v 2.4.1. Установку ppp можно выполнить с помощью таких команд: # ./configure # make # make install Естественно, до этого нужно перейти в каталог с распакованными исходниками ppp. Ну а теперь приступим к редактированию файлов. При корректной установке (или сборке) у вас должны быть файлы: /etc/ppp/options /etc/ppp/ip-up /etc/ppp/ip-down /etc/ppp/pap-secrets /etc/ppp/chap-secrets Нам нужны только первые три. Предположим вам нужно настроить два выделенных канала. Для определенности первый модем будет подключен к /dev/ttyS0, а второй v к /dev/ttyS1. Файл /etc/ppp/options будет содержать глобальные настройки (возможно, вы захотите установить dial-up соединение, подключив еще один модем). Файлы конфигурации для модемов /dev/ttyS0 и /dev/ttyS1 будут называться соответственно /etc/ppp/options.ttS0 и /etc/ppp/option.ttyS1. Редактируем файл /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 Между нашими модемами (собственно между Lнашим▒ и тем, что на другой стороне) создается подсеть 192.168.99.0 (netmask 255.255.255.0). По окончанию конфигурирования выделенной линии вам нужно настроить роутинг (см. man route). Если же линия у вас одна, то вы можете в конец файла /etc/options.ttyS0 добавить команду defaultroute. Эта запись добавляет маршрут в системную таблицу маршрутизации, используя удаленную сторону как шлюз. Обычно запись удаляется при завершении соединения. Теперь разберемся со всеми остальными командами. Таблица 1. Команда Описание noauth не требует удаленную сторону назвать себя перед тем, как начнется обмен пакетами. auth v если аутентификация нужна crtscts использовать аппаратное управление потоком данных (напр., RTS/CTS), чтобы управлять потоком данных на последовательном порту xonxoff использовать программное управление потоком данных (напр., XON/XOFF), чтобы управлять потоком данных на последовательном порту mru 542 устанавливает значение MRU [Maximum Receive Unit] в 542 при договоренности. pppd запросит удаленную сторону отправлять пакеты не более, чем по 542 байт. Минимальное значение MRU 128. Значение MRU по умолчанию 1500. Для медленных соединений рекомендуется 296 (40 байт для заголовка TCP/IP + 256 байт данных). mtu 552 устанавливает значение MTU [Maximum Transmit Unit] в 552. Пока другая сторона не попросит меньшее значение при договоре о MRU, pppd будет требовать у сетевого кода ядра отправлять пакеты данных не более, чем по 552 байта через сетевой интерфейс PPP chap-interval интервал С этой опцией pppd будет заново вызывать удаленную сторону каждые интервал секунд. debug увеличить уровень отладки (то же что -d). Если эта опция есть, pppd будет записывать в журнал все прибывшие и отправленные пакеты в читабельной форме. Пакеты регистрируются в лог-файлах через syslog с помощью daemon и уровнем отладки. Эта информация может быть перенаправлена в файл соответствующей установкой /etc/syslog.conf. Если pppd скомпилирован с разрешенной extra отладкой, он будет записывать сообщения в журнал, используя средство local2 вместо daemon. -detach Не переходить в фоновый режим (иначе pppd бедет делать так, если последовательной устройство указано). Помимо вышеуказанных команд, для настройки ppp вы можете использовать и эти команды: Таблица 2. Команда Описание connect <программа> устанавливает программу для настройки линии disconnect <программа> запустить данную программу после того, как pppd завершил связь asyncmap 0 async карта символов v 32-bit hex; каждый бит v символ, который надо представить в виде escape-последовательности, чтобы pppd мог его принять. 0x00000001 v это маска для '\x01', а 0x80000000 v маска для '\x1f'. local не использовать линии управления модемом modem использовать линии управления модемом lock # Указывает, что pppd должен использовать lock в стиле UUCP для последовательного устройства noipdefalut Запретить поведение по умолчанию, когда не указан локальный IP адрес, которое определяет (если возможно) локальный IP адрес по имени хоста. С этой опцией удаленная сторона должна будет обеспечить локальный IP адрес в течение IPCP переговоров (если она не определена явно в командной строке или в файле options). passive Разрешить опцию Lpassive▒ в LCP. С этой опцией pppd будет пытаться инициировать соединение; если ответ от другой стороны не принят, то pppd будет пассивно ожидать правильный LCP пакет от другой стороны (вместо выхода, как делается без этой опции). silent С этой опцией pppd не будет передавать LCP пакеты для инициации соединения пока не придет правильный LCP пакет от другой стороны (как опция Lpassive▒ в старых версиях pppd). -all не разрешать договариваться о любых опциях LCP и IPCP (будут использоваться значения по умолчанию) -am запретить договариваться о asyncmap -ip не договариваться об IP-адресе (адрес должен быть указан или в options или в командной строке) -mru запретить договариваться о mru (Max Receive Unit) -pc запретить сжатие полей протокола +pap двусторонняя pap-аутентификация -pap отказаться от pap-аутентификации +chap двусторонняя chap-аутентификация domain имя_домена добавить имя домена к имени машины name имя_машины установить имя машины (в целях аутентификации) user имя установить имя пользователя для аутентификации этой машины на другой стороне используя PAP. Нельзя использовать вместе с name login использовать базу данных паролей для идентификации удаленной стороны, используя PAP ipcp-restart интервал установить интервал рестарта IPCP (пауза возобновления передачи) в интервал секунд (по умолчанию 3). ipcp-restart значение установить интервал рестарта IPCP (пауза возобновления передачи) в интервал секунд (по умолчанию 3). ipcp-max-terminate значение установить максимальное число передач IPCP terminate-request. (по умолчанию 3). ipcp-max-configure значение установить максимальное число передач IPCP configure-request. (по умолчанию 10). ipcp-max-failure значение установить максимальное число IPCP configure-NAKs, возвращенных перед началом отправки вместо configure-Rejects. (по умолчанию 10). pap-restart интервал установить интервал рестарта PAP (пауза возобновления передачи) в интервал секунд (по умолчанию 3). pap-max-authreq значение установить максимальное число передач PAP authenticate-request.(по умолчанию 10). chap-restart интервал установить интервал рестарта CHAP (пауза возобновления передач challenges) в интервал секунд (по умолчанию 3). chap-max-challenge значение установить максимальное число передач CHAP challenge. (по умолчанию 10). После того как настройка ppp завершена, можно перейти к редактированию 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 v это порядковые номера, 1-6 уже заняты для системных консолей tty1-tty6. 2345 v уровни запуска. Весь inittab должен выглядеть примерно так: id:3:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.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:2345:respawn:/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 Для сбора статистики можно воспользоваться следующей программкой: #!/bin/sh /bin/grep "ppp0:" /proc/net/dev | /bin/awk -F ":" '{ print $2 }' | /bin/awk '{ print "In: " $1 " Out: " $9 ; }' или смотреть статистику напрямую: cat /proc/net/dev. Трафик можно считать многими способами. Информацию о локальном трафике (только вашего интерфейса) предоставляют в довольно удобоваримом виде программы iptraf и trafshow. IpTraf обладает бОльшими возможностями по сравнению с trafshow. Если вас интересует профессиональный подсчет трафика, рекомендую использовать такие программы как useripacct, MRTG, netacct. ipacct может подсчитывать трафик в локальной сети: как хостов, так и отдельных пользователей. Назначение MRTG примерно такое же, но в нее уже Lвстроен▒ Web-интерфейс, а к ipacct его придется прикручивать самостоятельно. Описание настройки MRTG вы можете найти на сайте Сергея Богомолова v www.bog.pp.ru. Там же вы можете найти и описание RRDTool v последующее развитие MRTG. Также о методах подсчета трафика вы можете прочитать на linux.uatel.net. Иногда эта машина бывает недоступной v так что если это все-таки случилось, попробуйте обратиться к ней немного позже. Довольно подробные сведения о трафике дает программа iplog.

 Главная  |  Безопасность в сети  Регистрация доменов и хостинг  |  Программирование  |  Библиотека  |  UNIX  |  Украина  |  Иммиграция  |  Поиск  |  Заработок в Интернет  |  Unsorted  |

Hosted by   elektrod.com.ua