AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1015814
Accepted
F1Linux
F1Linux
Asked: 2020-05-06 10:40:41 +0800 CST2020-05-06 10:40:41 +0800 CST 2020-05-06 10:40:41 +0800 CST

跨多个 MikroTik 路由器手动对 IPv6 前缀进行子网划分,无需前缀委派

  • 772

我想配置我的网络,以便主机可以使用SLAAC IPV6 自动寻址全球单播地址(“ GUA ”) 。我有一个 ::/48 (由Hurricane Electric分配),我想将其划分为子网并为此目的分布在多个路由器上。但是,我遵循了 MikroTik 的Prefix Distribution文档(“ PD ”),但它没有产生有效的配置。

MikroTik 的 DHCPv6 服务器实现——也提供 PD 功能——已经被破坏多年,并且在RouterOS v6.46.6中仍然被破坏。如何使用分配给我的 ::/48 _MANUALLY_ 子网和地址 MikroTik 路由器?

routing subnet ipv6 mikrotik routeros
  • 1 1 个回答
  • 2680 Views

1 个回答

  • Voted
  1. Best Answer
    F1Linux
    2020-05-06T10:40:41+08:002020-05-06T10:40:41+08:00

    MikroTik 的 DHCPv6 服务器——也提供 PD 功能——多年来一直在进行中,所以我想避免对它的任何依赖。这个HowTo记录了我是如何做到这一点的,以帮助其他人重新解决同样的问题。

    因此,如果您正在配置网络以使主机能够跨多个路由器自动配置 IPv6 GUA 地址,但还想要替代MikroTik的 DHCPv6 服务器实施,请继续阅读...

    1. 如何范围:

    本 HowTo 将指导手动划分 ::/48 前缀和配置 (2) 具有邻居发现、启用RIPng和一些静态路由的路由器。主机将在它们连接的接口的子网上配置一个 GUA 地址。

    Prefix Distribution、DHCPv6 Server和DHCPv6 Client不包括在内,因为它们未在配置中使用。

    我也没有详细说明 ::/48 如何从路由器 #1路由到 Internet,因为这可能是特定于网络的。即,分配给我的 ::/48 Hurricane Electric(免费!)路由出6to4隧道,而您可能有一个 ::/48 直接由您的 ISP 分配并且没有。

    IPv6 安全性是一个更好地单独处理的主题,并且超出了本 HowTo 的范围。如果您没有配置 IPv6 FW,则在一切正常后,您可以禁用 IPv6 接口,直到您配置一组合理的规则。

    1. 兼容性:

    由于此配置仅使用邻居发现、手动寻址接口、RIPng和一些静态路由,因此它应该不会在未来的RouterOS升级中受到破坏。

    使用此解决方案测试成功自动寻址的客户:

    • Raspberry Pi4 :使用 DHCP运行Buster
    • MacBook :再次使用默认 DHCP运行 OSX Catalina 10.15.3
    • IOS和iPadOS 13.41
    • Windows:使用桥接在我的 MacBook 上运行的Virtualbox VM Windows 10 VM
    1. IPv6 测试工具:

    一些与 IPv6 兼容的工具可帮助您测试和排除配置故障:

    • 浏览器:https ://test-ipv6.com 。注意:Firefox 移动与 IPv6 地址不兼容。
    • IOS : Hurricane Electric IOS 应用程序 ping和traceroute来自 iPhone 和 iPad 的 IPv6 地址
    • 操作系统:
      • ifconfig -a
      • netstat -r -f inet6
      • ping6
      • traceroute6
    • Linux:
      • ip -6 addr show
      • ip -6 route show
      • route -6 -n
      • ping6
      • traceroute6 -r

    2001:4860:4860:8888是用于测试外部连接的好地址;谷歌的 DNS。

    1. 全球单播寻址(“ GUA ”)手动 IPv6 寻址:

    使用 ::/48 前缀:

    2001:db8:1d4f::/48
    

    我将说明如何对分配给我的 ::/48 Hurricane Electric 进行子网划分并手动寻址(2)路由器上的接口。但是,分配给非飓风 ::/48 的过程是相同的

    3.1:点对点链接:

    在此示例中,我们的 (2) 路由器在ether2上使用自动配置的本地链接 fe80::/10 地址相互连接。用于自动地址配置的路由器公告是使用这些本地链接 fe80::/10 地址,而不是全球单播地址(“ GUA ”)。

    关于RoS v6中的 P-2-P 链接的注意事项:虽然::/126或::/127似乎是显而易见的选择,但对 ::/127 的支持只会出现在 RoS v7中。

    3.2 路由器#1:(RB4011)

    直接连接到 Internet,为无线客户端公开多个 SSID。尽管在我的 RB4011 上为 IPv6 配置了许多接口,但为了简化示例,我们将只使用:

    • ether2:到路由器#2的上行链路。不需要 GUA 地址。

    • wlan1 : 2001:db8:1d4f: 10 ::1/64

    • wlan2 : 2001:db8:1d4f: 11 ::1/64

    • wlan3 : 2001:db8:1d4f: 12 ::1/64

    • ETC....

      /ipv6 地址 添加地址=2001:db8:1d4f:10::1 接口=wlan1 添加地址=2001:db8:1d4f:11::1 接口=wlan2 添加地址=2001:db8:1d4f:12::1 接口=无线局域网3

    3.3 路由器#2:(RB951-2n)

    连接到路由器 #1,为无线客户端公开单个 SSID。

    • ether2 : 2001:db8:1d4f: 20 ::1/64 到路由器#1的上行链路。注意:为 WebFig 访问添加了 GUA 地址

    • 以太3:2001:db8: 1d4f:21 :: 1/64

    • 以太4:2001:db8: 1d4f:22 :: 1/64

    • 以太5:2001:db8: 1d4f:23 :: 1/64

    • wlan1 : 2001:db8:1d4f: 24 ::1/64

      /ipv6 地址 添加地址=2001:db8:1d4f:20::1 接口=ether2-master 添加地址=2001:db8:1d4f:21::1 接口=ether3 添加地址=2001:db8:1d4f:22::1接口=ether4 添加地址=2001:db8:1d4f:23::1 接口=ether5 添加地址=2001:db8:1d4f:24::1 接口=wlan1

    3.4 附加路由器:

    如果有第三个路由器,我们将使用 2001:db8:1d4f: 30 ::X/64,将子网增加 10 并使用主机地址“1”。如果暴露大量 SSID,建议您以大于 10 的偶数倍数递增子网以保持整洁。

    3.5 主机寻址:

    一旦在路由器上配置了路由器 GUA 地址并完成了以下其他步骤,网络主机将通过SLAAC从与它们连接的路由器接口相同的子网自动配置 GUA 地址。即,使用路由器#2的上述寻址计划,连接到路由器#2的AP wlan1的主机将自动配置GUA 地址:

    • 2001:db8:1d4f: 24 :: PrivacyExtensionConfiguredByHost
    1. IPv6 路由:

    4.1 RIPng:所有路由器

    1. Routing > RIPng :在所有路由器上的所有路由器接口上启用RIPng

      /routing ripng 接口添加

    2. 路由> RIPng > RIPng 设置:启用“重新分配静态路由”

      /routing ripng 设置重新分配静态=是

    4.2 静态路由:仅路由器 #1

    1. IPv6 >路由:在路由器#1上,将静态路由添加到连接到路由器#1的路由器#2(和任何其他路由器)。使用寻址计划,这将是:
    2001:db8:1d4f:**20**::1/64
    
        /ipv6 route
        add distance=1 dst-address=2001:db8:1d4f:20::1/128 gateway=\
            ether2-AP2-RB951-2n
    
    1. 邻居发现(“ND”)

    邻居发现 (ND) 用于链路层地址解析(类似于 ARP)和地址自动配置。ND 是所有IPv6 地址自动配置的组成部分 - SLAAC、DHCPv6 服务器和前缀委派(PD)。

    IPv6 > ND > Add New:在每个路由器上,仅添加客户端将连接并用于SLAAC自动地址配置的接口。请注意,MTU 设置为 1280,因为这是 Hurricane Electric 使用的大小,他们路由他们分配给我的 ::/48。

    对于路由器#1,这将是:

    • 无线局域网1

    • 无线局域网2

    • 无线局域网3

        /ipv6 nd
        set [ find default=yes ] disabled=yes other-configuration=yes
        add hop-limit=64 interface=wlan1 mtu=1280 other-configuration=yes \
            ra-lifetime=10m reachable-time=10m retransmit-interval=10m
        add hop-limit=64 interface=wlan2 mtu=1280 other-configuration=yes \
            ra-lifetime=10m reachable-time=10m retransmit-interval=10m
        add hop-limit=64 interface=wlan3 mtu=1280 other-configuration=yes \
            ra-lifetime=10m reachable-time=10m retransmit-interval=10m
      

    对于路由器#2,这将是:

    • 以太3

    • 以太4

    • 以太5

    • 无线局域网1

        /ipv6 nd
        set [ find default=yes ] disabled=yes hop-limit=64 interface=ether2-master \
            mtu=1280 other-configuration=yes ra-lifetime=10m reachable-time=10m \
            retransmit-interval=10m
        add hop-limit=64 interface=ether3 mtu=1280 other-configuration=yes \
            ra-lifetime=10m reachable-time=10m retransmit-interval=10m
        add hop-limit=64 interface=ether4 mtu=1280 other-configuration=yes \
            ra-lifetime=10m reachable-time=10m retransmit-interval=10m
        add hop-limit=64 interface=ether5 mtu=1280 other-configuration=yes \
            ra-lifetime=10m reachable-time=10m retransmit-interval=10m
        add hop-limit=64 interface=wlan1 mtu=1280 other-configuration=yes \
            ra-lifetime=10m reachable-time=10m retransmit-interval=10m
      

    安全注意事项:使用 ND RA(路由器公告)进行自动地址配置存在安全问题。有权访问连接网络的攻击者可以将 RA 注入网络,触发设备添加 IPv6 地址或默认路由。

    1. 设置 IPv6 DNS 和 NTP 源:

    域名解析:

    IP > DNS:添加一个 IPv6 DNS 源,例如2001:4860:4860::8888(Google) 到 IPv4 之一:

    /ip dns
    set allow-remote-requests=yes servers=8.8.8.8,2001:4860:4860::8888
    

    NTP:

    系统> NTP 客户端:添加一个 IPv6 NTP 源,例如2610:20:6f15:15::27到 IPv4 之一:

    /system ntp client
    set enabled=yes primary-ntp=216.239.35.0 secondary-ntp=2610:20:6f15:15::27
    
    1. 允许管理员访问:

    如果您想使用 IPv6 地址进行 Webfig 或 SSH 访问,请不要忘记更新:

    IP >服务并添加子网以允许对 MikroTik 进行管理访问。

    结论:

    至此,您应该让客户端自动配置 IPv6 GUA 地址。如果您发现任何错误/遗漏,请告诉我,以便我更新文档。

    不要忘记花一些时间配置IPv6 >防火墙并加强安全性,或者至少在您有时间之前禁用 IPv6 接口。希望您发现这很有用,它可以帮助您快速上手。

    • 1

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • 将路由永久添加到 Solaris 10

  • Quagga 套件中的 ./configure --disable-zebra 代表什么?

  • 使用特定接口进行出站连接(Ubuntu 9.04)

  • Linux TC/策略路由工具

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve