Без да претендирам за оптималност, ние вкъщи сме правели (и все още компютърът в Бургас работи така) един скрипт, който проверява с нещо от сорта на ping -q -c 10 google.com дали има нет (много повърхностна проверка, но на нас ни върши работа). Ако няма нет, вика първо (за всеки случай) poff -a, а след това пробва с pon dsl-provider. Скриптчето върви като cronjob през 15-тина минутки и, откакто го има, не съм получавала оплаквания от потребителите на въпросната машина.
Полезни команди за теб са:
pppoeconf - текстов конфигуратор, който те пита разни неща, за да настроите връзката (ако, обаче, изрично трябва да се зададе и service name, не е достатъчен, трябва и да се редактира един файл)
pon dsl-provider - за свързване
plog - викаш я след първата, може да се наложи няколко пъти, трябва да изпише какви DNS-и си получил от доставчика (и други неща, де, ама това най-много се различава)
poff -a - спира всички dsl връзки
pppoe-discovery - засича какви pppoe сигнали вървят по кабела. Много често върши работа за установяване на проблем в доставчика.
Отделно за всички мрежови неща полезни команди са:
ifconfig - за да видиш какви мрежови интерфейси има, кои са вдигнати, за да ги настройваш
ping - за отчитане на свързаност до дадено място (обикновено алгоритъмът за установяване къде се е загубила връзката е ping към gateway, ping навън по IP адрес, ping навън по domain)
route - за да видиш/конфигурираш накъде ти отиват пакетите (в частност, за да видиш/конфигурираш gateway)
Също, DNS-ите могат да се проверяват/задават във файла /etc/resolv.conf.
(Другите съфорумци да допълват

)
Обаче, тук има едно голямо "но" - ако ползваш network manager (едно аплетче с мониторчета на панела на графичната среда) - може да става мазано. Нека и някой друг да се включи, ако е такъв случая (аз все още си карам по старите пътеки

).