dil: (Default)
dil ([personal profile] dil) wrote2012-01-23 10:01 pm

Очередная задачка для сисадминов

Линуксовый сервер. Очень секьюрный, типа. Под CentOS, хотя это не принципиально. На него только что водрузили squid из стандартного RPM’а, настроили access list’ы, запустили.

Подключаемся из клиентского браузера, идём на www.google.com… Squid думает минуты полторы, после чего выдаёт страницу с сообщением, что не может определить адрес Гугла.

Офигеваем. Заходим на сервер по ssh, запускаем sudo bash, проверяем /etc/resolv.conf — всё нормально, указаны действующие NSы. В nsswitch.conf для hosts тоже всё нормально: files dns.

ping www.google.com — работает. wget — работает. squid — не работает. На всякий случай перезапускаем. Всё равно не работает. Пробуем ходить через него на другие сайты, браузером с клиентской машины, локально телнетом, всё одно: думает минуты полторы, потом говорит, что не может отресолвить имя.

И как вы думаете, что это были за грабли?

Оригинал этой записи в личном блоге.

alexkuklin: (Default)

[personal profile] alexkuklin 2012-01-23 10:27 pm (UTC)(link)
SELinux?
alz421: (Default)

[personal profile] alz421 2012-01-24 12:19 am (UTC)(link)
> запускаем sudo bash, проверяем /etc/resolv.conf

Зачем подсказываешь? :))))

[identity profile] filonovd.myopenid.com 2012-01-24 05:50 am (UTC)(link)
resolv.conf не читается от остальных юзеров? Не интересно. :(

[identity profile] filonovd.myopenid.com 2012-01-24 02:56 pm (UTC)(link)
не, мне было ожиданно (может потому, что наступал на эти или подобные грабли раньше) и потому показалось, что такая "ошибка" не стоит упоминания. Хотя, наверное, в первый раз оно забавляет, да.
alz421: (Default)

[personal profile] alz421 2012-01-25 02:16 am (UTC)(link)
Дык sudo bash ведь явно неспроста перед чтением resolv.conf. Это ж не /etc/shadow какой-нибудь :)

У меня раз интереснее было - некие умельцы сделали chmod 0400 /etc/nsswitch.conf, предположи, в какой ситуации оно создало грабли? :)
starcat13: (Default)

[personal profile] starcat13 2012-01-24 12:30 am (UTC)(link)
а dns_nameservers в squid.conf случайно не выставлены в что-то левое?

[personal profile] sewa 2012-01-24 03:30 am (UTC)(link)
apparmor ?

[identity profile] rblaze.livejournal.com 2012-01-24 06:39 am (UTC)(link)
Ваша проблема в том, что вы слишком много думаете, а надо трясти. tcpdump и strace решают такие непонятки на ура -)

[identity profile] rblaze.livejournal.com 2012-01-24 08:22 am (UTC)(link)
Воот! Тишина - значит запросы не уходят, их никто не отправляет. Кстати, надо было еще loopback проверить, по умолчанию-то туда фигачится, насколько я помню. Ну а дальше strace и grep по всем возвратам с ошибкой.

[identity profile] rblaze.livejournal.com 2012-01-24 08:54 am (UTC)(link)
strace | grep по ошибкам, смотрим ошибки, видим EPERM на resolv.conf. Неудачных вызовов в логе будет не так уж много.

[identity profile] rblaze.livejournal.com 2012-01-24 10:15 am (UTC)(link)
Чего гадать, там выше уже кто-то ответ написал :)