小型企业/工作室IPv6方案

前言

对于很多小型企业和工作室而言,用好公网IPv6地址都是非常重要的。

但是很多小型企业和工作室通常只能负担动态地址的互联网宽带,而动态公网IPv6地址对于多子网的企业网络非常难以应用。终端直接使用公网IPv6地址,不仅配置复杂,地址管理也麻烦,安全性也少一层保护。

本文就将通过NAT66为核心的技术解决企业局域网IPv6 ULA的问题。

TL;DR

  1. 在核心交换机中配置SLAAC或DHCPv6为局域网各子网设备分配IPv6 ULA地址
  2. 出口网关设备配置NAT66

局域网ULA配置

本段基于Cisco交换机的SLAAC和RA RDNSS功能编写。

局域网内终端设备需要通过SLAAC或DHCPv6方式分配unique local address (ULA)地址。

如果终端设备较多,需要增强管理,则应该使用DHCPv6方式;如果终端设备少、管理松散,使用SLAAC方式的分配更加简单。

SLAAC方式需要解决DNS分配问题,方法有两种。一种是引入DHCPv6仅分配DNS配置,有点是几乎所有设备都支持,缺点是配置相对复杂,不如干脆用DHCPv6把地址分配也解决掉;另一种方法是RA中直接附加RDNSS信息,配置非常简单,单有很小一部分设备不支持RDNSS。

Cisco交换机的SLAAC配置非常简单,设备默认启用RA。启用RDNSS只需要ipv6 nd ra dns server一条命令。

典型配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ip name-server A_IPv6_DNS_ADDR                   #为交换机配置IPv6 DNS
ipv6 unicast-routing #启用IPv6路由功能
!
interface GigabitEthernet0/48
description 上联互联接口
no switchport
ip address 172.16.1.2 255.255.255.252 #互联IP地址
ipv6 address FD08:111:222:1::2/64 #互联IPv6地址
!
interface Vlan4
description 办公终端
ip address 192.168.250.254 255.255.255.0
ipv6 address FD08:111:222:4::1/64
ipv6 nd ra dns server A_IPv6_DNS_ADDR #DNS地址分配
!
interface Vlan80
description 内部服务器
ip address 192.168.80.254 255.255.255.0
ipv6 address FD08:111:222:80::1/64
!
ipv6 route ::/0 FD08:111:222:1::1 #IPv6静态路由

出口网关配置

这一部分的配置以MikroTik RouterOS为例。

实际上配置方法与NAT基本相同,只是帮大家熟悉一下NAT66的做法。

PPPoE

出口网关设备需要通过PPPoE进行拨号,并获取IPv6地址和默认路由。

这部分非常简单,几个截图看看就好:

image-20250202163953723

image-20250202164057944

唯一需要注意的是DHCPv6 Client这里的前缀长度,可以找一个普通家用路由器拨号之后看看之际给的长度,写到这里就好。

NAT66

首先解决上网问题。

在IPv6防火墙中新建一个源NAT策略,设置出接口为pppoe接口或设置出接口组为WAN,action为masquerade。

image-20250202170934042

image-20250202170954468

服务器映射

在IPv6防火墙中新建一个目的NAT策略,设置出接口为pppoe接口或设置出接口组为WAN,同时配置好协议和端口,action为dst_nat,并填写内部服务器的ULA地址和端口。

image-20250202172222013

image-20250202172235872

DDNS解析

DDNS解析通过ddns-go这类的项目解决。

由于出接口上有众多全局IPv6地址,内部终端最终映射到的全局地址可能不一样,建议web应用使用统一的反向代理对外服务,其他应用则每台主机部署一套ddns-go。

总结

其实整个方案没有技术难度,只是很多人并不太清楚ULA是什么,以及NAT在IPv6中的作用。