Автоматический удовлетворитель для pppoe-start
Столкнулся с необычной проблемой: после небольшой и вполне безобидной доработки домашнего шлюза перестал запускаться pppoe-клиент. В ручном режиме запускается: входишь через ssh, вводишь sudo /usr/sbin/pppoe-start и вуаля. А вот команда, /usr/sbin/pppoe-start, прописаная в /etc/rc.d/rc.local не включает внешнюю сеть, хоть убейся. Я уж и через 5-секундную паузу пытался запустить, и полный путь к конфигам указывал, и цикл с многократным повторением команды делал — без толку. До корней проблемы так и не докопался, но решение нашлось. Примерно такое, какое предпринял барон Мюнгхаузен, вытащивший себя самого и свою лошадь за волосы из болота.
Для начала автоматизировал запуск по ssh с десктопной машины, создав на ней скрипт /usr/bin/inet для запуска pppoe на шлюзе:
Поскольку вход осуществляется по ключу, пароль не требуется, т.е. можно повесить на какую-нибудь кнопку в меню. И всё-таки, нужно было добиться автоматического старта. А почему бы не организовать такой вход на шлюз с него самого и не запихнуть это в автозагрузку?
Ключи готовы. Входим первый раз просто так, чтобы дать ssh возможность сформировать файл ~/.ssh/known_hosts:
Теперь записываем нужную строку в автозагрузку:
Да… Вот уж изврат так изврат. Ан заработало!
Буду признателен, если кто-нибудь подскажет причину, по которой pppoe-start отказывается работать в автозагрузке в непосредственном виде. Гуглю эта проблема знакома, но вразумительных решений нет.
Для начала автоматизировал запуск по ssh с десктопной машины, создав на ней скрипт /usr/bin/inet для запуска pppoe на шлюзе:
ssh -p 8888 -i /home/yababay/.ssh/gate_rsa [email protected] sudo /usr/sbin/pppoe-start
Поскольку вход осуществляется по ключу, пароль не требуется, т.е. можно повесить на какую-нибудь кнопку в меню. И всё-таки, нужно было добиться автоматического старта. А почему бы не организовать такой вход на шлюз с него самого и не запихнуть это в автозагрузку?
cd ~/.ssh
# При запросе парольной фразы ничего не вводить!
ssh-keygen -t rsa -out self
cat self.pub >> authorized_keys
Ключи готовы. Входим первый раз просто так, чтобы дать ssh возможность сформировать файл ~/.ssh/known_hosts:
ssh -p 8888 -i ~/.ssh/self [email protected]
Теперь записываем нужную строку в автозагрузку:
echo "su yababay -c 'ssh -p 8888 -i ~/.ssh/self [email protected] sudo /usr/sbin/pppoe-start'" >> /etc/rc.d/rc.local
Да… Вот уж изврат так изврат. Ан заработало!
Буду признателен, если кто-нибудь подскажет причину, по которой pppoe-start отказывается работать в автозагрузке в непосредственном виде. Гуглю эта проблема знакома, но вразумительных решений нет.
Комментарии (5)
RSS свернуть / развернутьMarkony
durman
yababay
FREExLOADER
yababay
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.