Jump to content
From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Wvdial. Дата последней синхронизации: 24 января 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

WvDial — программа дозвона, работающая по сетевому протоколу PPP: она устанавливает соединение с модемом и запускает ppp для подключения к Интернету.

## Установка

Установите пакет wvdial.

## Настройка

При запуске wvdial сперва загружает свою конфигурацию из `/etc/wvdial.conf` и `~/.wvdialrc`. Если `/etc/wvdial.conf` отсутствует, то для его создания проще всего использовать встроенную утилиту конфигурации wvdialconf:

    # wvdialconf /etc/wvdial.conf

Она помогает в создании файла конфигурации, необходимого wvdial. wvdialconf обнаруживает ваш модем и автоматически заполняет Modem, Baud, записывает правильную строку инициализации (см. опции Init) и создаёт или обновляет файл конфигурации wvdial (`/etc/wvdial.conf`) на основе этой информации.

Можно безопасно запускать wvdialconf, если файл конфигурации уже существует. В таком случае меняются только опции Modem, Baud, Init и Init2 в разделе `[Dialer Defaults]` и только в случае успешного автоматического обнаружения.

Примечание: wvdialconf не заполняет автоматически данные для входа. Отредактируйте `/etc/wvdial.conf` и укажите номер телефона, имя пользователя и пароль от вашего интернет-аккаунта, чтобы wvdial смог корректно работать.

После заполнения информации для входа, wvdial должен заработать. Можете переходить к следующему разделу. Для провайдеров USB модемов, которые требуют определённых строк Init и комбинаций логин/пароль, mkwvconf-gitAUR может помочь в создании конфигурации wvdial (на основе пакета mobile-broadband-provider-info-gitAUR).

Обычно `/etc/wvdial.conf` выглядит примерно так после настройки пользователем:

    [Dialer Defaults]
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Modem Type = Analog Modem
    ISDN = 0
    Modem = /dev/ttyUSB2
    Baud = 9600

    [Dialer thenet]
    Phone = *99***1#
    Username = thenetuser
    Password = thenetpw
    ; Username = 9180****** (Если ваш провайдер не использует имя пользователя)
    ; Password = 9180****** (Если ваш провайдер не использует пароль)
    Stupid Mode = 1
    Baud = 460800
    Init3 = AT+CGDCONT=1,"IP","apn.thenet.net"

    [Dialer mypin]
    Init4 = AT+CPIN=1234

## Использование

Существует несколько различных способов дать пользователям возможность использовать wvdial для создания ppp-соединения. Этот документ описывает три различных способа, отличающиеся друг от друга сложностью использования и степенями безопасности.

wvdial следует запускать с правами root следующей командой:

    # wvdial опция

Оставьте опцию пустой, если не добавляли разделов или если `/etc/wvdial.conf` был создан автоматически.

    # wvdial

### suid

Важно: Это, несомненно, самый простой способ настройки, но ещё — сильная угроза безопасности системы, поскольку любой пользователь может запустить wvdial с правами root. По возможности, используйте одно из других решений.

Так как обычные пользователи не могут по умолчанию использовать wvdial для дозвона, то необходимо поменять права:

    # chmod u+s /usr/bin/wvdial

Вы должны увидеть следующие разрешения:

    # ls -l /usr/bin/wvdial

    -rwsr-xr-x 1 root root 114368 2005-12-07 19:21 /usr/bin/wvdial

### Группа

Другой, немного более безопасный способ — создать группу dialout (вы можете, впрочем, назвать ее как вам угодно) и дать членам этой группы права на запуск wvdial с правами root.

Во-первых, необходимо создать группу и добавить туда пользователей:

    # groupadd dialout
    # gpasswd -a пользователь dialout

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

Затем установить группу и дать разрешение на использование wvdial:

    # chgrp dialout /usr/bin/wvdial
    # chmod u+s,o= /usr/bin/wvdial

Файл должен иметь следующие разрешения:

    ls -l /usr/bin/wvdial

    -rwsr-x— 1 root dialout 114368 2005-12-07 19:21 /usr/bin/wvdial

### sudo

sudo предлагает, вероятно, самый безопасный способ позволить пользователям устанавливать dial-up соединения с помощью wvdial. sudo может использоваться для того, чтобы дать права для как пользователю, так и определённой группе пользователей. Другая выгода от использования sudo состоит в том, что достаточно однажды установить права, и при установке нового пакета wvdial не будет необходимости заново давать разрешения, в отличие от двух предыдущих способов.

Используйте visudo для редактирования файла /etc/sudoers:

    # visudo

Чтобы предоставить разрешение конкретному пользователю использовать wvdial с правами суперпользователя, необходимо добавить следующую строку (заменив имя пользователя на нужное):

    пользователь localhost = /usr/bin/wvdial

Чтобы предоставить права всем членам группы (в данном случае `dialout`):

    %dialout localhost = /usr/bin/wvdial

Если `ip addr` показывает запись pppd, значит сессия готова.

## Советы и хитрости

Следующие советы применимы к USB модемам.

### Низкая скорость соединения

См. USB 3G Modem#Low connection speed (англ.).

### Автоматическое переподключение

Если wvdial произвольно сбрасывает соединение, можете использовать следующий сценарий:

    #! /bin/bash
    (
       while : ; do
           wvdial
           sleep 10
       done
    ) &

### Несколько устройств

Зачастую присутствует несколько USB устройств(например `/dev/ttyUSB0`, `/dev/ttyUSB1`, `/dev/ttyUSB2`). Если сомневаетесь, какое использовать, попробуйте каждое из них по очереди или используйте `/dev/gsmmodem` (ссылка, создаваемая usb_modeswitch), которая должна указывать на нужное. Когда файлы конфигурации настроены, интернет-соединение устанавливается запуском:

    $ wvdial опции

Если необходимо, можно поместить дополнительные команды настройки в простой сценарий вроде этого:

    usb_modeswitch
    sleep 2
    modprobe usbserial vendor=0xVVVV product=0xMMMM maxSize=4096
    sleep 2
    wvdial thenet

где VVVV это шестнадцатеричный ID производителя из lsusb, MMMM это шестнадцатеричный ID устройства в режиме модема, а "thenet" это имя раздела в `wvdial.conf`, который собираетесь использовать. Опция maxSize не всегда необходима. Она упрощает работу при выключенном SIM PIN, но если вы её используете, то запустите `wvdial mypin` перед `wvdial thenet`.

Последняя команда wvdial должна запустить pppd и полученный IP адрес должен быть выведен в терминале. На этом этапе интернет-соединение должно стать активным, что легко проверить, открыв браузер или использовав ping на внешний IP адрес.

## Смотрите также

- GitHub-репозиторий

Category:

- Networking (Русский)