성공하지 못한 채 ipv6 주소를 컬링하려고 합니다.
내가 말하려고 하면:
나는 시간 초과를 기다리고network unreachable
강제로 하면 ipv4
모든 것이 괜찮습니다.
그런 다음 ipv6을 다음과 같이 강제하면 :
나는 얻다:
컬: (7) 2800:3f0:4001:806::1005에 연결할 수 없습니다: 네트워크에 연결할 수 없습니다.
ipv6
주소를 파싱하는 것과 관련이 있는 것 같아요.
일부 Linux 배포판의 최신 버전을 사용하는 다른 컴퓨터에서 이러한 요청이 제대로 작동하는 것을 보았기 때문에 내가 사용 중인 것에 뭔가 작업을 하고 있는 것 같은데 Ubuntu 10.10
이 문제는 해결되지 않았습니다.
option: 을 사용하지 않고 정상적으로 컬링할 수 있기를 원합니다 . 주소를 올바르게 컬링하려면 -4
무엇을 수정해야 합니까 ?ipv6
답변1
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 경로가 필요하지만 이 기능을 제공하는 장소가 너무 적습니다.
답변2
ifconfig
로 시작하는 줄의 출력을 확인하세요 inet6 addr
. 귀하의 컴퓨터에 실제로 작동하지 않는 IPv6 주소가 할당되었을 수 있으며, Linux는 이제 작동 중인 IPv4 주소 대신 작동하지 않는 주소를 사용하려고 합니다.
답변3
다른 네트워크에 연결해 보았는데 작동했습니다.
그동안 OS를 MINT v15로 업데이트했는데 문제가 지속됩니다.
사실, 한 번만 하면 curl
모든 것이 괜찮을 것이기 때문에 상황은 더 이상해집니다. 두 번째로 하면 똑같은 오류가 발생하기 때문입니다.
결국 ISP에 전화를 걸었고 그들은 모뎀을 공장 설정으로 설정하고 소프트웨어를 업데이트했습니다.
이제 모든 것이 잘 돌아가고 있는 것 같습니다.
답변4
나와 같은 사람이 Google에서 이 문제를 발견했다면 문제를 해결하기 위해 IPv6에 대한 방화벽 규칙을 조정해야 했습니다.
기본적으로 저는 들어오는 체인의 모든 것을 차단했습니다. 연결을 허용하는 규칙을 추가한 후 핑 요청과 localhost IPv6 연결에서 오는 모든 것이 작동하기 시작했습니다!