相关疑难解决方法(0)

IPv6 环回地址(相当于 127.xxx)

我设置了一个开发环境,其中有多个网站的单独环回地址。

例如,我有以下内容:

127.0.0.1 www.example.com
127.0.0.2 foo.example.com
127.0.0.3 bar.example.com
127.0.0.4 waffles.example.com
Run Code Online (Sandbox Code Playgroud)

我想要一个等效的 IPv6 解决方案。

我已经知道您可以使用 ::1 作为环回地址,但是 ::2、::3 等似乎不起作用。

IPv6 中还有其他环回地址吗?有没有办法拥有多个唯一的环回地址?

ipv6 loopback

22
推荐指数
3
解决办法
4万
查看次数

将整个 IPv6 /64 块添加到 debian 上的网络接口

我尝试使用以下方法将整个 IPv6 (/64) 块添加到接口

ip route add local 2001:41d0:2:ad64::/64 dev lo
Run Code Online (Sandbox Code Playgroud)

像描述在这里我的Debian服务器上,但我似乎失去了一些东西。

例如2001:41d0:2:ad64::fe,如果我在本地ping一切正常,但如果我从远程机器尝试,则它不起作用。然后我尝试在 eth0 上添加路由:

ip route add local 2001::41d0:2:ad64::/64 dev eth0
Run Code Online (Sandbox Code Playgroud)

现在我什至无法在本地 ping 任何示例地址!

我有点迷茫,因为我似乎错过了一些东西,但我在这里找不到答案。

简而言之:我想2001:41d0:2:ad64::/64绑定到 eth0,以便可以从我机器上的 Internet 访问此块包含的每个 IP。

我希望那里有人能指出我正确的方法。提前致谢。

ISP 提供的指南确实要求我将每个 IPv6 显式添加到接口中。我希望它是隐含的。

使用显式 IP 地址绑定的工作配置

/etc/network/interfaces:

auto eth0
iface eth0 inet static
        address my.ip.v4
        netmask 255.255.255.0
        network my.network.address.ip
        broadcast my.broadcast.address.ip
        gateway my.gateway.ip

iface eth0 inet6 static
        address 2001:41d0:2:ad64::fe
        netmask 64
        gateway 2001:41d0:2:adff:ff:ff:ff:ff
        up ip addr add 2001:41d0:2:ad64::1/64 dev …
Run Code Online (Sandbox Code Playgroud)

ipv6 linux-networking debian-wheezy

15
推荐指数
2
解决办法
1万
查看次数

Linux & IPv6:如何绑定到任意 IPv6 地址?

可能的重复:
我可以将(大)地址块绑定到接口吗?

我有一个 /48 IPv6 块。我希望能够做到这一点:

$ wget --bind-address=<1st-ipv6> http://www.some-url.com
$ wget --bind-address=<2nd-ipv6> http://www.some-url.com
$ wget --bind-address=<3rd-ipv6> http://www.some-url.com
etc...
Run Code Online (Sandbox Code Playgroud)

对于我的 /48 块中的任何 2^80 个可用 IP。

根据我的测试,为接口分配大量 IP 会使速度变慢(就每秒 HTTP 请求而言)。显然,我无法将数十亿个 IP 分配给一个接口。有没有办法告诉Linux接受属于我的/48块的任何IP,或者修改wget以便可以完成?


2013 年 1 月 17 日编辑: 我找到了怎么做。您的内核版本必须至少为 3.3,因为从该版本开始,将应用此补丁:http ://lists.openwall.net/netdev/2011/11/08/8

然后你必须以 root 身份运行(正如 David Schwartz 所说):

# ip -6 route add local your_ipv6_block/48 dev lo
Run Code Online (Sandbox Code Playgroud)

您必须将此路由分配给 lo 接口,即使它不是到达 Internet 的传出接口。

然后你必须修改wget的源代码。在 src/connect.c 的 connect_to_ip() 函数中,创建套接字后,添加以下内容:

setsockopt(sock, SOL_IP, IP_FREEBIND, &v, sizeof(v));
Run Code Online (Sandbox Code Playgroud)

然后编译 wget (编译器可能会抱怨 IP_FREEBIND 没有被定义,如何解决这个问题超出了这里的范围)并安装它。

然后你就可以成功地做到:

$ wget …
Run Code Online (Sandbox Code Playgroud)

ipv6 linux-networking

5
推荐指数
1
解决办法
3870
查看次数

一张网卡可以分配多少个IPv6地址,有什么好处?

这不是我的专业领域,所以如果我完全错了,请原谅我。一些数据中心现在提供 IPv6 地址,每个 VM 可能提供 100 个地址。这样做有什么好处?您肯定只需要一个地址和多个端口吗?将 100 个 IPv6 地址指向同一个以太网接口会有什么好处?

谢谢

networking ipv6

1
推荐指数
1
解决办法
1412
查看次数

将所有 IPV6 子网分配给 localhost

我有一个像 2001:face:feed:beef::/64 这样的子网。我想将它们全部分配给我的服务器,而无需手动分配每个地址,例如 2001:face:feed:beef::[123456789abcdef]...

在 ipv4 中,我们可能会使用 DNAT 来执行此操作,但是在 ipv6 中它没有 NAT 概念,所以我想知道这是否可行以及是否有一些解决方法。

ipv6

0
推荐指数
1
解决办法
283
查看次数