Имя ipv6 DNS не определено из сети ipv4

У меня странная проблема, которая, похоже, связана с именами ipv6 vs ipv4 dns.

У меня есть парсер в реальном времени, который работает на моем сервере, работающем в сети ipv6. После очистки этот парсер возвращает некоторые URL-адреса изображений на веб-странице через вызовы ajax, а затем изображения отображаются в браузере на моем локальном компьютере по ссылкам, возвращаемым парсером. Но эти URL-адреса не разрешены в моей локальной сети. Моя локальная машина не работает в сети ipv6. Также очищаемая веб-страница размещает изображения через CDN, поэтому парсер будет возвращать результаты / ссылки на изображения в зависимости от того, на какой машине / месте он запущен.

Например:

сбрасывает сервер http://www.flipkart.com/it-s-not-bike-0224060872/p/itmczyx5zzktubhy?pid=9780224060875 и возвращает следующую ссылку:

http://img-ipv6.flixcart.com/image/book/8/7/5/it-s-not-about-the-bike-my-journey-back-to-life-275x275-imadarucmnec3hds.jpeg

Когда я получаю доступ к этому изображению со своего локального компьютера, который находится в другом регионе, чем мой сервер (парсер), он не может разрешить ссылку выше. Используя curl на моем локальном компьютере, он сообщает:

curl: (7) Не удалось подключиться к 2001: df0: 23e: 9002 :: 17: Сеть недоступна

делая то же самое на сервере, загружает изображение идеально.

Я не уверен, почему ссылка на изображение должна работать в одной сети, а не в другой?


person Divick    schedule 27.06.2012    source источник


Ответы (2)


Очевидно, что img-ipv6.flixcart.com должен разрешаться только в адрес IPv6, а не в адрес v4: у него просто есть адрес IPv6 2001:df0:23e:9002::17, к которому вы явно не можете получить доступ с вашего ПК.

При подключении IPv4 изображение имеет адрес http://img7.flixcart.com/image/book/8/7/5/it-s-not-about-the-bike-my-journey.-back-to-life-275x275-imadarucmnec3hds.jpeg.

person glglgl    schedule 27.06.2012
comment
Как я мог узнать и преобразовать адрес ipv6 в адрес ipv4? Как машина может узнать / проанализировать, ведет ли ссылка на адрес ipv4 или адрес ipv6? - person Divick; 27.06.2012
comment
Также объясните, почему img-ipv6.flixcart.com должен разрешать IPv6-адрес? - person Divick; 27.06.2012
comment
1. Преобразование невозможно. Сервер обнаружил, что вы запросили документ через IPv6, и предоставил соответствующую ссылку. Ссылку можно отличить по DNS, разрешающему имя хоста, в данном случае img-ipv6.flixcart.com соотв. img7.flixcart.com. - person glglgl; 27.06.2012
comment
2. Предполагается, что это так, потому что он содержит строку ipv6 (которая обычно является хорошим индикатором для этого), и это действительно так, потому что если вы разрешите имя с помощью host img-ipv6.flixcart.com, вы получите img-ipv6.flixcart.com has IPv6 address 2001:df0:23e:9002::17, а с host img7.flixcart.com вы получите img7.flixcart.com is an alias for img-new1.flixcart.com. и img-new1.flixcart.com has address 103.4.253.22 . - person glglgl; 27.06.2012
comment
Также есть многопротокольные хосты. Если вы сделаете host www.google.com, вы можете получить что-то вроде www.google.com is an alias for www.l.google.com. и несколько строк вроде www.l.google.com has address 173.194.35.146 и, наконец, www.l.google.com has IPv6 address 2a00:1450:4016:800::1011. - person glglgl; 27.06.2012
comment
Есть ли способ запросить документ через IPv4 по умолчанию, даже если на машине, на которой работает парсер, включен Ipv6? Поскольку мой скребок написан на Python, я думаю, это связано с вызовом метода urlopen urllib. В противном случае есть способ отключить IPv6 на сервере и как этого добиться? Другой связанный с этим вопрос: есть ли какие-либо недостатки с точки зрения скорости при использовании ipv4 вместо ipv6? - person Divick; 27.06.2012
comment
позвольте нам продолжить обсуждение в чате - person Divick; 27.06.2012
comment
Может быть, задайте это как отдельный вопрос, так как он отошел от исходной темы. Если хотите, можете оставить здесь указатель (ссылку) на новый вопрос. Но так как я плохо разбираюсь в скребке, я не смогу вам очень хорошо помочь. - person glglgl; 27.06.2012
comment
Соответствующий вопрос размещен здесь: stackoverflow.com/questions/11231244/ - person Divick; 27.06.2012

Имя сервера img-ipv6.flixcart.com имеет только адрес IPv6. У него нет IPv4-адреса.

Вы сможете получить доступ к этому имени хоста только на серверах с возможностью подключения по протоколу IPv6.

person Bill Lynch    schedule 27.06.2012