Created attachment 3788 [details] логи установки При установке бета-версии десктопа KDE не определяется домен машины. В настройке сети указан hostname "desktop", поиск в доменах "test.spb.altlinux.ru", на этапе выбора домена указан "custom" "test.spb.altlinux.ru". Тем не менее, после установки hostname=desktop.localdomain, что препятствует сетевой авторизации. Прилагаю логи установки.
Подтверждаю. У меня воспроизводится.
может быть эта ошибка alterator-auth и barabashka@?
выполнить пару команд system-auth status ldapsearch -x результат сюда
# system-auth status krb5 dc=test,dc=spb,dc=altlinux,dc=ru ldap://ldap.test.spb.altlinux.ru # ldapsearch -x -bash: ldapsearch: command not found После установки openldap-clients # ldapsearch -x ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
(In reply to comment #4) > # system-auth status > krb5 dc=test,dc=spb,dc=altlinux,dc=ru ldap://ldap.test.spb.altlinux.ru > > # ldapsearch -x > -bash: ldapsearch: command not found > > После установки openldap-clients > > # ldapsearch -x > ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) nslookup ldap.test.spb.altlinux.ru
(In reply to comment #5) > (In reply to comment #4) > > # system-auth status > > krb5 dc=test,dc=spb,dc=altlinux,dc=ru ldap://ldap.test.spb.altlinux.ru > > > > # ldapsearch -x > > -bash: ldapsearch: command not found > > > > После установки openldap-clients > > > > # ldapsearch -x > > ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) > nslookup ldap.test.spb.altlinux.ru если да, то почему там лежит ldap-сервер
Не знаю, сегодня сервер выключен. Возможно, электричество. Скажи лучше, почему в /etc/sysconfig/network HOSTNAME=desktop.localdomain хотя я недвусмысленно указал, какой домен хочу иметь.
(In reply to comment #7) > Не знаю, сегодня сервер выключен. Возможно, электричество. > > Скажи лучше, почему в /etc/sysconfig/network > HOSTNAME=desktop.localdomain > хотя я недвусмысленно указал, какой домен хочу иметь. я туда ничего не заношу. Это не мои модули. Так же я туда не заглядываю.
(В ответ на комментарий №7) > Не знаю, сегодня сервер выключен. Возможно, электричество. > > Скажи лучше, почему в /etc/sysconfig/network > HOSTNAME=desktop.localdomain > хотя я недвусмысленно указал, какой домен хочу иметь. В настройке сети настраивается не домен, а имя компьютера, о чём сказано в интерфейса "Имя компьютера:". Домен настраивается на отдельном шаге.
(В ответ на комментарий №9) > (В ответ на комментарий №7) > > Не знаю, сегодня сервер выключен. Возможно, электричество. > > > > Скажи лучше, почему в /etc/sysconfig/network > > HOSTNAME=desktop.localdomain > > хотя я недвусмысленно указал, какой домен хочу иметь. > В настройке сети настраивается не домен, а имя компьютера, о чём сказано в > интерфейса "Имя компьютера:". > Домен настраивается на отдельном шаге. То бишь если важно чтобы лдаповый домен отражался в /etc/sysconfig, то надо улучшить alterator-auth.
(In reply to comment #10) [skip] > > > хотя я недвусмысленно указал, какой домен хочу иметь. > > В настройке сети настраивается не домен, а имя компьютера, о чём сказано в > > интерфейса "Имя компьютера:". > > Домен настраивается на отдельном шаге. > То бишь если важно чтобы лдаповый домен отражался в /etc/sysconfig, то надо > улучшить alterator-auth. Мужики, ну чего за бред то. Причем тут auth и настройки сети. Пусть каждый занимается своим делом.
(In reply to comment #9) > > Скажи лучше, почему в /etc/sysconfig/network > > HOSTNAME=desktop.localdomain > > хотя я недвусмысленно указал, какой домен хочу иметь. > В настройке сети настраивается не домен, а имя компьютера, о чём сказано в > интерфейса "Имя компьютера:". > Домен настраивается на отдельном шаге. Очень жаль. Домен - часть настройки сети. Либо его нужно уметь указать в инсталляторе, либо получить по DHCP.
(В ответ на комментарий №12) > (In reply to comment #9) > > > Скажи лучше, почему в /etc/sysconfig/network > > > HOSTNAME=desktop.localdomain > > > хотя я недвусмысленно указал, какой домен хочу иметь. > > В настройке сети настраивается не домен, а имя компьютера, о чём сказано в > > интерфейса "Имя компьютера:". > > Домен настраивается на отдельном шаге. > > Очень жаль. Домен - часть настройки сети. Либо его нужно уметь указать в > инсталляторе, либо получить по DHCP. А кому из приложений в desktop важно, чтобы домен в его hostname совпадал с доменом реальным? Я таких не примомню. Моё мнение: поскольку этот домен нигде не публикуется, то какая разница чему он равен. Даже в avahi публикуется только имя компьютера.
(В ответ на комментарий №13) > (В ответ на комментарий №12) > > (In reply to comment #9) > > > > Скажи лучше, почему в /etc/sysconfig/network > > > > HOSTNAME=desktop.localdomain > > > > хотя я недвусмысленно указал, какой домен хочу иметь. > > > В настройке сети настраивается не домен, а имя компьютера, о чём сказано в > > > интерфейса "Имя компьютера:". > > > Домен настраивается на отдельном шаге. > > > > Очень жаль. Домен - часть настройки сети. Либо его нужно уметь указать в > > инсталляторе, либо получить по DHCP. > А кому из приложений в desktop важно, чтобы домен в его hostname совпадал с > доменом реальным? Я таких не примомню. > > Моё мнение: поскольку этот домен нигде не публикуется, то какая разница чему он > равен. Даже в avahi публикуется только имя компьютера. Кроме того, desktop может постоянно мигрировать между доменами. Не менять же по каждому случаю hostname.
(В ответ на комментарий №6) > > > # system-auth status > > > krb5 dc=test,dc=spb,dc=altlinux,dc=ru ldap://ldap.test.spb.altlinux.ru > > > > > > # ldapsearch -x > > > -bash: ldapsearch: command not found > > > > > > После установки openldap-clients > > > > > > # ldapsearch -x > > > ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) > > nslookup ldap.test.spb.altlinux.ru > > если да, то почему там лежит ldap-сервер Что касается ldap, то в офис-сервере после установки bind слушает 127.0.0.1, поэтому клиенты не могут найти ldap-сервер.
(In reply to comment #15) > (В ответ на комментарий №6) > > > > > # system-auth status > > > > krb5 dc=test,dc=spb,dc=altlinux,dc=ru ldap://ldap.test.spb.altlinux.ru > > > > > > > > # ldapsearch -x > > > > -bash: ldapsearch: command not found > > > > > > > > После установки openldap-clients > > > > > > > > # ldapsearch -x > > > > ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) > > > nslookup ldap.test.spb.altlinux.ru > > > > если да, то почему там лежит ldap-сервер > > Что касается ldap, то в офис-сервере после установки bind слушает 127.0.0.1, > поэтому клиенты не могут найти ldap-сервер. Это возможно, если hook openldap не отрабатывает при установке сервера или если, кто-то руками исправляет /etc/sysconfig/ldap. Hook лежит в пакете alterator-openldap enable_server() { local SLAPD_CONF_DIR="/etc/openldap" local LDAP_SYSCONFIG="/etc/sysconfig/ldap" local LDAP_CONF="$SLAPD_CONF_DIR/ldap.conf" local url="ldap:///" shell_config_set "$LDAP_SYSCONFIG" SLAPDURLLIST "\"'$url'\"" shell_config_set "$LDAP_CONF" URI "$url" ' ' ' ' } enable_schema enable_server
(In reply to comment #16) Еще возможен вариант с хитроумным firewall'ом. ) > > (В ответ на комментарий №6) > > > > > > > # system-auth status > > > > > krb5 dc=test,dc=spb,dc=altlinux,dc=ru ldap://ldap.test.spb.altlinux.ru > > > > > > > > > > # ldapsearch -x > > > > > -bash: ldapsearch: command not found > > > > > > > > > > После установки openldap-clients > > > > > > > > > > # ldapsearch -x > > > > > ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) > > > > nslookup ldap.test.spb.altlinux.ru > > > > > > если да, то почему там лежит ldap-сервер > > > > Что касается ldap, то в офис-сервере после установки bind слушает 127.0.0.1, > > поэтому клиенты не могут найти ldap-сервер. > > Это возможно, если hook openldap не отрабатывает при установке сервера или > если, кто-то руками исправляет /etc/sysconfig/ldap. > > Hook лежит в пакете alterator-openldap > > enable_server() > { > local SLAPD_CONF_DIR="/etc/openldap" > local LDAP_SYSCONFIG="/etc/sysconfig/ldap" > local LDAP_CONF="$SLAPD_CONF_DIR/ldap.conf" > local url="ldap:///" > > shell_config_set "$LDAP_SYSCONFIG" SLAPDURLLIST "\"'$url'\"" > shell_config_set "$LDAP_CONF" URI "$url" ' ' ' ' > } > > > enable_schema > enable_server
Товарищи, не время сейчас пускаться в филосовские споры. Потому что проблема серьёзная и заключается в том, что ни одна инсталляция ПП, выполненная в питерском офисе не была работоспособной из коробки, тогда как в московском офисе никто не замечает этой проблемы. И может так случиться, что проблема просочиться в релиз и мы выпустим брак (который будет работать только в московском офисе). Думаю, что никому этого не хочется. Второе. К чему говорить, что hostname ничего для десктопа, в сущьности не значит и поэтому может быть любым, если: 1. пользователь _имеет право_ указать любое полное имя машины при инсталляции и ожидает получить _именно его_ в качестве значения hostname -f после установки; 2. установка правильного значения домена вместо .localdomain устраняет проблему поиска адреса ldap.<домен>, после чего аутентификация удалённых пользователей начинает работать так, как это задумано. Но главное сейчас выяснить в чём же состоит различие между тем, каким образом устанавливаем ПП мы, и каким образом это происходит в московском офисе.
Мы ставим на две реальные машины, в "серверной" две сетевушки. А в Москве?
А я ставил и с одной сетевухой на сервере и на "нереальные" virtualbox'ы. Результат абсолютно такой же (воспроизвожу по памяти): # host ldap.ark Unknown host: ldap.ark # hostname -f desktop50.localdomain # hostname desktop50.ark # host ldap.ark Host ldap.ark 192.168.1.101 ...
Итак, если убрать все "имеет право", то в сухом остатке остаётся, следующее: pam_ldap не авторизует и он не авторизует из-за каких-то проблем резолвинга. Я правильно понял? Давайте попробуем разобраться с резолвингом. Я так и не понял резолвится с клиенсткой машины имя ldap.домен или нет?
(В ответ на комментарий №20) > А я ставил и с одной сетевухой на сервере и на "нереальные" virtualbox'ы. > Результат абсолютно такой же (воспроизвожу по памяти): > > # host ldap.ark > Unknown host: ldap.ark > > # hostname -f > desktop50.localdomain > > # hostname desktop50.ark > > # host ldap.ark > Host ldap.ark 192.168.1.101 Установка hostname по уму не должна была так влиять на резолвинг. Следовательно давайте разбираться с локальными настройками машины. Если мне не изменяет память в desktop резолвинг идёт через локальный бинд. Что написано в /etc/resolv.conf? Я подключу к дискуссии Мишу Ефремова.
> Что написано в /etc/resolv.conf? А также интересен вывод resolvconf -l
(В ответ на комментарий №21) Я имел в виду, что пользователь, указывая выбирая полное имя машины во время инсталляции, ожидает его увидеть в hostname -f. То, что это не так, лично мне кажется отдельной, самостоятельной проблемой. Естественно, второстепенной. Да, адрес узла ldap.домен не определяется, если hostname оканчивается на .localdomain (что имеет место быть по умолчанию). Незнаю насколько это естественно, что hostname влияет на алгоритм разрешения имён, но интуитивно я считал, что поиск узла будет вестись сперва в том домене, в который входит данная машина, а потом уже в других доменах. Поскольку исправление hostname помогает избавиться от данной проблемы, кажется что всё именно так и есть, т.е. hostname влияет на процесс разрешения имён.
(In reply to comment #24) > Я имел в виду, что пользователь, указывая выбирая полное имя машины во время > инсталляции, ожидает его увидеть в hostname -f. То, что это не так, лично мне > кажется отдельной, самостоятельной проблемой. Естественно, второстепенной. Это, пожалуй, да. Но надо учитывать существование отдельного шага по установке домена. Я этот код не смотрел, так что Стасу виднее. > Да, адрес узла ldap.домен не определяется, если hostname оканчивается на > .localdomain (что имеет место быть по умолчанию). Незнаю насколько это > естественно, что hostname влияет на алгоритм разрешения имён, но интуитивно я > считал, что поиск узла будет вестись сперва в том домене, в который входит > данная машина, а потом уже в других доменах. Поскольку исправление hostname > помогает избавиться от данной проблемы, кажется что всё именно так и есть, т.е. > hostname влияет на процесс разрешения имён. Поиск ведется ровно того имени, которое указано, если речь о fqdn. Или в доменах, указанных в строке search resolv.conf'а, если имя не полное. Как может влиять собственный hostname на резолвинг я не понимаю. Поэтому и хочется для начала увидеть /etc/resolv.conf и вывод resolvconf -l
(В ответ на комментарий №25) # cat /etc/resolv.conf # Generated by resolvconf # Do not edit manually, use # /etc/net/ifaces/<interface>/resolv.conf instead. search test.spb.altlinux.ru nameserver 127.0.0.1 nameserver 192.168.4.1 nameserver 192.168.1.101 # resolvconf -l # resolv.conf from lo nameserver 127.0.0.1 # resolv.conf from NetworkManager # Generated by NetworkManager domain test.spb.altlinux.ru search test.spb.altlinux.ru nameserver 192.168.4.1 nameserver 192.168.1.101
(В ответ на комментарий №3) > system-auth status > ldapsearch -x # system-auth status krb5 dc=test,dc=spb,dc=altlinux,dc=ru ldap://ldap.test.spb.altlinux.ru # ldapsearch -x -h 192.168.4.1 # extended LDIF # # LDAPv3 # base <> (default) with scope subtree # filter: (objectclass=*) # requesting: ALL # # search result search: 2 result: 32 No such object # numResponses: 1
(В ответ на комментарий №3) > ldapsearch -x # ldapsearch -x -h 192.168.4.1 -b dc=test,dc=spb,dc=altlinux,dc=ru # extended LDIF # # LDAPv3 # base <dc=test,dc=spb,dc=altlinux,dc=ru> with scope subtree # filter: (objectclass=*) # requesting: ALL # # test.spb.altlinux.ru dn: dc=test,dc=spb,dc=altlinux,dc=ru objectClass: organization objectClass: dcObject dc: test o: ru ... # search result search: 2 result: 0 Success # numResponses: 70 # numEntries: 69
В /etc/openldap/ldap.conf указано #BASE dc=example,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666
Очень похоже что загрузка шла не из dhcp-сервера предоставляемого офис-сервером. хост ldap прописан в dns-е офис-сервера. Если машина грузится по dhcp с офис-сервера, она автоматом получает в качестве dns - офис-сервер. (В ответ на комментарий №26) > (В ответ на комментарий №25) > > # cat /etc/resolv.conf > # Generated by resolvconf > # Do not edit manually, use > # /etc/net/ifaces/<interface>/resolv.conf instead. > search test.spb.altlinux.ru > nameserver 127.0.0.1 > nameserver 192.168.4.1 > nameserver 192.168.1.101 > > # resolvconf -l > # resolv.conf from lo > nameserver 127.0.0.1 > > # resolv.conf from NetworkManager > # Generated by NetworkManager > domain test.spb.altlinux.ru > search test.spb.altlinux.ru > nameserver 192.168.4.1 > nameserver 192.168.1.101 (В ответ на комментарий №26) > (В ответ на комментарий №25) > > # cat /etc/resolv.conf > # Generated by resolvconf > # Do not edit manually, use > # /etc/net/ifaces/<interface>/resolv.conf instead. > search test.spb.altlinux.ru > nameserver 127.0.0.1 > nameserver 192.168.4.1 > nameserver 192.168.1.101 > > # resolvconf -l > # resolv.conf from lo > nameserver 127.0.0.1 > > # resolv.conf from NetworkManager > # Generated by NetworkManager > domain test.spb.altlinux.ru > search test.spb.altlinux.ru > nameserver 192.168.4.1 > nameserver 192.168.1.101
(В ответ на комментарий №30) > Очень похоже что загрузка шла не из dhcp-сервера предоставляемого > офис-сервером. хост ldap прописан в dns-е офис-сервера. Если машина грузится по > dhcp с офис-сервера, она автоматом получает в качестве dns - офис-сервер. В этом видимо и состоит разница в тестировании между офисами ;) Мы тестируем в выделенной подсети, а вы пытаетесь в общей и с неправильно указанным dns-сервером на клиенте ;)
(В ответ на комментарий №30) > Очень похоже что загрузка шла не из dhcp-сервера предоставляемого > офис-сервером. Ошибочное предположение. Кстати, dhcpd на офис-сервере не стартовал из-за отсутствия /etc/dhcp/dhcpd.conf, пришлось писать вручную. > хост ldap прописан в dns-е офис-сервера. Если машина грузится по > dhcp с офис-сервера, она автоматом получает в качестве dns - офис-сервер. Так и есть - это 192.168.4.1 и 192.168.1.101.
(В ответ на комментарий №31) > > Очень похоже что загрузка шла не из dhcp-сервера предоставляемого > > офис-сервером. хост ldap прописан в dns-е офис-сервера. Если машина грузится по > > dhcp с офис-сервера, она автоматом получает в качестве dns - офис-сервер. > В этом видимо и состоит разница в тестировании между офисами ;) > Мы тестируем в выделенной подсети, а вы пытаетесь в общей и с неправильно > указанным dns-сервером на клиенте ;) Неверно. Выделенная подсеть - 192.168.4.0/24, образована соединением двух машин патч-кордом. Локальная сеть для выхода офис-сервера в интернет - 192.168.1.0/24, офис-сервер подключен к ней через вторую сетевушку.
Про то, что DNS не отвечает на запросы, я уже писал в комментарии №15 .
(В ответ на комментарий №32) > (В ответ на комментарий №30) > > Очень похоже что загрузка шла не из dhcp-сервера предоставляемого > > офис-сервером. > > Ошибочное предположение. Кстати, dhcpd на офис-сервере не стартовал из-за > отсутствия /etc/dhcp/dhcpd.conf, пришлось писать вручную. Зачем?! ;) Надо было зайти в соответствующий модуль и всё настроить. Тогда глядишь и dns-бы правильный прилетал, а не два сразу. Теперь по поводу bind-a. Я так подозреваю что это следствие того что не создались обратные зоны на интерфейсы. Так что рассказывайте подробно как вы там проходите firsttime ;) Можно попробовать позапускать ddns-reset-hook, он запускается в firsttime.
(В ответ на комментарий №34) > Про то, что DNS не отвечает на запросы, я уже писал в комментарии №15 . Кстати если в результате получается DNS не рабочий, то возможно резолвинг идёт через zeroconf и в связи с этим такие чудеса? Что там в /etc/nsswitch.conf?
(В ответ на комментарий №31) > (В ответ на комментарий №30) > > Очень похоже что загрузка шла не из dhcp-сервера предоставляемого > > офис-сервером. хост ldap прописан в dns-е офис-сервера. Если машина грузится по > > dhcp с офис-сервера, она автоматом получает в качестве dns - офис-сервер. > В этом видимо и состоит разница в тестировании между офисами ;) > Мы тестируем в выделенной подсети, а вы пытаетесь в общей и с неправильно > указанным dns-сервером на клиенте ;) Естественно без DHCP. Оне ведь не обязателен, правда? По крайней мере при выборе параметров сети в инсталляторе можно указать "статический адрес". А раз можно, значит можно. :) Именно так я и делал, выбирая для сервера 192.168.1.101, а для рабочей станции 192.168.1.102. А вот DNS на рабочей станции был выбран вручную, но правильно: 192.168.1.101, т.е. офис-сервер, собственной персоной.
(В ответ на комментарий №35) >> Кстати, dhcpd на офис-сервере не стартовал из-за > > отсутствия /etc/dhcp/dhcpd.conf, пришлось писать вручную. > Зачем?! ;) > Надо было зайти в соответствующий модуль и всё настроить. Тогда глядишь и > dns-бы правильный прилетал, а не два сразу. Разве офис-сервер не должен раздавать адреса по DHCP по умолчанию? Так или иначе, настраивать dhcpd я умею и намёки на неправильный DNS отвергаю. Второй сервер на десктопе (192.168.1.101) был указан при установке (инсталлятор это позволяет): # cat /etc/net/ifaces/eth0/resolv.conf nameserver 192.168.1.101 search test.spb.altlinux.ru
Сегодня переставил office-server 0908 и gnome-desktop 0910, там этой проблемы нет. И DNS отвечает, и sldapd запущен.