标签: ipv6

为什么需要 IPv6 Neighbor Solicitation 来获取 MAC 地址?

我是一名软件开发人员,刚刚在 Techdays 上获得了一本关于 IPv6 的免费书籍,我正在阅读这本书是为了好玩。他们放弃了它,因为它有点旧(W2008),所以其他/较新的操作系统可能情况有所不同,但我不明白邻居发现获取 MAC 地址的必要性。

根据这本书,每个节点都会自动获得一个Link-local IP-address,该地址是通过FF-FE在第3和第4个字节之间插入并翻转U/L位的MAC地址构造的,因此对于一个Link-local IP, MAC 地址为 的节点00-AA-00-3F-2A-1C变为FE80::2AA:FF:FE:3F:2A1C

为了确定链路层的 MAC 地址,一个 Neighbor Solicitation 消息被发送到链路本地 IP 地址,它用一条包含其 MAC 地址的消息进行回复......本地 IP 地址。因此,这听起来就像向询问地址的人邮寄明信片一样。

ipv6 discovery

12
推荐指数
2
解决办法
3251
查看次数

双栈操作系统中 :: 和 0.0.0.0 的语义

回到仅使用 IPv4 的时代,显示netstat为侦听的 LISTEN 连接0.0.0.0将响应系统中任何 IPv4 接口上的连接。

据我了解,新的 IPv6 习惯用法::侦听所有可用的 IPv6IPv4 接口。对于所有操作系统(Unix、Windows、Mac),这是否正确?是否有只听 IPv6 接口的习惯用法?

linux windows ip ipv6 netstat

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

如何使用 Mac OS X telnet 到 IPv6 主机?

我正在公司网络上测试 IPv6,但在使用 OS X 时遇到问题。对于大多数 IPv6 命令,例如telnet -6traceroute6,我收到错误消息:

connect: No route to host
Run Code Online (Sandbox Code Playgroud)

例如,我有一个 Web 服务器。这失败了:

$ telnet -6 fe80::… 80    # this fails
Run Code Online (Sandbox Code Playgroud)

我知道服务器是可访问的,因为它可以ping6工作(请注意,我必须使用-I参数):

$ ping6 -I en1 fe80::…    # this works
Run Code Online (Sandbox Code Playgroud)

我知道 Web 服务器正在运行,因为我可以从 Windows telnet 到它:

C:\> telnet fe80::… 80  # this works
Run Code Online (Sandbox Code Playgroud)

我怀疑我缺少一些配置标志或命令行参数。

networking ipv6 mac-osx

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

我们如何接收全局 ipv6 子网?

是否可以获得路由的 IPv6 子网?我们附近没有任何 IPv6 代理,我们的本地 ISP 也不支持它,但无论如何我们想建立一个 IPv6 网络。

也许有办法成为 IPv6 代理或注册为 ISP?

ipv6

11
推荐指数
2
解决办法
6589
查看次数

首选 IPv4 传入连接而不是 IPv6

我们运行社交/本地服务,受益于对用户 IP 的地理定位。问题在于,使用 IPv6 时,地理定位比使用 IPv4 时要复杂得多。

在带有 nginx 的 Ubuntu 主机上,有没有办法更喜欢通过 IPv6 的传入连接?配置如下所示:

server {
    listen 80 default_server;
    listen [::]:80 ipv6only=off default_server;
}
Run Code Online (Sandbox Code Playgroud)

nginx ipv6 ipv4

11
推荐指数
2
解决办法
2400
查看次数

Debian / IPv6:默认路由在 1800 秒后过期,失去连接

我在 vServer 上运行 Debian 8。安装 docker 并启用 IPv6 后,我注意到一些奇怪的事情。不知道docker和这个有没有关系,只是安装后发现这个问题。

我的默认路由配置为在 ca 后过期。1800 秒。在此超时后,我实际上消失了。这是我(显然)松散 IPv6 连接的时候。

root@wopr:~#  ip -6 route
xxxx:yyyy:zzz:xxxx::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev br-5c1ce68ea951  proto kernel  metric 256
fe80::/64 dev br-61f6bbfdbe87  proto kernel  metric 256
[a lot more routed for my docker containers]
default via fe80::1 dev eth0  proto ra  metric 1024  expires 1259sec hoplimit 64
Run Code Online (Sandbox Code Playgroud)

为什么将路由配置为在 1800 秒后过期?我在哪里可以配置这个?

[编辑 2016-05-14 16:08]

手动添加默认路由似乎工作得很好。它保持原样。但是我需要在启动后有一个非过期的路由。

[编辑 2016-05-14 16:13]

该机器在 netcup.de …

networking debian routing ipv6 docker

11
推荐指数
2
解决办法
4221
查看次数

