faqs.org.ru

 Главная > Операционные системы > Семейство UNIX >

FAQ по FreeBSD 2.X и 3.X

Секция 7 из 10 - Предыдущая - Следующая
Все секции - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10

блокируя консоль. Лучше всего выдержать паузу секунд на 10 и потом запустить
xdm.

Если xdm запускается из /etc/ttys, то есть вероятность конфликта между xdm и
getty. Одним из способов избежать этого является добавление номера vt в файл /
usr/X11R6/lib/X11/xdm/Xservers.

    :0 local /usr/X11R6/bin/X vt4


В вышеприведённом случае X-серверу указывается работать на /dev/ttyv3.
Заметьте, что номера отличаются на единицу. Дело в том, что X-сервер считает
vty от единицы, когда как отсчёт vty в ядре FreeBSD ведётся с нуля.

8.8. При запуске xconsole выдаётся сообщение Couldn't open console.

Если вы запускаете X через скрипт startx, права на устройство /dev/console не
изменяются, поэтому такие команды, как xterm -C и xconsole, не будут работать.

Это зависит от прав доступа, установленных для консоли по умолчанию. В
многопользовательской системе вовсе не нужно, чтобы любой пользователь мог выв
одить информацию на системную консоль. Для пользователей, вошедших в систему
через VTY, для решения этой проблемы существует файл fbtab.

В общем, раскомментируйте строчку вида

    /dev/ttyv0 0600 /dev/console


в файле /etc/fbtab, и этого будет достаточно для того, чтобы всякий, кто вошёл
в систему с /dev/ttyv0, будет иметь доступ к консоли.

8.9. Моя мышь PS/2 в X работает неправильно.

Вполне может быть, что ваша мышь и её драйвер рассинхронизировались.

В версиях 2.2.5 и более ранних это может произойти при переключении из X в в
иртуальный терминал и последующем возвращении в X. Если эта проблема возникает
достаточно часто, попробуйте добавить следующую строку в файл конфигурации ядра
и перекомпилировать его.

    options PSM_CHECKSYNC


Если у вас нет опыта перекомпиляции ядра, обратитесь к соответствующему разделу
.

С этой опцией проблем с синхронизацией мыши и её драйвера должно быть меньше.
Если, однако, эта проблема всё же осталась, щёлкните любой кнопкой мыши, не дв
игая ей, что заставит мышь и драйвер сделать попытку синхронизироваться.

Заметьте, что в некоторых системах эта опция может не работать и приводить к
отключению функции "tap" устройства ALPS GlidePoint, подключенного к порту мыши
PS/2.

В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше и включена
в стандартный драйвер мыши PS/2. Она должна работать даже с GlidePort. (Так как
код проверки стал стандартной функцией, опция PSM_CHECKSYNC в этих версиях
недоступна.) Однако в редких случаях драйвер может ошибочно обнаруживать
проблемы с синхронизацией, и вы будете видеть такие сообщения ядра:

    psmintr: out of sync (xxxx != yyyy)


а также обнаружите, что мышь теперь работает неправильно.

Если это случится, отмените проверку согласования, установив значение флага для
драйвера мыши PS/2 в 0x100. Войдите в конфигуратор UserConfig, задав опцию -c в
приглашении загрузчика:

    boot: -c


Затем в командной строке UserConfig наберите:

    UserConfig> flags psm0 0x100
    UserConfig> quit


8.10. Моя мышь PS/2 от MouseSystems похоже, не работает.

Было несколько сообщений, что некоторые модели мышей PS/2 от MouseSystems
работают только в режиме "высокого разрешения". В других режимах курсор мыши
постоянно прыгает в верхний левый угол экрана.

К сожалению, для версий 2.0.X и 2.1.X решения этой проблемы не существует. Для
версий от 2.2 до 2.2.5 приложите следующий патч к файлу /sys/i386/isa/psm.c и
перестройте ядро. Если у вас нет опыта перекомпиляции ядра, обратитесь к соотв
етствующему разделу.

    @@ -766,6 +766,8 @@
         if (verbose >= 2)
        log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
            unit, i);
    +    set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH);
    +
     #if 0
         set_mouse_scaling(sc->kbdc);   /* 1:1 scaling */
         set_mouse_mode(sc->kbdc);              /* stream mode */


Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2 для перевода её в
режим высокого разрешения. Войдите в UserConfig, задав опцию -c в приглашении
загрузчика:

    boot: -c


