标签: radvd

为什么在无状态地址自动配置上使用 DHCPv6?

IPv6 和RFC 2462为主机提供了一种通过无状态地址自动配置来配置自己的 IP 地址的方法。对我来说,这就像蜜蜂的膝盖,它让我想知道为什么有人想要通过配置 DHCPv6 服务器的麻烦来代替。我不把网络作为一种职业来管理,所以我猜有一些显而易见的简单原因为什么人们想要支持 DHCPv6,但我没有想到。有人可以详细说明这些原因可能是什么吗?

dhcp ipv6 ndp radvd

17
推荐指数
3
解决办法
2万
查看次数

为什么我的域控制器导致我的路由器发送唯一本地地址的广告?

我目前正在评估 Server 2012 在 Linux 和 Windows 工作站和服务器的小型异构网络中充当域控制器,所有这些最终都将加入域。这是一个 100% 双栈网络;每个设备都有 IPv4 和 IPv6 连接。路由器是运行 radvd 1.9.1 和各种其他必需品的 Linux 服务器。

我刚刚安装了第一个域控制器;它的域名是ad.businessname.combusinessname.com由外部 DNS 服务器处理的地方;该域也有公共网站、电子邮件等,这些目前不会加入域)。它是安装了 AD DS 和 DNS 角色的服务器核心。一切似乎都很好,我准备设置第二个 DC 并开始加入计算机,但是...

现在我的网络上有额外的 IPv6 路由器广告,广告Unique Local Addresses。它也是广告的本地IPv6前缀实际路由器是广告。起初我以为这些 RA 来自域控制器,因为当我关闭它时它们消失了,但是在运行 Wireshark 之后我看到它们来自我的实际 IPv6 路由器。Wireshark 表明,此版本的 RA 很快遵循来自 DC 的 fd4a:e7ab:34a5::1 邻居请求。

奇怪的是,当域控制器不在网络上时,路由器也会发送它通常发送的原始路由通告。此版本的 RA 匹配/etc/radvd.conf(副本如下)。与 Wireshark 的快速会话确认路由器广告的两个版本都来自运行的 Linux 路由器的 MAC 地址radvd

到目前为止,这些似乎无害,因为我的 IPv6 连接没有因额外 RA 的存在而中断。但由于我已经拥有全球 IPv6 连接,因此 ULA 似乎是不必要和不需要的。

我昨晚和今天花了很多时间在互联网上搜索试图弄清楚发生了什么,但除了暗示它 …

domain-name-system active-directory ipv6 radvd windows-server-2012

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

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

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

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

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

ipv6 timezone radvd dhcpv6

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

如何根据DHCPv6-PD服务器的委托前缀配置radvd、dhcpd6、路由和/64子网?

我的 ISP 刚刚开始 IPv4/IPv6 双栈服务。为了连接IPv4/IPv6 Internet,几乎所有用户通常都使用ISP租用的CPE。但是我想用我的 Linux 路由器而不是这样的 CPE,因为我的路由器有很多角色(很多 iptables 规则和 3 个以太网接口、http 反向代理、http 缓存、memcached、smtp/pop 服务器和 DNS 代理)。我想让它成为一个 IPv4/IPv6 双栈路由器。

我的路由器

  • CentOS6.0 i686
  • 用于广域网的 eth0
  • eth1,2 用于局域网
  • ISC dhcp(版本 4.1.1)由 CentOS-updates repo 中的“# yum install dhcp”安装
  • radvd(version 1.6) 由 CentOS-base repo 的“# yum install radvd”安装
  • [编辑] 我使用 ISC dhclient 的原因是我的路由器必须在其请求和请求消息中发送 DHCPv6 选项 16(供应商类),以获得包含一些 ISP 特定信息的供应商特定信息选项( SIP 电话号码、固件服务器地址)。我知道如何在 ISC dhclient 中设置选项 16,但在 WIDE-dhcpv6 中不知道。而且我在 ISC dhclient 中找不到诸如“id-assoc”之类的设置。

