wvdial, ppp0 dan pengaturan rute default (otomatis)

2

Saya mengatur koneksi 3G untuk dipantau dengan supervisordmenggunakan wvdialmesin tanpa kepala (raspberryPi / raspbian) yang hanya dapat saya akses melalui koneksi 3G begitu ia hidup. Singkatnya, pengawas terus wvdial berjalan, dengan wvdial autoreconnect off (saya membaca di suatu tempat yang wvdial tidak terlalu pandai menghubungkan kembali secara otomatis).

Koneksi tetap tanpa masalah, tetapi rute default tidak selalu ditetapkan, dalam hal ini saya tidak dapat mengakses kotak. Saya tidak dapat mengatur rute secara manual sudo route add default ppp0, jelas itu tidak akan berfungsi begitu hidup. Saya hanya bisa menjalankan di atas dalam sebuah skrip, tetapi karena gagal jika rute sudah ada saya perlu penanganan kesalahan, dan harus ada cara yang bersih untuk melakukannya. Adakah petunjuk tentang opsi konfigurasi yang hilang?

Konfigurasi saya (saya pikir ini adalah file yang relevan):

/etc/wvdial.conf:

[Dialer Defaults]
Modem Type = Analog Modem
ISDN = 0
Phone = *99#
Stupid mode=1
Auto Reconnect = off

[Dialer myprovider]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Baud = 115200
Modem = /dev/gsmmodem
Username = xxxx
Password = xxxx

/etc/ppp/peers/wvdial:

noauth
name wvdial
defaultroute
replacedefaultroute

/etc/network/interfaces:

auto eth0
iface eth0 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    gateway 192.168.2.1
    dns-nameservers 8.8.8.8 8.8.4.4
Laurent S
sumber

Jawaban:

2

Anda dapat menulis skrip Anda sendiri yang melakukan perutean /etc/ppp/ip-up.d/

skrip apa pun dalam direktori itu dipanggil dari skrip /etc/ppp/ip-up

variabel-variabel ini dapat diakses dari ip-up:

# This script is called with the following arguments:
#    Arg  Name                          Example
#    $1   Interface name                ppp0
#    $2   The tty                       ttyS1
#    $3   The link speed                38400
#    $4   Local IP number               12.34.56.78
#    $5   Peer  IP number               12.34.56.99
#    $6   Optional ``ipparam'' value    foo
# These variables are for the use of the scripts run by run-parts
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM

ini berhasil bagi saya bisa menambahkan rute dan juga mengatur metrik.

TheBrash
sumber
0

Saya tidak dapat menemukan solusi yang baik untuk ini, jadi saya mencari skrip cron sederhana yang melakukan hal berikut:

#!/bin/bash
route_found=$(/sbin/route -n | /bin/grep -c ^0.0.0.0)
ppp_on=$(/sbin/ifconfig | /bin/grep -c ppp0)
if [ $route_found -eq 0 ] && [ $ppp_on -eq 1 ]
  then /sbin/route add default ppp0
fi

Tidak tampak hebat, tetapi berhasil! Ini hanya memeriksa apakah rute default tersedia, dan menambahkan satu melalui ppp0 jika tidak.

Laurent S
sumber