November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Monday, January 23rd, 2012 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 — не работает. На всякий случай перезапускаем. Всё равно не работает. Пробуем ходить через него на другие сайты, браузером с клиентской машины, локально телнетом, всё одно: думает минуты полторы, потом говорит, что не может отресолвить имя.

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

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

Tuesday, January 24th, 2012 06:39 am (UTC)
Ваша проблема в том, что вы слишком много думаете, а надо трясти. tcpdump и strace решают такие непонятки на ура -)
Tuesday, January 24th, 2012 08:22 am (UTC)
Воот! Тишина - значит запросы не уходят, их никто не отправляет. Кстати, надо было еще loopback проверить, по умолчанию-то туда фигачится, насколько я помню. Ну а дальше strace и grep по всем возвратам с ошибкой.
Tuesday, January 24th, 2012 08:54 am (UTC)
strace | grep по ошибкам, смотрим ошибки, видим EPERM на resolv.conf. Неудачных вызовов в логе будет не так уж много.
Tuesday, January 24th, 2012 10:15 am (UTC)
Чего гадать, там выше уже кто-то ответ написал :)