Проблема

Имеем систему с Ubuntu 16.04 LTS на борту. Настраиваем PPPoE-интернет с помощью pppoeconf, всё вводим, ppp0 поднимается и работает. Перезагрузка — интернета нет, интерфейса ppp0 нет. Команда pon dsl-provider поднимает соединение и всё хорошо работает. Смотрим /var/log/syslog, а там:

Jun 14 23:45:14 minori systemd[1]: Starting Restore /etc/resolv.conf if the system crashed before the ppp link was shut down...
Jun 14 23:45:15 minori systemd[1]: Started Restore /etc/resolv.conf if the system crashed before the ppp link was shut down.
Jun 14 23:45:15 minori pppd[1329]: Plugin rp-pppoe.so loaded.
Jun 14 23:45:15 minori ifup[1070]: Plugin rp-pppoe.so loaded.
Jun 14 23:45:16 minori pppd[1343]: pppd 2.4.7 started by root, uid 0
Jun 14 23:45:16 minori pppd[1343]: PPP session is 53956
Jun 14 23:45:16 minori pppd[1343]: Connected to 00:09:b6:**:**:** via interface eth0
Jun 14 23:45:16 minori pppd[1343]: Using interface ppp0
Jun 14 23:45:16 minori pppd[1343]: Connect: ppp0 <--> eth0
Jun 14 23:45:16 minori pppd[1343]: Terminating on signal 15
Jun 14 23:45:16 minori pppd[1343]: Connection terminated.
Jun 14 23:45:16 minori pppd[1343]: Exit.

TL;DR: неправильно настроены интерфейсы в /etc/network/interfaces. systemd, не смогший поднять все интерфейсы, завершает работу и pppd, посылая ему SIGHUP. Копайте в сторону других интерфейсов и внимательно читайте syslog.

Какого фаллоса?

На самом деле, pppd пытается подключиться, но падает. Если быть ещё более точным, его кладут. Да-да, система сама убивает процесс pppd. Включим отладку pppd и посмотрим логи, для этого в /etc/ppp/options раскомментируем строчку debug, после чего перезагружаемся и читаем:

Jun 14 23:52:03 minori systemd[1]: Starting Restore /etc/resolv.conf if the system crashed before the ppp link was shut down...
Jun 14 23:52:03 minori systemd[1]: Started Restore /etc/resolv.conf if the system crashed before the ppp link was shut down.
Jun 14 23:52:13 minori pppd[1413]: Plugin rp-pppoe.so loaded.
Jun 14 23:52:13 minori ifup[1092]: Plugin rp-pppoe.so loaded.
Jun 14 23:52:13 minori pppd[1414]: pppd 2.4.7 started by root, uid 0
Jun 14 23:52:13 minori pppd[1414]: Send PPPOE Discovery V1T1 PADI session 0x0 length 12
Jun 14 23:52:13 minori pppd[1414]:  dst ff:ff:ff:ff:ff:ff  src 00:15:17:**:**:**
Jun 14 23:52:13 minori pppd[1414]:  [service-name] [host-uniq  86 05 00 00]
Jun 14 23:52:13 minori pppd[1414]: Recv PPPOE Discovery V1T1 PADO session 0x0 length 49
Jun 14 23:52:13 minori pppd[1414]:  dst 00:15:17:**:**:**  src 00:09:b6:**:**:**
Jun 14 23:52:13 minori pppd[1414]:  [service-name] [host-uniq  86 05 00 00] [AC-name esr10k8-2-fly] [AC-cookie  fe 4a 2c 34 7e 2e 3b e6 df 8c fc b3 d2 21 cd b4]
Jun 14 23:52:13 minori pppd[1414]: Send PPPOE Discovery V1T1 PADR session 0x0 length 32
Jun 14 23:52:13 minori pppd[1414]:  dst 00:09:b6:**:**:**  src 00:15:17:**:**:**
Jun 14 23:52:13 minori pppd[1414]:  [service-name] [host-uniq  86 05 00 00] [AC-cookie  fe 4a 2c 34 7e 2e 3b e6 df 8c fc b3 d2 21 cd b4]
Jun 14 23:52:13 minori pppd[1414]: Recv PPPOE Discovery V1T1 PADS session 0xd40c length 32
Jun 14 23:52:13 minori pppd[1414]:  dst 00:15:17:**:**:**  src 00:09:b6:**:**:**
Jun 14 23:52:13 minori pppd[1414]:  [service-name] [host-uniq  86 05 00 00] [AC-cookie  fe 4a 2c 34 7e 2e 3b e6 df 8c fc b3 d2 21 cd b4]
Jun 14 23:52:13 minori pppd[1414]: PADS: Service-Name: ''
Jun 14 23:52:13 minori pppd[1414]: PPP session is 54284
Jun 14 23:52:13 minori pppd[1414]: Connected to 00:09:b6:**:**:** via interface eth0
Jun 14 23:52:13 minori pppd[1414]: using channel 1
Jun 14 23:52:13 minori pppd[1414]: Using interface ppp0
Jun 14 23:52:13 minori pppd[1414]: Connect: ppp0 <--> eth0
Jun 14 23:52:13 minori pppd[1414]: sent [LCP ConfReq id=0x1 &amp;amp;lt;mru 1492&amp;amp;gt; &amp;amp;lt;magic 0x6c89698d&amp;amp;gt;]
Jun 14 23:52:13 minori pppd[1414]: rcvd [LCP ConfReq id=0x1 &amp;amp;lt;mru 1492&amp;amp;gt; &amp;amp;lt;auth chap MD5&amp;amp;gt; &amp;amp;lt;magic 0xf84a99cc&amp;amp;gt;]
Jun 14 23:52:13 minori pppd[1414]: sent [LCP ConfAck id=0x1 &amp;amp;lt;mru 1492&amp;amp;gt; &amp;amp;lt;auth chap MD5&amp;amp;gt; &amp;amp;lt;magic 0xf84a99cc&amp;amp;gt;]
Jun 14 23:52:13 minori pppd[1414]: rcvd [LCP ConfAck id=0x1 &amp;amp;lt;mru 1492&amp;amp;gt; &amp;amp;lt;magic 0x6c89698d&amp;amp;gt;]
Jun 14 23:52:13 minori pppd[1414]: sent [LCP EchoReq id=0x0 magic=0x6c89698d]
Jun 14 23:52:13 minori pppd[1414]: rcvd [LCP EchoRep id=0x0 magic=0xf84a99cc]
Jun 14 23:52:13 minori pppd[1414]: rcvd [CHAP Challenge id=0x1 &amp;amp;lt;***&amp;amp;gt;, name = "***"]
Jun 14 23:52:13 minori pppd[1414]: sent [CHAP Response id=0x1 &amp;amp;lt;***&amp;amp;gt;, name = "ya3bal"]
Jun 14 23:52:13 minori pppd[1414]: Terminating on signal 15
Jun 14 23:52:13 minori pppd[1414]: sent [LCP TermReq id=0x2 "User request"]
Jun 14 23:52:13 minori pppd[1414]: rcvd [LCP TermAck id=0x2]
Jun 14 23:52:13 minori pppd[1414]: Connection terminated.
Jun 14 23:52:13 minori pppd[1414]: Exit.