Затем в командной строке UserConfig наберите:

    UserConfig> flags psm0 0x04
    UserConfig> quit


В предыдущем разделе описана возможная причина проблем с мышью.

8.11. При компиляции приложений для X программа imake не может найти файл
Imake.tmpl. Где он находится?

Файл Imake.tmpl является частью пакета Imake, стандартного инструмента для
построения X-приложений. Он, также как ещё несколько заголовочных файлов,
требуемых для построения X-приложений, содержится в дистрибутиве программ X. Вы
можете их проинсталлировать из sysinstall или взять из дистрибутива X.

8.12. Как поменять местами кнопки мыши?

Поместите команду xmodmap -e "pointer = 3 2 1" в один из ваших скриптов
.xinitrc или .xsession.

8.13. Как установить экранную заставку и где такие заставки можно найти?

Перед самым выпуском релиза FreeBSD 3.1 в систему была добавлена возможность вы
вода "заставки" во время загрузки. На данный момент экраны заставок должны быть
256-цветными файлами формата BMP *.BMP или ZSoft PCX (*.PCX). Кроме того, они
должны иметь разрешение 320x200 или меньше для работы со стандартными
адаптерами VGA. Если вы включили поддержку VESA при компиляции ядра, то вы
можете использовать экраны размером до 1024x768. Заметьте, что поддержка VESA
требует указание опции VM86 при компиляции ядра. Реальная поддержка VESA может
быть вкомпилирована в ядро при указании опции VESA либо загружена в виде
kld-модуля ядра во время начальной загрузки.

Чтобы использовать заставку, вам нужно изменить файлы, управляющие процессом
загрузки FreeBSD. Формат этих файлов был изменён перед выпуском релиза FreeBSD
3.2, так что есть два способа загрузки экранных заставок:

  * FreeBSD 3.1

    Первым делом нужно найти экранную заставку в формате BMP. Релиз 3.1
    поддерживает заставки только в формате Windows. После того, как вы нашли
    понравившуюся вам заставку, скопируйте её в файл /boot/splash.bmp. Затем в
    ам нужно поместить в файл /boot/loader.rc следующие строки:

        load kernel
        load -t splash_image_data /boot/splash.bmp
        load splash_bmp
        autoboot

  * FreeBSD 3.2+

    Кроме поддержки заставок в формате PCX, FreeBSD 3.2 включает более гибкую
    систему конфигурации процесса загрузки. Если вы хотите, вы можете использов
    ать метод, указанный выше для FreeBSD 3.1. Если же вы хотите использовать
    формат PCX, замените splash_bmp на splash_pcx. С другой стороны, если вы
    хотите использовать новую систему конфигурации процесса загрузки, вам нужно
    создать файл /boot/loader.rc, содержащий следующие строки:

        include /boot/loader.4th
        start


    и файл /boot/loader.conf со строками:

        splash_bmp_load="YES"
        bitmap_load="YES"


    Здесь предполагается, что в качестве заставки вы используете файл /boot/
    splash.bmp. Если вы используете PCX-файл, скопируйте его под именем /boot/
    splash.pcx, создайте файл /boot/loader.rc, как указано выше, и создайте
    файл /boot/loader.conf, который содержит следующее:

        splash_pcx_load="YES"
        bitmap_load="YES"
        bitmap_name="/boot/splash.pcx"


Теперь всё, что вам нужно - это сама заставка. Поищите заставки в галерее по
адресу http://www.baldwin.cx/splash/.

8.14. Можно ли в X использовать клавиши Windows(tm), которые есть на клав
иатуре?

Да. Всё, что вам нужно сделать, это с помощью xmodmap(1) задать функции,
которые вы хотите к этим клавишам привязать.

Положим, что все клавиатуры "Windows(tm)" стандартны и 3 клавиши имеют
следующие клавиатурные коды

  * 115 - клавиша Windows(tm), между клавишами Ctrl и Alt с левой стороны

  * 116 - клавиша Windows(tm), справа от клавиши Alt-Gr

  * 117 - клавиша вызова меню, слева от клавиши Ctrl, находящейся справа

