IPv6을 활성화하려고하면 "호스트에 대한 경로 없음"오류가 발생합니다


8

공급자가 제공 한 고정 IPv4 및 IPv6 주소를 사용하여 KVM 서버에서 이중 스택 네트워크를 구성하고 있습니다.

우분투를 설치할 때 필요한 모든 주소, 네임 서버 및 게이트웨이를 입력했습니다. 그 후 /etc/network/interfaces파일을 확인하고 IPv6 스탠자가 없음을 ifconfig확인했습니다 ( 실행이 이것을 확인했습니다). 그래서 관련 줄을 추가했습니다. 이것이 최종 파일입니다 :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 151.236.18.86
        netmask 255.255.255.0
        network 151.236.18.0
        broadcast 151.236.18.255
        gateway 151.236.18.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 91.227.204.227 91.227.205.227
        dns-search mydomainname.com
iface eth0 inet6 static
        pre-up modprobe ipv6
        address 2001:b60:1000:151:236:18:86:0
        netmask 112
        gateway 2001:b60:1000::1
        dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844
        dns-search mydomainname.com

그런 다음 네트워킹을 통해 다시 시작 sudo /etc/init.d/networking stop && sudo /etc/init.d/networking restart하고 IPv4가 작동하는 동안 아웃 바운드 IPv6 연결을 사용할 수 없음을 알았습니다 (아직 인바운드 연결을 확인하지 않았습니다).

ifconfigip -6 addrIPv6 주소는 인식 쇼 :

eth0      Link encap:Ethernet  HWaddr 52:54:00:b1:27:87  
          inet addr:151.236.18.86  Bcast:151.236.18.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:feb1:2787/64 Scope:Link
          inet6 addr: 2001:b60:1000:151:236:18:86:0/112 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16409 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1178 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1126656 (1.1 MB)  TX bytes:763658 (763.6 KB)

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:b60:1000:151:236:18:86:0/112 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:feb1:2787/64 scope link 
       valid_lft forever preferred_lft forever

반대로 IPv6 스택에 대한 기본 경로는 없습니다.

$ ip -6 route
2001:b60:1000:151:236:18:86:0/112 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 

누락 된 경로를 추가하려고하면 "No route to host"오류가 발생합니다.

$ sudo ip -6 route add default via 2001:b60:1000::1
RTNETLINK answers: No route to host

무엇이 잘못 될 수 있으며 IPv6 스택이 작동하도록 네트워크 구성을 어떻게 수정할 수 있습니까?

답변:


6

가상 머신 내부에서 다음을 실행하십시오.

ping6 ff02::2%eth0

이것은 ff02::2IPv6 "모든 라우터"멀티 캐스트 주소입니다. 온 링크 라우터는 자체 주소로 핑에 응답합니다. 예를 들면 다음과 같습니다.

64 bytes from fe80::56e6:fcff:fef4:66f1: icmp_seq=1 ttl=64 time=0.347 ms

그런 다음 이것을 gateway주소 로 추가 할 수 있습니다 .

iface eth0 inet6 static
        .....
        gateway fe80::56e6:fcff:fef4:66f1
        .....

나는 그렇게했다. 라우터 3 개가 응답했다. 대기 시간이 가장 짧은 것을 선택하고 네트워크 구성을 변경했습니다. 이제 이름 확인이 작동하지만 IPv6 연결이 작동하지 않습니다 ( ping6 -c 3 ipv6.google.com, DNS에서 주소를 찾았지만 100 % 패킷 손실이 발생했습니다). 어떤 아이디어?
Alessandro Menti

세 개의 다른 라우터가 응답 했습니까? 귀하의 서비스 제공자가 예상했던 것보다 훨씬 더 기이 한 설정을 가지고 있습니다. 이 시점에서 나는 당신이 그들 각각을 시도하고 그들 중 하나가 작동하는지 볼 것을 제안 할 수 있습니다. 그들 중 어느 것도 작동 하지 않으면 공급자에게 연락하여 손상된 네트워크를 친절하게 수정하도록 요청해야합니다. :)
Michael Hampton

3

넷 마스크는 64 여야합니다. IPv6에서 모든 LAN은 일반적으로 / 64입니다. 공급자가 해당 / 64에서 / 112를 사용할 수 있다고 생각하지만 인터페이스에서 / 64를 구성해야합니다.


/ 64 넷 블록을 사용하도록 IPv6 스택을 재구성했습니다. 불행히도 같은 증상으로 문제가 지속됩니다.
Alessandro Menti

죄송합니다. 귀하의 호스트는 2001 : b60 : 1000 : 151 :: / 64에 있고 게이트웨이는 2001 : b60 : 1000 : 0 :: / 64에 있습니다. CDLAN이 잘못된 정보를 제공했거나 IPv6 네트워크가 엉망이되거나 표준 관행에서 벗어난 것 같습니다.
Sander Steffann

1
불행하게도이 이상한 편차는 VPS 제공 업체에서 너무 일반적입니다.
Michael Hampton

1

공급자가 제공 한 네트워크 마스크 길이가 올바르지 않은 것으로 나타났습니다 48. 그것을 바꾸는 것은 속임수였습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.