我是一名软件开发人员,刚刚在 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 地址。因此,这听起来就像向询问地址的人邮寄明信片一样。
回到仅使用 IPv4 的时代,显示netstat为侦听的 LISTEN 连接0.0.0.0将响应系统中任何 IPv4 接口上的连接。
据我了解,新的 IPv6 习惯用法::侦听所有可用的 IPv6和IPv4 接口。对于所有操作系统(Unix、Windows、Mac),这是否正确?是否有只听 IPv6 接口的习惯用法?
我正在公司网络上测试 IPv6,但在使用 OS X 时遇到问题。对于大多数 IPv6 命令,例如telnet -6或traceroute6,我收到错误消息:
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)
我怀疑我缺少一些配置标志或命令行参数。
是否可以获得路由的 IPv6 子网?我们附近没有任何 IPv6 代理,我们的本地 ISP 也不支持它,但无论如何我们想建立一个 IPv6 网络。
也许有办法成为 IPv6 代理或注册为 ISP?
我们运行社交/本地服务,受益于对用户 IP 的地理定位。问题在于,使用 IPv6 时,地理定位比使用 IPv4 时要复杂得多。
在带有 nginx 的 Ubuntu 主机上,有没有办法更喜欢通过 IPv6 的传入连接?配置如下所示:
server {
listen 80 default_server;
listen [::]:80 ipv6only=off default_server;
}
Run Code Online (Sandbox Code Playgroud) 我在 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 …
我发现有些客户端在 IPv4 网络上时会通过 DHCP 选项号 101 了解其当前时区。
在radvdUbuntu Server 14.04 上公布 IP 前缀的纯 IPv6 网络上,这些客户端不会选择正确的时区。
是否可以通过radvd或需要 DHCPv6 服务器来通告时区?
在 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 的网络中,放置在 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 系列非托管千兆交换机”)
我有两台主机试图相互建立 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)