Чтобы заставить левую клавишу Windows(tm) набирать запятую, попробуйте в
ыполнить такую команду:

        # xmodmap -e "keycode 115 = comma"


Чтобы увидеть результат, вам нужно будет перезапустить ваш оконный менеджер.

Для того, чтобы переопределения клавиш Windows(tm) выполнялось автоматически
каждый раз при запуске X, можно поместить вызов команд xmodmap в ваш ~/.xinitrc
либо, что предпочтительней, создать файл ~/.xmodmaprc и включить в него
параметры для xmodmap, по одному на строку, и добавить строку

    xmodmap $HOME/.xmodmaprc

в ваш ~/.xinitrc.

Например, я переопределил эти 3 клавиши так, чтобы они выполняли функции F13,
F14 и F15 соответственно. Это позволяет легко привязать их к полезным функциям
в приложениях или вашем менеджере окон.

Чтобы сделать это, поместите в файл ~/.xmodmaprc вот такие строки:

        keycode 115 = F13
        keycode 116 = F14
        keycode 117 = F15


Я использую fvwm2 и переопределил клавиши таким образом, что F13 сворачивает в
иконку (или восстанавливает предыдущие размеры) окна, на которое указывает
курсор, F14 перемещает окно с курсором на передний план или, если оно уже в
переди, возвращает обратно, а F15 вызывает главное меню Рабочего места
(Workplace) (приложение), даже если курсор находится не на рабочем столе, что
бывает полезно, если нет ни одного видимого кусочка рабочего стола (к тому же
логотип на клавише соответствует этой функции).

Вот строки из моего ~/.fvwmrc, с помощью которых это достигается:

        Key F13        FTIWS    A        Iconify
        Key F14        FTIWS    A        RaiseLower
        Key F15        A        A        Menu Workplace Nop

-------------------------------------------------------------------------------

Chapter 9. Работа в сети

9.1. Где можно найти информацию о "бездисковой загрузке"?
9.2. Может ли машина с FreeBSD использоваться как маршрутизатор?
9.3. Можно ли подключить машину с Win95 к Internet с помощью FreeBSD?
9.4. Почему не проходит компиляция последней версии BIND от ISC?
9.5. Поддерживает ли FreeBSD протоколы SLIP и PPP?
9.6. Поддерживает ли FreeBSD NAT или Masquerading?
9.7. Не могу создать устройство /dev/ed0!
9.8. Как настроить алиас на Ethernet?
9.9. Как заставить адаптер 3C503 использовать другой тип сетевого разъёма?
9.10. У меня проблемы при работе NFS во FreeBSD.
9.11. Почему я не могу смонтировать диск Linux по NFS?
9.12. Почему я не могу смонтировать диск Sun по NFS?
9.13. Проблемы при связи по PPP с машинами NeXTStep.
9.14. Как включить поддержку multicast IP?
9.15. Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?
9.16. Почему я должен использовать FQDN для хостов не в моей сети?
9.17. Permission denied для любых действий, связанных с работой сети.
9.18. Какую нагрузку вызывает использование IPFW?
9.19. Как можно перенаправить запросы с одной машины на другую?
9.20. Где можно найти средства управления сетевым трафиком?
9.21. Почему появляются сообщения /dev/bpf0: device not configured?
9.22. Как смонтировать диск Windows-машины в моей локальной сети, как это
    делает smbmount в Linux?

9.1. Где можно найти информацию о "бездисковой загрузке"?

"Бездисковая загрузка" означает, что машина с FreeBSD загружается по сети и
читает необходимые файлы с сервера, а не со своего диска. Подробное описание
есть в соответствующей главе Руководства.

9.2. Может ли машина с FreeBSD использоваться как маршрутизатор?

Стандарты Internet и опыт практической работы не позволяют нам в FreeBSD
держать маршрутизацию пакетов включенной по умолчанию. Вы можете сделать это,
изменив значение следующей переменной в файле rc.conf на YES:

    gateway_enable=YES          # Set to YES if this host will be a gateway


Этот параметр изменит значение системной переменной net.inet.ip.forwarding на
1.

