Назад | Перейти на главную страницу

Yum fails with [Errno 4] IOError: <urlopen error="" (111,="" 'connection="" refused')=""> но TCP traceroute работает</urlopen>

Когда я пытаюсь подключиться к репозиториям yum с помощью yum info или yum install, я получаю сообщение об ошибке: [Errno 4] IOError: <urlopen error (111, 'Connection refused')> Сначала я подумал, что виноват наш брандмауэр, но traceroute -T -p 80 dl.fedoraproject.org завершается успешно, однако wget http://dl.fedoraproject.org/pub/epel/5/i386/repodata/repomd.xml сбой с отказом в соединении. Я здесь немного запутался. Что могло объяснить такое поведение? Это коробка RHEL 5, которую я не настраивал и к которой редко обращался. DNS разрешает нормально, нет статических маршрутов в таблице маршрутизации, нет прокси на сервере, который я вижу.

traceroute -T не делает то, что вы думаете. Он использует TCP SYN-пакет для проверки наличия устройства. Успех в этом означает, что он получил какой-то отклик. Вероятно, он получил ответ: в соединении отказано.

Вот прекрасное руководство:

   This  method  uses well-known "half-open technique", which prevents applications on
   the destination host from seeing our probes at all.  Normally, a tcp syn  is  sent.
   For  non-listened ports we receive tcp reset, and all is done. For active listening
   ports we receive tcp syn+ack, but answer by tcp  reset  (instead  of  expected  tcp
   ack),  this way the remote tcp session is dropped even without the application ever
   taking notice.