LINUX.ORG.RU
решено ФорумAdmin

Ntp-client, Pppoe и Gentoo на OpenRC

 ntp-client, ,


0

1

Здравствуйте! Как правильно сделать взаимодействие системы с подключением к провайдеру по Pppoe, чтоб после установления сессии выполнялся ntp-client? Кроме костыля не нашёл решения.

Выслушаю грамотные решения.

★★★★★

А старое доброе /etc/ppp/ip-up не работает ?

anc ★★★★★
()

В /etc/init.d/ntp-client пропиши:

depend() {
     ...
     need net.ppp0
     ...
}

или в /etc/conf.d/net пропиши:

rc_net_ppp0_provide=«net»

Возможно одной этой строки тебе хватит, в /etc/init.d/ntp-client уже есть «after net».

anonymous
()

вариантов навскидку 3:

1) через /etc/ppp/ip-up.d

Универсально, работать будет везде в том числе не на Генте

2) postup() в /etc/conf.d/net

Gentoo-специфично, но для нетривиальной конфигурации самое оно

3) забыть про ntp-client и зависимости от интерфейса и вкорячить сразу ntpd, а уж он пусть сам думает

----

Вариант с depend конечно тоже имеет право на жизнь, но лично мне он не нравится(возможно потому что в моих конфигурациях к требованиям ppp еще густо замешан ospf и там уже всё становится еще менее просто).

Pinkbyte ★★★★★
()
Ответ на: комментарий от anonymous

Если strict dependencies в rc.conf выключены - не взлетит. А их лучше выключать, если имеются интерфейсы, подымаемые init-системой по требованию. Имел я как-то не включившийся sshd при поднявшихся 5 интерфейсах из 6 - удовольствия мало

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

У меня явно прописано детектива «provide»

В /etc/conf.d/net

В простой конфигурации, для всех интерфейсов кроме ppp0 прописал:

rc_net_*_provide=«!net»

И только

rc_net_ppp0_provide=«net»

Сам ppp подымается на связке, которая подымается после физических интерфейсов.

Остальные сервисы ждут net и в моем случае явно указано что это именно ppp0

И все работает.

Попробуй у себя 5-ти интерфейсам указать !net и только на том интерфейсе где должен слушать sshd указать …_provide=«net» sshd будет подымается всегда когда есть его интерфейс.

В сложных конфигах, когда sshd сидит на административном интерфейсе, а остальные сетевые сервисы на других интерфейсах одной net не обойдется необходимо в настройках сервиса /etc/conf.d/sshd или /etc/conf.d/ntp-client явно указать нужный интерфейс:

rc_need=«net.ppp0»

И так для всех сервисов которые сидят на разных сетевых интерфейсах.

И все зависимости корректно обрабатываются даже в сложных конфигурациях: физические интерфейсы -> связка -> VLAN -> сетевой сервис.

В Gentoo не рекомендуют править скрипты в /etc/init.d они по умолчанию перезаписываются при обновлении. Можно разрабов не слушать, но помнить, что CONFIG_PROTECT инит-скрипты не защищает.

К стати в openrc скриптах tor, sshd, … прописано материться если есть проблемы и нет явно указанного rc_need.

anonymous
()
Ответ на: комментарий от anonymous

Очень благодарен за развёрнутый ответ.

burato ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.