我的目标

  • /48 前缀被委派给 eth0 上的 DHCPv6-PD(DHCPv6 前缀委派)客户端(dhclient)。
  • IPv6 默认路由设置为到 ISP。我必须将 ISP 的 DHCPv6 服务器的本地链路地址视为默认路由。 …

dhcp ipv6 isc-dhcp dhclient radvd

10
推荐指数
2
解决办法
3万
查看次数

使用 radvd 通告子网路由

我们已经建立了一个小型的 IPv6 测试网络。设置如下所示:

    ::/0
+----------+
| Firewall | Router to the public net
+----------+
     |           2001:...::/106
     |       +----------+
     +-------|  SIT GW  | sit Tunnel gatway to the some test users
     |       +----------+
     |
+----------+
| Test Sys |  Testsystem
+----------+
Run Code Online (Sandbox Code Playgroud)

这个想法是通告来自防火墙的默认路由和来自坐网关的 SIT 子网的路由。radvd 的配置是:

# Firewall
interface eth0
{
   AdvSendAdvert on;
   route ::/0 
   {
   };
};


# SIT Gatway
interface eth0
{
   AdvSendAdvert on;
   route 2001:...::/106
   {
   };
};
Run Code Online (Sandbox Code Playgroud)

我们已经捕获了 adv。带有 tcpdump 的包,这些包看起来不错。我们看到来自 fw 的默认路由和来自 SIT 网关的子网路由。

但是,如果我们查看测试系统,则两个网关上都有两条默认路由。没有子网路由。路由当然不起作用。这里我们得到的路线:

2001:.....::/64 dev …
Run Code Online (Sandbox Code Playgroud)

linux ipv6 radvd icmpv6

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

KVM 虚拟机无法访问 IPv6 网站

我有一个新安装的 Windows Server 2008 R2 SP1 虚拟机,尽管显然具有正确的 IPv6 连接,但它完全无法访问任何 IPv6 网页。此外,其他 Linux VM 也无法访问 IPv6 网站。

此设置以前在虚拟机中具有完整的 IPv6 连接,并且在没有明显原因的情况下停止工作。

我的所有 VM 都桥接到物理以太网,并从主机上的 radvd 接收通知。IPv6 在主机上正常工作,主机也是 IPv6 路由器。Wireshark 显示主机在收到 HTTP SYN 数据包后正在发回 ICMPv6 Destination Unreachable (Administratively disabled)。

Internet Explorer 报告它无法显示网页,而 Google Chrome 仅显示 Oops!Chrome 无法连接到网页,没有错误号。

我什至能够 ping 本地网关和 Google 的 IPv6 地址并进行 IPv6 DNS 查找。

PS C:\Users\Administrator> ping -6 fe80::6e62:6dff:fed1:dfad

Pinging fe80::6e62:6dff:fed1:dfad with 32 bytes of data:
Reply from fe80::6e62:6dff:fed1:dfad: time<1ms
Reply from fe80::6e62:6dff:fed1:dfad: time<1ms
Reply from fe80::6e62:6dff:fed1:dfad: time<1ms
Reply from …
Run Code Online (Sandbox Code Playgroud)

linux ipv6 windows-server-2008-r2 radvd kvm-virtualization

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

IPv6:使用大于默认路由 MTU 的链路 MTU

配置 IPv6 LAN 时,可能需要使用路由器通告来宣布标准 1500 字节或更大的链路 MTU,以启用巨型(也许是 9000)。这将允许 LAN 上的主机之间的通信使用最大的框架可能。如果到 IPv6 互联网的默认路由必须经过6in4隧道类型,则在使用 PPPoE 时,MTU 通常为 1480 或 1472。

