Я пытаюсь настроить pppd для подключения к сети 3G (в данном случае Sprint), а затем оставаться на связи, автоматически восстанавливая соединение, если удаленное соединение прерывается. Я включил постоянную опцию. Мой файл конфигурации выглядит следующим образом:
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/cellular"
debug
/dev/cell 921600
defaultroute
noipdefault
user " "
persist
maxfail 0
lcp-echo-failure 10
lcp-echo-interval 60
holdoff 5
Однако, когда одноранговый узел отключает соединение, pppd часто ждет долгое время (существенно больше, чем моя задержка), чтобы повторно подключить модем - если он вообще когда-либо переподключается!
Пример журнала, показывающий это:
May 23 05:17:24 00270e0a8888 pppd[2408]: rcvd [LCP TermReq id=0x26]
May 23 05:17:24 00270e0a8888 pppd[2408]: LCP terminated by peer
May 23 05:17:24 00270e0a8888 pppd[2408]: Connect time 60.1 minutes.
May 23 05:17:24 00270e0a8888 pppd[2408]: Sent 0 bytes, received 0 bytes.
May 23 05:17:24 00270e0a8888 pppd[2408]: Script /etc/ppp/ip-down started (pid 2456)
May 23 05:17:24 00270e0a8888 pppd[2408]: sent [LCP TermAck id=0x26]
May 23 05:17:24 00270e0a8888 pppd[2408]: Script /etc/ppp/ip-down finished (pid 2456), status = 0x0
May 23 05:17:24 00270e0a8888 pppd[2408]: Hangup (SIGHUP)
May 23 05:17:24 00270e0a8888 pppd[2408]: Modem hangup
May 23 05:17:24 00270e0a8888 pppd[2408]: Connection terminated.
May 23 05:17:24 00270e0a8888 pppd[2408]: Terminating on signal 15
May 23 05:17:24 00270e0a8888 pppd[2408]: Exit.
May 23 06:08:07 00270e0a8888 pppd[2500]: pppd 2.4.5 started by root, uid 0
May 23 06:08:10 00270e0a8888 pppd[2500]: Script /usr/sbin/chat -v -f /etc/chatscripts/cellular finished (pid 2530), status = 0x0
May 23 06:08:10 00270e0a8888 pppd[2500]: Serial connection established.
May 23 06:08:10 00270e0a8888 pppd[2500]: using channel 11
Разъединение по требованию партнера происходит в 5:17, но переподключение не было до 6:08. У меня был друг, который следил за сервером, поэтому я не уверен, что это не было переподключением вручную. В любом случае, либо подключение заняло почти час, либо подключение никогда не происходило.
Не следует ли при persist
+ holdoff 5
вызвать автоматическое повторное подключение через 5 секунд после разрыва соединения?