Кроме того, в большинстве случаев вам будет необходимо запустить программу
маршрутизации, для того, чтобы объявить о появлении нового маршрутизатора
другим системам в вашей сети; FreeBSD поставляется со стандартной для
BSD-систем программой маршрутизации routed, в более сложных ситуациях вы можете
попробовать GaTeD (доступный по адресу http://www.gated.org с
ftp.gated.Merit.EDU), который поддерживает FreeBSD начиная с версии 3_5Alpha7.

Мы обязаны предупредить вас, что даже когда FreeBSD настроена таким образом,
она не полностью соответствует стандартам Internet для маршрутизаторов, однако
для обычной работы этого хватает.

9.3. Можно ли подключить машину с Win95 к Internet с помощью FreeBSD?

Как правило, те, кто задает такие вопросы, имеют дома два компьютера, один с
FreeBSD, а другой с Win95; идея состоит в использовании FreeBSD для подключения
к Internet, а затем осуществлять выход в Internet из Windows95 через FreeBSD.
На самом деле это просто особый случай предыдущего вопроса.

... и ответ на него - да! Во FreeBSD 3.x, ppp режима пользователя имеет
параметр -nat. Если вы запустите ppp с параметром -nat, установив в файле /etc/
rc.conf gateway_enable в значение YES и правильно настроите машину с Windows,
то всё должно прекрасно заработать.

Более подробная информация о настройке может быть найдена в Подробном Примере
PPP Стива Симса (Steve Sims).

Если вы используете ppp режима ядра, или у вас Ethernet-подключение к Internet,
можно воспользоваться командой natd. Пожалуйста, обратитесь к разделу о natd
этого FAQ.

9.4. Почему не проходит компиляция последней версии BIND от ISC?

Это - результат конфликта между файлом cdefs.h в дистрибутиве и тем, что постав
ляется с FreeBSD. Достаточно удалить файл compat/include/sys/cdefs.h.

9.5. Поддерживает ли FreeBSD протоколы SLIP и PPP?

Да. Посмотрите страницы справочника по командам slattach, sliplogin, pppd и ppp
. Pppd и ppp могут обслуживать как входящие, так и исходящие соединения.
Sliplogin имеет дело исключительно со входящими соединениям, а slattach -
только с исходящими.

Эти программы описаны в следующих разделах руководства:

  * Протокол SLIP (сервер)

  * Протокол SLIP (клиент)

  * Протокол PPP (режим ядра)

  * Протокол PPP (режим пользователя)

Если вы имеете доступ в Internet через командную строку оболочки, вам может
подойти slirp. С его помощью можно получить (ограниченный) доступ к таким
службам, как ftp и http прямо с вашей машины.

9.6. Поддерживает ли FreeBSD NAT или Masquerading?

Если у вас есть локальная сеть (одна или больше машин), но только один IP
адрес, предоставленный провайдером, вас может привлечь natd. natd позволяет
подключить всю сеть к Internet, используя единственный IP адрес.

Программа ppp имеет похожую встроенную возможность через параметр -nat. В обоих
случаях используется библиотека libalias.

9.7. Не могу создать устройство /dev/ed0!

В стандарте сетевого взаимодействия Беркли сетевые интерфейсы напрямую доступны
только ядру. За дополнительной информацией обратитесь к файлу /etc/rc.network и
страницам справочника, описывающим различные сетевые программы, упоминаемые
здесь. Если всё это оставит вас в недоумении, почитайте книгу, описывающую
администрирование сети в другой BSD-подобной операционной системе; с некоторыми
незначительными исключениями, администрирование сети во FreeBSD в основном сов
падает с SunOS 4.0 и Ultrix.

9.8. Как настроить алиас на Ethernet?

Добавьте netmask 0xffffffff в командной строке ifconfig так, как это сделано
здесь:

    # ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff


9.9. Как заставить адаптер 3C503 использовать другой тип сетевого разъёма?

Если вы хотите задействовать другой разъём, то должны указать дополнительный
параметр в командной строке ifconfig. Разъёмом по умолчанию является link0.
Чтобы задействовать разъём AUI, а не BNC, используйте link2. Эти флаги должны
быть указаны с помощью переменных ifconfig_* в /etc/rc.conf.

9.10. У меня проблемы при работе NFS во FreeBSD.

Некоторые сетевые адаптеры работают (мягко говоря) хуже, чем другие что может
иногда вызывать проблемы при работе приложений типа NFS, интенсивно
использующих сеть.

