Wvdial (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
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-git
AUR
может помочь в создании конфигурации
wvdial
(на основе пакета
mobile-broadband-provider-info-git
AUR
).
Обычно
/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-репозиторий