Wvdial (Русский)

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 адрес.

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