Подробности описаны в соответствующей главе Руководства, посвящённой NFS.

9.11. Почему я не могу смонтировать диск Linux по NFS?

Некоторые версии NFS для Linux поддерживают запросы на монтирование только с
привилегированного порта; попробуйте

    # mount -o -P linuxbox:/blah /mnt


9.12. Почему я не могу смонтировать диск Sun по NFS?

Рабочие станции Sun под управлением SunOS 4.X поддерживают запросы на монтиров
ание только с привилегированного порта; попробуйте

    # mount -o -P sunbox:/blah /mnt


9.13. Проблемы при связи по PPP с машинами NeXTStep.

Попробуйте отменить все расширения TCP в /etc/rc.conf, изменив значение
следующей переменной в NO:

    tcp_extensions=NO


Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, поэтому при
подключении к ним вам нужно проделать то же самое.

9.14. Как включить поддержку multicast IP?

Работа с многоадресной рассылкой по умолчанию полностью поддерживается версиями
FreeBSD 2.0 и выше. Если вы хотите использовать ваш компьютер как маршрутизатор
многоадресного трафика, вам нужно перекомпилировать ядро с включенной опцией
MROUTING и запустить mrouted. Версии FreeBSD 2.2 и выше будут запускать mrouted
во время загрузки, если переменная mrouted_enable в файле /etc/rc.conf установ
лена в значение YES.

Приложения MBONE находятся в своей категории портов, mbone. Если вы ищете
приложения для организации конференций vic и vat, посмотрите там!

Более подробная информация располагается на сервере Mbone Information Web.

9.15. Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?

