nixp.ru v3.0

25 мая 2017,
четверг,
17:30:13 MSK

DevOps с компанией «Флант»
el написал 11 января 2005 года в 23:29 (982 просмотра) Ведет себя неопределенно; открыл 5 тем в форуме, оставил 32 комментария на сайте.

Slackware 10.0

Такая интересная штука…

машина находится в сети за брандмауэром, у всех статические внутренние адреса (допустим мой адрес 10.2.1.10)…на сервере прова в днс есть соответствия этим адресам именам машин: например

mycomp.lala.domenprova

domenprova — это чисто внутреннее имя, снаружи в интернете такого домена нет.

ну вобщем делаю host 10.2.1.10  получаем

10.1.2.10.in-addr.arpa domain name pointer mycomp.lala.domenprova

наоборот получаю свой ip, короче все нормально…

содержание файлов

———————————-

cat /etc/ HOSTNAME

mycomp.lala.domenprova

————————————————

cat /etc/resolv.conf

domain lala.domenprova

nameserver 10.0.0.1

——————————————————-

cat /etc/host.conf

order host, bind

multi on

——————————————————--

в случае cat /etc/hosts — все работает ок…

127.0.0.1               localhost

10.2.1.10               mycomp

192.168.7.1          mycomp

192.168.7.2           comp

————————————————————-

однако в документации везде написано, что должно быть cat /etc/hosts

127.0.0.1               localhost

10.2.1.10             mycomp.lala.domenprova

192.168.7.1           mycomp.lala.domenprova

192.168.7.2           comp

——————————————————————————————————————————--

так в этом случае, если глючит сеть у прова, то при попытке запустить любое приложение в kde происходит задержка секунд на 20…..

( 192.168.7.1- вторая сетевуха, иногда поднимаю nat для второго домашнего компа…)…

Что может быть причиной этой задержки, или может где-то конфиги не так сделаны…

Genie

сделай так:

127.0.0.1               localhost localhost.localdomain
10.2.1.10             mycomp mycomp.lala.domenprova
192.168.7.1           mycomp mycomp.lala.domenprova
192.168.7.2           comp

только вот я не очень помню, как оно будет реагировать на две средние строчки

если так прописано в DNS-сервере — это да, там работает и механизм описан…

а тут…

в общем, пробуй..

el

Так все работает нормально, без localdomain…хотя это тоже не мешает…Но вопроса это не снимает, откуда тормоза при запуске приложений кде…

Genie

bash: а какое у нашего компа имя? эээй, hostname!!

hostname: ась? чевось? аа. ща.

ковыряется в /etc/hostname (или /proc/sys/kernel/hostname. или где ещё)

hostname: ну, вот, держи…

bash: ага, спасиб.. ещё б ip-шник к нему. nsswitch!! nsswitch!!!!

……..timeout…….

bash: кто-нить знает, что у нас с nsswitch? libnsswitch!!! libresolv!!

nsswitch: ну чего разорался? я и в первый раз слышало. я сервер спрашивало. который в /etc/resolv.conf записан.

bash: и что? что он сказал??

nsswitch: а ничего. не отвечает, зараза.

bash: так что же делать? я знать хочу!!

nsswitch: погодь. тут у меня на всякий пожарный запись есть. в /etc/hosts. надо? вот, держи.

bash: уфф. можно дальше..

el

Так то оно может и так, но ведь в /etc/host.conf по буржуйски написано order hosts,bind.. Так чего эта зараза лезет в bind прежде, чем в hosts, ей для того этот файл и написали, чтобы не напрягать dns-сервер лишними запросами…

Genie

думать:

1) что говорит hostname

2) какие имена прописаны в /etc/hosts

3) есть ли среди них нужное

4) куда обращаться при ненахождении в первом указанном источнике

5) 20-30 секунд — стандартный тайм аут dns-запросов.

6) на каком шаге во втором случае (который указывается как правильный) происходит нахождение пары имя/адрес

отвечать подробно, с размышлениями.

ps:

а) при сравнении имён краткая запись и полная не считаются одинаковыми до стадии пробования добавления имени домена, взятого из domain и search из файла /etc/resolv.conf.

б) из краткого добвалением имени домена можно сделать полное и сравнить. из полного вычесть имя домена и получить краткое имя — нельзя.

el

По твоей логике получается так

а) Случай, если в /etc/hosts прописано соответствие ip_adres mycomp.lala.domenprova

1) hostname говорит mycomp (хотя в /etc/HOSTNAME ) прописано mycomp.lala.domenprova..Надо полагать, что hostname откидывает все, кроме имени хоста…(тогда непонятно, зачем в /etc/HOSTNAME) нужно писать полное имя…

2-4) естественно, такой записи в /etc/hosts нет, поэтому идет запрос к dns серверу

5) ждем ответа от dns-сервера ( здесь и задержка 30 секунд)

6)вот только непонятно, откуда же все-таки берется ip-адрес? если dns его не дал, а в /etc/hosts его нет, как все таки в соответствие имени хоста ставится ip-адрес

б) случай, когда в /etc/hosts прописано соответствие ip_adress mycomp.lala.domenprova mycomp

1) hostname говорит mycomp…

2) в /etc/hosts находится соответствие ip_adress mycomp

Тогда непонятно, зачем вообще нужны алиасы типа mycomp.lala.domenprova -? где они могут использоваться?

Genie

ну, да, hostname имя домена отбрасывает. только если указано полное имя (которое отдаётся по `hostname -f`, этот адрес и берётся.

поэтому логика несколько наоборот. :)

6)вот только непонятно, откуда же все-таки берется ip-адрес? если dns его не дал, а в /etc/hosts его нет, как все таки в соответствие имени хоста ставится ip-адрес

скорее всего, проверяются интерфейсы.

у первого попавшегося поднятого и берётся.