客户端可以在使用 RA 配置的网络上了解他们的时区吗?

我发现有些客户端在 IPv4 网络上时会通过 DHCP 选项号 101 了解其当前时区。

radvdUbuntu Server 14.04 上公布 IP 前缀的纯 IPv6 网络上,这些客户端不会选择正确的时区。

是否可以通过radvd或需要 DHCPv6 服务器来通告时区?

ipv6 timezone radvd dhcpv6

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

CentOS 7 中 IPv6 配置选项的含义是什么?

在 CentOS 上手动配置网络接口时,以下设置的确切含义是什么(我正在尝试配置仅 IPv6 的主机)?

我可以猜出其中一些人的名字是什么意思,但我不知道所有这些人的意思(我的一些猜测可能是错误的);是否有这些配置选项的官方文档,我找不到任何文档?

从 /etc/sysconfig/network-scripts/ifcfg-eth0

IPV6INIT=yes          # I assume this just enables IPv6 networking on this interface?
IPV6_AUTOCONF=no      # Does this disable SLAAC?
IPV6_AUTOTUNNEL=no    # ?
IPV6_FAILURE_FATAL=no # Something to do with IPv6 not working not being an issue?
IPV6_DEFROUTE=yes     # ?
IPV6_PEERDNS=yes      # Does this mean we use the default gateway for DNS queries?
IPV6_PEERROUTES=yes   # Same as above?
IPV6ADDR=1::2/64      # This is obviously the IPv6 address and subnet mask
IPV6_DEFAULTGW=1::1   # This is obviously the …
Run Code Online (Sandbox Code Playgroud)

ipv6 linux-networking centos7

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

Araknis 交换机是否支持 IPv6?

在完全启用 IPv6 的网络中,放置在 Araknis 交换机后面的设备是否可以使用 IPv6?我在这里找不到任何提及 IPv6 的内容:https : //www.snapav.com/shop/en/snapav/araknis-switches

Araknis 目前唯一的路由器支持 IPv6(见规格):https ://www.snapav.com/shop/en/snapav/routers/araknis-networks-reg%3B-300-series-dual-wan-gigabit-vpn- router-an-300-rt-4l2w

我很困惑为什么他们会出售 IPv6 路由器而不出售 IPv6 交换机。

上下文:我住在一个有 Araknis 路由器和单独的 Araknis 交换机的房子里。根据其 Web 界面,路由器似乎支持 IPv6,但我无法物理访问它以测试将设备直接插入其中。但是交换机后面的所有东西似乎都没有获取 IPv6 地址。在 SnapAV 的网站上,他们没有提到任何交换机都支持 IPv6,但他们最新的路由器支持 IPv6(在规格部分提到)。

更新:感谢大家的回答。路由器正在从 ISP 获取公共 IPv6。我可以访问设备并将设备直接插入路由器而不是交换机,现在它获得了 IPv6 地址(尽管只有 fc00::... 唯一的本地地址,直到我在路由器上启用前缀委派,之后它获得了一个额外的全局地址)。因此,似乎交换机在某种程度上是个问题,尽管理论上它应该不知道 IPv4 和 IPv6。对我不起作用的交换机是 AN-100-SW-R-16(“带有后端口的 Araknis Networks® 100 系列非托管千兆交换机”)

ipv6 switch

11
推荐指数
2
解决办法
1453
查看次数

为什么 iptables 拒绝允许数据包的第二个和后续片段?

我有两台主机试图相互建立 IPSec 连接。为此,它们必须在 UDP 端口 500 和 4500 上进行通信,因此我在两端的防火墙中打开了它们(如相关部分所示):

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m udp -p udp --dport 500 -j ACCEPT
-A INPUT -m udp -p udp --dport 4500 -j ACCEPT
#.....
-A INPUT -j REJECT --reject-with icmp6-port-unreachable
Run Code Online (Sandbox Code Playgroud)

但是,密钥交换永远不会成功。每一方都不断尝试一遍又一遍地重新传输 UDP 数据包,从不听到响应,直到他们最终放弃。

我从tcpdump一端开始,观察到 UDP 数据包被分片,并且在第二个分片进入后返回了一个 ICMP 端口不可达。

此类失败交换的示例(为保护您而进行了消毒):

04:00:43.311572 IP6 (hlim 51, next-header Fragment (44) payload length: 1240) 2001:db8::be6b:d879 > 2001:db8:f:608::2: frag (0x5efa507c:0|1232) ipsec-nat-t > ipsec-nat-t: NONESP-encap: isakmp 2.0 msgid 00000001 cookie 55fa7f39522011ef->f8259707aad5f995: …
Run Code Online (Sandbox Code Playgroud)

linux iptables ipv6 ip-fragmentation

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