Ага. User-Request, значит. Ещё раз смотрим syslog, теперь уже не только для pppd:

Jun 14 23:29:32 minori ifup[1073]: Cannot find device "br0"
Jun 14 23:29:32 minori ifup[1073]: Failed to bring up br0.
Jun 14 23:29:33 minori pppd[1395]: Plugin rp-pppoe.so loaded.
Jun 14 23:29:33 minori ifup[1073]: Plugin rp-pppoe.so loaded.
Jun 14 23:29:33 minori pppd[1396]: pppd 2.4.7 started by root, uid 0
Jun 14 23:29:33 minori kernel: [   45.057109] NET: Registered protocol family 24
Jun 14 23:29:33 minori systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Jun 14 23:29:33 minori pppd[1396]: PPP session is 53228
Jun 14 23:29:33 minori pppd[1396]: Connected to 00:09:b6:**:**:** via interface eth0
Jun 14 23:29:33 minori pppd[1396]: Using interface ppp0
Jun 14 23:29:33 minori pppd[1396]: Connect: ppp0 <--> eth0
Jun 14 23:29:33 minori pppd[1396]: Terminating on signal 15
Jun 14 23:29:33 minori pppd[1396]: Connection terminated.
Jun 14 23:29:33 minori pppd[1396]: Exit.
Jun 14 23:29:33 minori systemd[1]: Failed to start Raise network interfaces.
Jun 14 23:29:33 minori systemd[1]: networking.service: Unit entered failed state.
Jun 14 23:29:33 minori systemd[1]: networking.service: Failed with result 'exit-code'.

А вот и наш виновник торжества. Спасибо, Леннарт Поттерингович. systemd, а точнее, networking.service, пытаясь поднять все интерфейсы, столкнулся, беднушка, с проблемой, что br0 плохо настроен, и падает, возвращая неверный код. Да так падает, что тащит за собой и ни в чём не повинного pppd, который спокойно себе начал соединение и почти поднял свой ppp0. Но не тут-то было, огреби SIGHUP! В интернет захотел, ишь какой.

Что делать?

Настраивать интерфейсы правильно. В моём случае, br0 вообще не нужно было поднимать автоматически, он нужен был для hostapd и поднимался им самим. Удаление строчки «auto br0» из /etc/network/interfaces решило проблему.