wvdial, ppp0 и установка маршрута по умолчанию (автоматически)

я настраиваю соединение 3G для мониторинга supervisord используя wvdial на обезглавленной машине (raspberryPi / raspbian), к которой я могу получить доступ только через 3G-соединение, как только он будет жить.
Короче говоря, супервизор держит wvdial работает, с wvdial autoreconnect off (я читал где-то что wvdial не слишком хорошо при подключении автоматически).

подключения остается без каких либо проблем, но маршрут по умолчанию не всегда устанавливается, в этом случае я не могу получить доступ к коробка.
Я не могу вручную установить маршрут с помощью sudo route add default ppp0, очевидно, что не один раз живем. Я мог бы просто запустить выше в сценарии, но поскольку он терпит неудачу, если маршрут уже существует, мне нужна обработка ошибок, и должен быть какой-то чистый способ сделать это.
Любые намеки на отсутствующий параметр конфигурации?

мой config (я думаю, что это соответствующие файлы):

/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
24
задан Laurent S
04.04.2023 4:02 Количество просмотров материала 3263
Распечатать страницу

2 ответа

вы можете написать свой собственный скрипт, который выполняет маршрутизация в /etc/ppp/ip-up.d/

любой скрипт в этом каталоге вызывается из скрипта /etc/ppp/ip-up

эти переменные доступны с ip-up:

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

это сработало для меня смог добавить маршруты, а также установить метрику.

2
отвечен TheBrash 2023-04-05 11:50

Я не нашел хорошего решения для этого, поэтому я выбрал простой cron скрипт, который делает следующее:

#!/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

не большой смотреть, но он делает работу! Он просто проверяет, доступен ли маршрут по умолчанию, и добавляет его через ppp0, если нет.

0
отвечен Laurent S 2023-04-05 14:07

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх