在Ubuntu上configuration静态IPv6

我正在尝试在专用的Ubuntu服务器上configurationIPv6。 我的提供者给了我一个“/ 64”(不pipe是什么 – 我仍然感到困惑)的IPv6地址。

但是,当我尝试使用它们时,我无法ping任何东西。 我该怎么办? 🙁

 #ping6 ipv6.google.com
     PING ipv6.google.com(vx-in-x63.1e100.net)56个数据字节
    从fe80 :: 219:d1ff:fefb:42d8 icmp_seq = 1目的地不可达:地址不可达
    从fe80 :: 219:d1ff:fefb:42d8 icmp_seq = 2目的地不可达:地址不可达
    从fe80 :: 219:d1ff:fefb:42d8 icmp_seq = 3目的地不可达:地址不可达

      --- ipv6.google.com ping统计---
     3个数据包传输,0个接收,+3个错误,100%丢包,时间2014ms

 #tracepath6 ipv6.google.com
     1?:[LOCALHOST] 0.025ms pmtu 1500
     1:fe80 :: 219:d1ff:fefb:42d8%eth0 2000.022ms!H
    简历:pmtu 1500

 #cat / etc / network / interfaces
     #环回networking接口
    汽车
     iface lo inet loopback

     #主要networking接口
     auto eth0
     iface eth0 inet static

    地址64。***。***。***
    networking掩码255.255.255.248
    网关64。***。***。***

     iface eth0 inet6 static
    预先modprobe ipv6
    地址2607:F878:1:*** :: 1
    networking掩码64
    网关2607:F878:1:***(与地址相同):: 1

 #ifconfig
     eth0 Link encap:Ethernet HWaddr 00:19:d1:fb:42:d8
         join者:64。***。***。*** Bcast:64。***。***。***掩码:255.255.255.248
          inet6地址:fe80 :: 219:d1ff:fefb:42d8 / 64范围:链接
          inet6地址:2607:f878:1:*** :: 1/64范围:全局
         广播运行多播MTU:1500公制:1
          RX数据包:52451错误:0丢弃:0超出:0帧:0
          TX数据包:39729错误:0丢弃:0超载:0载波:0
         碰撞:0 txqueuelen:1000
          RX字节:6817761(6.8 MB)TX字节:6153835(6.1 MB)
         中断:41基地址:0xc000

    链路封装:本地环回
          inet addr:127.0.0.1掩码:255.0.0.0
          inet6 addr::: 1/128范围:主机
          UP LOOPBACK RUNNING MTU:16436公制:1
          RX包:166错误:0丢弃:0超限:0帧:0
          TX包:166错误:0丢弃:0超载:0载波:0
         碰撞:0 txqueuelen:0
          RX字节:31714(31.7 KB)TX字节:31714(31.7 KB)

默认网关在IPv6上的工作方式有点不同。

我build议你做的是启动tcpdump并观察Router Advertisements (你可能想要分析在WireShark捕获 – 更容易)。 这就是您的IPv6主机如何知道如何上网。 另外注意Neighbor Solicitation因为这是ARP的替代。

如果您看到这些请求进入,但不会返回,则您的内部防火墙将阻止IPv6stream量。 如果你看到他们出去(请求),但不回来,那么你需要确保你的前缀长度是正确的(这是/64部分。虽然我已经看到很多/64 s传递出来实际上是a /48 )。

大重要的粗体

ICMP对于IPv6function来说绝对是关键的。 在IPv4中,它可以被阻塞而没有太大的影响,但是在IPv6中,整个networking依赖于ICMP的所有function。 不要阻止它。

在参照

我的提供者给了我一个“/ 64”(不pipe是什么 – 我仍然感到困惑)的IPv6地址

这是您的前缀长度,以前称为您的子网掩码 ,用于CIDR 。 数字越小,IP地址就越多。 对于IPv6, /64/48是非常普遍的,应该给你更多的IP地址,而不是你一生中需要的。

不要将主机上的网关设置为自己的路由器。 如果您的ISP提供了网关地址,请将其用作主机上的网关,或让主机使用路由器通告来configuration其自身。 网关地址不应该与服务器自己的地址相同。 用于路由其他主机的地址不应分配有网关。

您的ISP可能为您的外部(Internet)界面提供了一个地址。 如果提供的话,使用相应的网关地址来configuration你的eth0接口。 如果有内部接口(eth1),请使用/ 64地址。 你也将需要设置radvd在该接口上运行。

如果你没有内部接口,你可以在你的/ 64范围内增加一个静态地址。

 up ip -6 addr add 2607:F878:***::2 dev eth0 

了解ip命令,如ip -6 addrip -6 routeip -6 neigh 。 有多个地址和路由是很常见的。