WvDial

Пакет WvDial служит для установления доступа в сеть через беспроводные модемы используя протокол PPP.

alumnit.ca

Установка

apt install wvdial

Настройка

Основной файл /etc/wvdial.conf

Автозагрузка

etc/rc.local
#!/bin/sh -e
 
/usr/bin/wvdial huawei-e220
 
exit 0

Вариант запуска скрипта обёртки:

etc/rc.local
#!/bin/sh -e
 
(/usr/local/sbin/openvpn-server_wrapper.sh > dev/null 2>&1)&
 
exit 0

Huawei E220

Пример для Huawei E220, этом примере APN = RVPN.VOLGA

/etc/wvdial.conf
[Dialer huawei-e220]
    Phone = *99#
    Username = internet
    Password = internet
    Stupid Mode = 1
    Dial Command = ATDT
    Modem = /dev/ttyUSB0
    Baud = 460800
    Init2 = ATZ
    Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Init4 = AT+CGDCONT = 1,"IP","RVPN.VOLGA"
    ISDN = 0
    Modem Type = Analog Modem
    Auto DNS = on

Правила udev:

/etc/udev/rules.d/10-Modems.rules
# huawei-e220
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1003", KERNEL=="ttyUSB*", RUN+="/usr/local/sbin/huawei-e220_start.sh"

Скрипт:

/usr/local/sbin/huawei-e220_start.sh
#!/bin/sh -e
 
/usr/bin/wvdial huawei-e220
 
ip route del default
ip route add default dev ppp0
 
exit 0

openvpn-server_wrapper

Скрипт выполняет постоянную проверку состояния PPP и сервера OpenVPN и запускает их в случае необходимости.

/sbin/openvpn-server_wrapper.sh
#!/bin/bash
 
sleep 30
while true
do
    # Test PPP
    cat /proc/net/dev | grep ppp0
    if [ $? -eq 0 ]
	then
	    echo "PPP Ok!"
	else
	    (/usr/bin/wvdial huawei-e220)&
	    sleep 10
	    ip route del default
	    ip route add default dev ppp0
    fi
    sleep 5
    # Test OpenVPN
    ss -u -a | grep openvpn
    if [ $? -eq 0 ]
	then
	    echo "OpenVPN Ok!"
	else
	    systemctl restart openvpn@server
    fi
    sleep 30
done

Ссылки

wvdial/wvdial.txt · Последние изменения: 2019-02-23 10:21 — GreyWolf
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki