Завихрение с ipv6, не работающим по умолчанию

Можно использовать dd для дублирования данных через устройства. Используя conv опцию можно изменить данные во время передачи

dd if=/dev/sda1 of=myiso.iso
5
16.09.2013, 01:54
6 ответов

Я попытался соединиться с другими сетями, и это работало.

Тем временем я обновил свою ОС к MINT v15, и проблема все еще осталась.

На самом деле это даже получило более странную причину, я мог curl однажды, все было бы хорошо, чем я сделаю это во второй раз, когда и это представило бы ту же старую ошибку.

Наконец я назвал свой ISP, и они устанавливают мой модем на заводские настройки и обновили программное обеспечение.

Теперь все, кажется, хорошо работает.

1
27.01.2020, 20:36

Это не проблема с разрешением адресов IPv6. То определение имен хорошо работает, потому что завихрение сообщает, что не может достигнуть сети 2800:3f0:4001:806:: 1005; это показывает, что перевод имени действительно успешно выполнялся. Это отличается, чем ошибка в поиске имени:

 $ curl -6 http://does.not.exist.foo.
 curl: (6) Couldn't resolve host 'does.not.exist.foo.'

Для достижения адреса IPv6 у Вас должен быть маршрут к адресу назначения, и очень немного соединений имеют любую возможность соединения IPv6 вообще. На машине я пишу это, у меня есть почти маршруты № v6 вообще:

$ route -A inet6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
fe80::/64                      ::                         U    256 0     0 wlan0
ff00::/8                       ::                         U    256 0     0 wlan0

который говорит Вас, которых я знаю, как достигнуть моей локальной сети и ничего больше. Контрастируйте это с моими маршрутами IPv4

$ route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
…

который показывает, что у меня есть один очень критический бит маршрутной информации. Я знаю, как добраться до где угодно, что у меня нет явного маршрута к путем вручения пакета моему маршрутизатору по умолчанию в 192.168.1.1.

Ваше определение имен работает просто великолепно. Вам действительно нужен маршрут IPv6 к сети назначения, и слишком мало мест предоставляет ту услугу все же.

6
27.01.2020, 20:36
  • 1
    Довольно корректный, но также и см. мой ответ в к тому же вопросу, отправленному по unix.stackexchange.com/a/220149/43835. Восходящее завихрение было улучшено для возвращений к IPv4, если IPv6 не доступен, но это не находится в Ubuntu 14.04. –  mc0e 04.08.2015, 18:11

Проверьте Ваш ifconfig вывод для строк, которые начинаются inet6 addr. Возможно, что Вашему компьютеру присвоили адрес IPv6, который на самом деле не работает, и что Linux теперь пытается использовать этот нефункциональный адрес вместо рабочего адреса IPv4.

1
27.01.2020, 20:36
  • 1
    у меня нет a inet6 addr поле, когда я работаю ifconfig. Хотя, когда я перехожу к сетевым инструментам, я вижу ipv4 и ipv6. Поле Ipv6 говорит Адрес IP: :: и Объем: unknown –  Zippie 15.09.2013, 14:57
  • 2
    @Zippie - действительно ли ipv6 ядро является загруженной модификацией? –  slm♦ 15.09.2013, 21:26

Если кто-то найдет это в Google, как я, для решения проблемы мне просто нужно было настроить правила брандмауэра для IPv6.

По умолчанию я заблокировал все во входящей цепочке - после того, как я добавил правила, разрешающие установленные соединения, запросы ping и все остальное из соединений localhost IPv6 начали работать!

0
27.01.2020, 20:36

Это проблема с curl, которая была исправлена ​​разработчиками curl, но многие дистрибутивы ОС содержат старые версии. В основном, если curl может найти адрес ipv6 для домена в вашем URL-адресе, он попытается его получить, и если это не удастся, curl не удастся, не прибегая к попыткам адреса IPv4. Вы можете поспорить, ошибка это или нет, но сломанные установки IPv6 по крайней мере так же распространены, как и рабочие.

Вот мой отчет об ошибке в Ubuntu. (Приветствуются голоса за).

https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1457192

Было бы хорошо узнать, в каких других дистрибутивах / версиях ОС есть эта проблема.

Возможные исправления:

  • правильная работа IPv6 в вашей системе.
  • удаление IPv6 из вашей системы.
  • установка более свежей версии curl (я не знаю никаких альтернативных репозиториев для этого, поэтому он будет включать сборку исходного кода)
  • с использованием DNS-сервера, который настроен так, чтобы не обслуживать информацию IPv6.
0
27.01.2020, 20:36

Для меня это странное поведение:

$ curl -6 localhost
curl: (6) Couldn't resolve host 'localhost'
$ host localhost
localhost has address 127.0.0.1
localhost has IPv6 address ::1
$  route -A inet6
/proc/net/ipv6_route: No such file or directory
INET6 (IPv6) not configured in this system.

Получается, что DNS-сервер отвечает ::1 для «localhost», но сама система не «делает» ipv6.

$ host -v localhost
Trying "localhost"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2162
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;localhost.         IN  A

;; ANSWER SECTION:
localhost.      604800  IN  A   127.0.0.1

;; AUTHORITY SECTION:
localhost.      604800  IN  NS  localhost.

;; ADDITIONAL SECTION:
localhost.      604800  IN  AAAA    ::1
Received 85 bytes from <my_dns_ip>#53 in 0 ms

Итак, я думаю, что команда hostпохожа на digи выполняет ручные DNS-запросы, которые могут или не могут использоваться/в конечном итоге использоваться системой, в зависимости от того, что настроено/включено. Иди разберись.

0
27.01.2020, 20:36

Теги

Похожие вопросы