Вот список, составленный Гленом Фостером (Glen Foster), с некоторыми
незначительными добавлениями:

    Vendor          Model
    ----------------------------------------------
    ASUS            PCI-L101-TB
    Accton          ENI1203
    Cogent          EM960PCI
    Compex          ENET32-PCI
    D-Link          DE-530
    Dayna           DP1203, DP2100
    DEC             DE435, DE450
    Danpex          EN-9400P3
    JCIS            Condor JC1260
    Linksys         EtherPCI
    Mylex           LNP101
    SMC             EtherPower 10/100 (Model 9332)
    SMC             EtherPower (Model 8432)
    TopWare         TE-3500P
    Znyx            (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
                    (3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
                          ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)


9.16. Почему я должен использовать FQDN для хостов не в моей сети?

Вы, наверное, обнаружили, что хост, к которому вы обратились, оказался на самом
деле в другом домене; например, если вы находитесь в домене foo.bar.edu и
хотите обратиться к хосту mumble в домене bar.edu, то должны указать его полное
доменное имя, mumble.bar.edu, а не просто mumble.

Традиционно, это позволял делать ресолвер BSD BIND. Однако текущая версия bind,
поставляемая с FreeBSD, больше не добавляет имена доменов, отличающихся от
того, в котором вы находитесь, для не полностью указанных имён хостов. Так что
неполно указанный хост mumble будет найден либо как mumble.foo.bar.edu, либо
будет искаться в корневом домене.

Это отличается от предыдущего поведения, при котором поиск продолжался в
mumble.bar.edu и mumble.edu. Посмотрите RFC 1535 о причинах объявления такого
поведения плохой практикой и даже ошибкой в безопасности.

Как хорошее решение, вы можете поместить строку

    search foo.bar.edu bar.edu


вместо ранее используемой

    domain foo.bar.edu


в файл /etc/resolv.conf. Однако удостоверьтесь, что порядок поиска не нарушает
"границ полномочий между местным и внешним администрированием", как это названо
в RFC 1535.

9.17. Permission denied для любых действий, связанных с работой сети.

Если вы компилировали ядро с опцией IPFIREWALL, имейте в виду, что политика по
умолчанию настроена как в 2.1.7R (она на самом деле изменилась во время
разработки 2.1-STABLE), то есть указан запрет на прохождение всех пакетов,
которые явно не разрешены.

Если вы случайно неверно отконфигурировали межсетевой экран, то для восстанов
ления работоспособность сети дайте такую команду, войдя суперпользователем:

    # ipfw add 65534 allow all from any to any


Также вы можете установить firewall_type='open' в файле /etc/rc.conf.

Более подробная информация о конфигурировании межсетевого экрана в FreeBSD
находится в соответствующем разделе Руководства.

9.18. Какую нагрузку вызывает использование IPFW?

Ответ на этот вопрос зависит главным образом от набора правил и произв
одительности процессора. Для большинства приложений, имеющих дело с ethernet и
простым набором правил, ответ: незначительно. Для тех, кому нужны реальные
цифры для удовлетворения любопытства, читайте дальше.

Следующие измерения были сделаны с использованием 2.2.5-STABLE на машине
486-66. IPFW был модифицирован для измерения времени, затрачиваемого внутри
процедуры ip_fw_chk и вывода результатов на консоль каждую тысячу пакетов.

Тестировались два набора по 1000 правил в каждом. Первый набор был предназначен
для демонстрации наихудшего случая, повторяя условие

    # ipfw add deny tcp from any to any 55555


Это наихудший случай, так как все условия IPFW будут проверены перед тем, как
будет принято окончательное решение о том, что пакет не соответствует условию
(мы меняли номер порта). После 999 повторений этого условия находилось правило
allow ip from any to any.

Второй набор был предназначен для быстрого прерывания процесса проверки услов
ий:

    # ipfw add deny ip from 1.2.3.4 to 1.2.3.4


Неподходящий IP-адрес источника для указанного условия быстро вызывает пропуск
этого правила. Как и ранее, последним правилом было allow ip from any to any.

Затраты на обработку пакета в первом случае было примерно 2.703 мс/пакет, или
примерно 2.7 микросекунд на правило. Таким образом, теоретический предел
скорости обработки пакетов с этими правилами равен примерно 370 пакетам в
секунду. Предполагая использование ethernet 10Мб/с с размером пакета примерно
1500, мы можем достигнуть только 55.5% использования пропускной способности.

В последнем случае на обработку каждого пакета было затрачено примерно 1.172мс,
или около 1.2 микросекунд на правило. Теоретический предел обработки будет рав
ен около 853 пакетам в секунду, что почти соответствует скорости 10Мб/с
ethernet.

Большое количество протестированных правил и природа этих правил не даёт
представление о реальной жизни - они были использованы только для генерации
информации о времени обработки. Вот несколько наблюдений, которые нужно иметь в
виду для построении эффективного набора правил:

  * Поместите правило `established' в самое начало списка для обработки основ
    ного трафика TCP. Не помещайте перед ним никаких правил allow tcp.

  * Старайтесь помещать часто вызываемые правила как можно раньше, а редко
    используемые - позже (без изменения политики, конечно). Вы можете выяснить
    частоту использования правил с помощью вывода статистики командой ipfw -a
    l.

9.19. Как можно перенаправить запросы с одной машины на другую?

Вы можете перенаправить запрос на FTP (или другой сервис) с помощью пакаджа
socket, доступного в дереве портов в категории "sysutils". Просто замените
командную строку запуска сервиса на вызов socket, типа:

    ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp


где ftp.foo.com и ftp являются соответственно хостом и портом для перенаправ
ления.

9.20. Где можно найти средства управления сетевым трафиком?

Для FreeBSD существуют два средства управления трафиком: свободно
распространяемый ALTQ и коммерческий продукт Bandwidth Manager от Emerging
Technologies.

9.21. Почему появляются сообщения /dev/bpf0: device not configured?

Для работы программ, использующих Berkeley Packet Filter (bpf) необходимо в
ключение в ядро соответствующего драйвера. Перекомпилируйте ядро, добавив в его
конфигурационный файл следующую строку:

    pseudo-device bpfilter # Berkeley Packet Filter


Затем, после перезапуска системы, вам нужно создать соответствующий файл
устройства. Это можно сделать, сменив текущий каталог на /dev и выполнив
команду

    # sh MAKEDEV bpf0


Обратитесь к разделу руководства, посвящённому созданию файлов устройств за
подробной информацией по этому вопросу.

9.22. Как смонтировать диск Windows-машины в моей локальной сети, как это
делает smbmount в Linux?

Воспользуйтесь пакетом sharity light из Коллекции Портов.

-------------------------------------------------------------------------------

Chapter 10. PPP

10.1. Не могу заставить работать ppp. Что я делаю не так?
10.2. Ppp просто зависает, когда я его запускаю
10.3. Ppp не звонит в режиме -auto
10.4. Что означает сообщение No route to host?
10.5. Соединение разрывается через 3 минуты
10.6. Соединение разрывается при большой нагрузке
10.7. Соединение разрывается в случайные промежутки времени
10.8. Соединение часто рвётся в случайные промежутки времени
10.9. Удалённая система не отвечает
10.10. Ppp зависает
10.11. Ничего не происходит после сообщения Login OK!
10.12. В протоколе есть сообщения о том, что "magic being the same".
10.13. Согласование LCP продолжается, пока не закроется соединение
10.14. Вскоре после соединения ppp блокируется
10.15. Когда я выполняю команду shell для тестирования соединения, ppp
    блокируется
10.16. Ppp, обслуживающее нуль-модем, никогда не закрывается
10.17. В режиме -auto ppp неожиданно начинает звонить
10.18. Что означают ошибки CCP
10.19. Ppp блокируется во время передачи файла с ошибками ввода-вывода
10.20. Почему ppp не протоколирует скорость соединения?
10.21. Ppp игнорирует символ \ в chat-скрипте
10.22. Ppp получает ошибку защиты, но я не вижу файла ppp.core
10.23. Процесс, вызвавший прозвонку в режиме auto, никогда не получает затребов
    анного соединения
10.24. Почему большинство игр не работает с опцией -nat?
10.25. Кто-нибудь ведёт список полезных номеров портов?
10.26. Что такое ошибки FCS?
10.27. Почему при работе в MacOS и Windows 98 соединения замирают, когда на
    маршрутизаторе используется PPPoE
10.28. Ничего не помогает - я уже отчаялся!

10.1. Не могу заставить работать ppp. Что я делаю не так?

Первым делом прочтите страницы справочника, посвящённые ppp, а также соответств
ующий раздел Руководства. Включите протоколирование командой

    set log Phase Chat Connect Carrier lcp ipcp ccp command


Эта команда может быть набрана в командной строке ppp или она может находиться
в конфигурационном файле /etc/ppp/ppp.conf (начало секции default - лучшее для
неё место. Удостоверьтесь, что файл /etc/syslog.conf содержит строки

    !ppp
    *.*    /var/log/ppp.log


и файл /var/log/ppp.log существует. Теперь вы сможете найти полную информацию о
происходящем в файле протокола. Не беспокойтесь, если не всё вам будет там
понятно. Если вы будете пользоваться чьей-то помощью, протокол вам пригодится.

Если ваша версия ppp не понимает команду set log, вы должны скачать последнюю в
ерсию. Она рассчитана на FreeBSD версий 2.1.5 и выше.

10.2. Ppp просто зависает, когда я его запускаю

Обычно это происходит, когда не может быть определено имя вашего хоста.
Наилучший способ исправить это - удостовериться, что файл /etc/hosts
используется вашим ресолвером. Отредактируйте файл /etc/host.conf, поместив на
первое место строчку hosts. Затем просто добавьте записи о вашей машине в файл
/etc/hosts. Если у вас нет локальной сети, измените строку localhost:

    127.0.0.1        foo.bar.com foo localhost


В противном случае просто добавьте ещё одну запись о вашем хосте. Обратитесь к
соответствующим страницам справочника за подробным описанием.

Если вы выполнили эти указания, вы сможете успешно выполнить команду ping -c1
`hostname`.

10.3. Ppp не звонит в режиме -auto

Во-первых, проверьте, что у вас есть маршрут по умолчанию. Выполнив команду
netstat -rn, вы должны увидеть две строки такого вида:

    Destination        Gateway            Flags     Refs     Use     Netif Expire
    default            10.0.0.2           UGSc        0        0      tun0
    10.0.0.2           10.0.0.1           UH          0        0      tun0


Здесь предполагается, что вы использовали адреса, приведённые в Руководстве,
Справочнике или файле ppp.conf.sample. Если у вас нет маршрута по умолчанию,
это может быть из-за использования старой версии ppp, которая не понимает слова
HISADDR в файле ppp.conf. Если ваша версия ppp из FreeBSD версий ранее чем
2.2.5, замените строку

    add 0 0 HISADDR


на

    add 0 0 10.0.0.2


Другой причиной отсутствия маршрута по умолчанию может быть то, что вы ошибочно
установили маршрут по умолчанию в вашем файле /etc/rc.conf (этот файл назывался
/etc/sysconfig до 2.2.2-RELEASE), и вы пропустили строку

    delete ALL


в ppp.conf. В таком случае обратитесь к соответствующему разделу Руководства.

10.4. Что означает сообщение No route to host?

Эта ошибка появляется из-за отсутствующего раздела

    MYADDR:
      delete ALL
      add 0 0 HISADDR


в файле /etc/ppp/ppp.linkup. Он необходим, если ваш IP адрес выделяется
динамически или адрес маршрутизатора вам не известен. Если вы используете
интерактивный режим, вы можете набрать следующие команды после входа в пакетный
режим (пакетный режим идентифицируется заглавными буквами PPP в приглашении):

    delete ALL
    add 0 0 HISADDR


Обратитесь к разделу PPP и динамические IP адреса Руководства за подробной
информацией.

10.5. Соединение разрывается через 3 минуты

Таймаут для ppp по умолчанию равен 3 минутам. Это может быть изменено строкой

    set timeout NNN


где NNN - время неактивности в секундах, после которого соединение закрывается.
Если NNN равно нулю, соединение никогда не разрывается по таймауту. Эту команду
можно поместить в файл ppp.conf или набрать ее в интерактивном режиме.
Изменение этого параметра также возможно при активном соединении, если
подключиться к сокету ppp сервера с помощью программ telnet или pppctl.
Обратитесь к страницам Справочника, посвящённым ppp.

10.6. Соединение разрывается при большой нагрузке

Если у вас включен Link Quality Reporting (LQR), возможно, что слишком много
пакетов LQR теряется в канале. Ppp делает вывод, что канал плох, и разрывает
соединение. В FreeBSD до версии 2.2.5 LQR было включено по умолчанию. Сейчас
оно по умолчанию выключено. LQR можно выключить строкой

    disable lqr


10.7. Соединение разрывается в случайные промежутки времени

Иногда, на шумной линии или даже на линии с включенным режимом ожидания звонка,
ваш модем может вешать трубку, думая (совершенно напрасно), что потерял
несущую.

В большинстве модемов есть параметр, определяющий чувствительность к временной
потере несущей. Например, в модеме USR Sportster, это определяется значением
регистра S10 в десятых долях секунды. Чтобы сделать связь более устойчивой,
добавьте следующую последовательность посылок-ожиданий в строку набора:

    set dial "...... ATS10=10 OK ......"


Обратитесь к руководству по вашему модему.

10.8. Соединение часто рвётся в случайные промежутки времени

Многие сообщают об обрывах соединений без видимой причины. Первым делом нужно в
ыяснить, с какой стороны соединения рвётся связь.

Если вы используете внешний модем, можете просто попробовать использовать
утилиту ping и посмотреть, мигает ли индикатор TD при передаче данных. Если он
мигает (а индикатор RD нет), проблема с той стороны. Если индикатор TD не
загорается, проблема с вашей стороны. При использовании внутреннего модема вам
необходимо воспользоваться командой set server, указав её в файле ppp.conf.
Когда произойдёт обрыв связи, подключитесь к ppp с помощью pppctl. Если ваше
сетевое подключение неожиданно восстановится (ppp оживает при проявлении актив
ности на диагностическом сокете) или или если вы не сможете соединиться (здесь
мы полагаем, что команда set socket в начальный момент была выполнена успешно),
то проблема имеет локальный характер. Если вы сможете подключиться, но связи вс
ё равно нет, включите вывод отладочной информации командой set log local async
и запустите ping из другого окна или терминала, чтобы проверить связь. В
отладочном выводе будут показаны данные, передаваемые и получаемые из канала св
язи. Если данные посылаются, но не принимаются обратно, проблема с против
оположной стороны.

Выяснив, является эта проблема локальной или удалённой системы, вы имеете

Секция 7 из 10 - Предыдущая - Следующая

Вернуться в раздел "Семейство UNIX" - Обсудить эту статью на Форуме
Главная - Поиск по сайту - О проекте - Форум - Обратная связь

© faqs.org.ru