LAN 主机之间的通信应不间断,但沿默认路由的正常流量事件链的行为会有所不同。在大多数连接的握手期间,包含大量数据的第一个数据包几乎总是大于默认路由的 MTU,从而促使路由器丢弃该数据包并发送 ICMPv6 数据包太大消息(类型 2 。我认为大多数操作系统都会通过目标地址缓存路径 MTU 发现的结果,因此几乎所有默认路由连接都会发生这种交互。此交换最多只需要几十毫秒,因此我预计它不会导致严重的性能问题。

问题是:这种类型的配置是否被视为最佳实践?是否首选使用等于(或小于)默认路由路径 MTU 的链路 MTU?有这方面的文档吗?

                    LAN          WAN

hostA -----\                     v4 WAN Link / 6in4 tunnel
            \  MTU 9000            MTU 1500     MTU 1480
             |---------- router ------------------------  -  -  -
            /                    IPv4 Internet, 6in4 endpoint -->
hostB -----/

          <<< router adv
                  prefix
                   RDNSS
                MTU 9000
                     etc

Example TCP connection:

TCP(SYN, 94 …
Run Code Online (Sandbox Code Playgroud)

ipv6 mtu radvd

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

使用 DHCPv6 和 radvd 时如何获取 /64 作为前缀长度?

在我们的网络课程中,我们被要求在虚拟机中设置 DHCPv6 服务器。我选择在运行 Ubuntu Desktop 16.04 和 Lubuntu 14.04 的虚拟机(在 VMware 上)上工作,作为测试客户端,并为特定 LAN 设置网络适配器。我首先将 isc-dhcp-server 配置为在这篇文章中描述的 IPv6 功能,最后我得到了一个正常运行的 dhcpv6,其中包含一个包含以下行的配置文件(/etc/dhcp/dhcpd6.conf):

ddns-update-style none;
default-lease-time 100;
max-lease-time 200;
subnet6 2001:4340:4532:0400::/64{
   range6  2001:4340:4532:0400::0004 2001:4340:4532:0400::0006;
}
Run Code Online (Sandbox Code Playgroud)

我还对 init 脚本进行了必要的更改,以设置 .conf、.pid、租用文件并使用静态地址配置接口 ens33,如下所示:静态 ip set through gui

问题是客户端正在接收 /128 地址。

经过一番研究,我发现 DHCPv6 服务器不提供有关前缀长度的信息,并且必须使用路由器广告进行广播。所以,我在同一个 VM 上安装了 radvd,启用转发,禁用 ufw 并使用以下配置文件对其进行配置:

interface ens33{
#this is important :
AdvSendAdvert on;
MaxRtrAdvInterval 6;
MinRtrAdvInterval 4;
#this is important to :
AdvManagedFlag on;
AdvOtherConfigFlag off;
prefix 2001:4340:4532:400::/64
{

  AdvOnLink on; …
Run Code Online (Sandbox Code Playgroud)

virtual-machines ipv6 radvd dhcpv6 ubuntu-16.04

5
推荐指数
0
解决办法
820
查看次数

本地网络中的多个 IPv6 路由器

我正在设置一些将使用 IPv6 运行虚拟机的服务器。网络拓扑是这样的,其中br0接口是虚拟的:

             2001:db8:fedc:aaaa::/64
   ---+----------------------------------+---
      |                                  | 
      | eth0: 2001:db8:fedc:aaaa::1      | eth0: 2001:db8:fedc:aaaa::2
 +----+----+                        +----+----+
 | server1 |                        | server2 | 
 +----+----+                        +----+----+
      | br0: 2001:db8:fedc:abcd::1       | br0: 2001:db8:fedc:cdef::1
      |                                  | 
      | VM network 1:                    | VM network 2:
      | 2001:db8:fedc:abcd::/64          | 2001:db8:fedc:cdef::/64
 +----+----+                        +----+----+
 |    |    |                        |    |    | 
vm1  vm2  vm3                      vm4  vm5  vm6
Run Code Online (Sandbox Code Playgroud)

我试图避免使用网络的默认网关将数据包从服务器中的虚拟机路由到另一台服务器中的虚拟机,因为对于许多主机,它会成为瓶颈。

然后的想法是让每个服务器向其他服务器通告一条到其自己的 VM 网络的路由。所以在上面的例子中,server1 会通告一条到 2001:db8:fedc:abcd::/64 的路由,server2 会通告一条到 2001:db8:fedc:cdef::/64 的路由。

我在 server1 的 radvd.conf 中有这个:

interface eth0 {
  AdvSendAdvert on;
  prefix …
Run Code Online (Sandbox Code Playgroud)

routing ipv6 radvd

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