Если /etc/resolv.conf не содержит строчки, подпадающей под '#.*ppp temp entry' -- полученные DNS1/DNS2 не будут туда записаны. Историю бубна вокруг этого шаманства можно посмотреть в #4249, но есть сильное подозрение, что смысл этой строки со временем попросту исказился -- вместо "здесь была звонилка" она почему-то стала значить "сюда можно записать NS'ы". Есть необходимость исправить это безобразие, при этом втыкание в setup начального resolv.conf с этой строкой считается позором, недостойным даже мальчиков. Если больше никто не занимается -- я в понедельник сажусь проверять свои догадки на практике, бо припёрло.
reassign
Created attachment 2333 [details] fix broken temp entry handling Судя по kppp/connect.cpp, kppp-3.5.8 в /etc/resolv.conf может засовывать только маркеры "#kppp temp entry" и "#entry disabled by kppp". Соответственно мы (в лице ip-up) на них должны реагировать так, что кто-то уже туда слазил и нам там делать нечего. gnome-ppp и draknet у нас уже не осталось (в Gentoo/Ubuntu есть gnome-ppp 0.3.23) -- вторым случаем, который буду проверять, является chestnut-dialer. Поправил ip-up. При прозвоне chestnut-dialer пользователем в группе uucp и с симлинком /dev/modem -> ttyS1 (где висит тестовый IDC) всё просто в порядке: маршруты перекидываются, в DNS два первых NS заменяются на полученные; при отключении всё возвращается на место. При прозвоне kppp тем же пользователем (настройка "Disable existing DNS servers" _не_ задействована) -- полученные NS добавляются в конец списка и по существу не используются. Если включить эту галку -- получается ещё веселей: search uafoss nameserver 213.169.64.100 nameserver 213.169.64.101 nameserver 192.168.1.1 nameserver 213.169.64.100 #kppp temp entry nameserver 213.169.64.101 #kppp temp entry Короче говоря, ppp-common совершенно незачем было ломать под сломанный kppp. Что с kppp -- буду оформлять отдельным багом.
Created attachment 2334 [details] do update_chrooted conf even if we don't update resolv.conf ourselves На всякий выделил кусочек про update_chrooted conf в функцию, которая выполняется вне зависимости от наличия "temp entry". Надо бы сделать совсем безусловно, наверное... всё равно не повредит.
(In reply to comment #2) > сломанный kppp. Где он сломан? Если текущий nameserver не закомментирован "#entry disabled by kppp", то его кто-то перезаписал после этого, но до того, как появились "#kppp temp entry"
Но, kppp пропатчу немного. Он ориентируется на "domain" а не "search" при прописывании домена
(In reply to comment #5) > Но, kppp пропатчу немного. Он ориентируется на "domain" а не "search" при > прописывании домена Хотя, нет. Не нужно патчить.
fixed in 0.4.1-alt1, please test: http://paq.osdn.org.ua/~mike/ppp/ppp-common/ 2 zerg: надо-надо, domain давно уже объявлен устаревшей формой записи. Впрочем, по kppp пошли лучше в #13789. А про рейс -- понятно, но см. там же про append (libresolv смотрит максимум три первых nameserver AFAIR).
(In reply to comment #7) > domain давно уже объявлен устаревшей формой записи. Но в man я не вижу search, зато domain вижу. Это точно то же самое?
(In reply to comment #8) > > domain давно уже объявлен устаревшей формой записи. > Но в man я не вижу search, зато domain вижу. Это точно то же самое? Ой, а где у нас resolv.conf(5) водится? http://www.linuxmanpages.com/man5/resolver.5.php http://mail-index.netbsd.org/current-users/1994/12/19/0033.html search -- это надмножество domain; умеет брать несколько значений.
Вот только что прописал usepeerdns, ifup ppp0. В resolv.conf прописались NS-ы. dig ya.ru работает, однако, ping ya.ru нет, похоже, конфиги резолвера не обновились. После ручного update_chrooted all запинговалось. Еще перепроверю.
Ты патч https://bugzilla.altlinux.org/attachment.cgi?id=2334 модифицировал, из-за этого таки возникла проблема. Долго я искал, в чем дело, ppp почему-то exit code 0 показывал для ip-up. А дело вот в чем: /etc/ppp/ip-up /etc/ppp/ip-up: line 123: local: can only be used in a function /etc/ppp/ip-up: line 124: conf: command not found Нужно убрать local, только в функциях разрешено.
Проверь http://paq.osdn.org.ua/~mike/ppp/ppp-common/ppp-common-0.4.2-alt1.noarch.rpm pls -- модем на конторе остался.
(In reply to comment #12) > Проверь > http://paq.osdn.org.ua/~mike/ppp/ppp-common/ppp-common-0.4.2-alt1.noarch.rpm pls > -- модем на конторе остался. Сейчас потестирую. Укртелеком почему-то на этот адрес не пускает :-/ tracepath paq.osdn.org.ua 1: 92.113.89.47 (92.113.89.47) 1.388ms pmtu 1492 1: 195.5.5.203 (195.5.5.203) asymm 2 39.493ms 2: 195.5.5.203 (195.5.5.203) 40.344ms !N Пойду качать из другого места.
Ну и чо, кидать в сизиф/бранч? (не пускает... хм, это wnet -- мож пора разбегаться?)
Без local пока работает. На работу с dhcpd попаду только 8-го, чтобы точно проверить в старых условиях. Но, скорее всего, всё будет нормально.
fixed in 0.4.2-alt1; каким образом будет лучше организовать взаимодействие с kppp по части (не)обновления /etc/resolv.conf -- предлагаю обсудить в #13789.