本帖最后由 xibanya 于 2023-7-5 14:19 编辑
案例环境:
1.爱快下沉,作为二级路由器,负责IPv4的DHCP,流控,AP管理等;
2.作为出口网关的路由器需要支持IPv6 Over IPv4 ISATP自动隧道(案例以HW路由器为例)。并且将OVPN服务所需要的端口映射到爱快wan口
3.可选:在交换机将IPv4流量全部引导至爱快转发,将本地设备访问公网的IPv6流量引导不经过爱快转发
基本原理:将IPv6封装进私网ipv4,ipv4私网再封装进ovpn,实现v6借线
1.异地客户端(以Windows为例),安装ovpn客户端,通过IPv4网络连接到爱快,并获取到爱快推送的内网侧IPv4路由;
2.异地客户端开启ISATAP隧道功能,隧道的目标地址配置为出口网关的lan接口IPv4地址(是ISATP路由器lan口的私网地址,不是爱快的地址);
3.出口网关开启ipv6 over ipv4 ISATP隧道功能,将外网口获取的IPv6 PD前缀,按照isatp地址的配置格式,配置到隧道接口;
比如,获取到的前缀是60位长度(例如240e:13::/60),将其命名为test,隧道口配置IPv6链路本地地址自动生成,配置IPv6地址为
test 0:0:0:000b:0000:5efe:c0a8:0a01/64 接口实际的v6地址将是240e:13::b:0:2efe:c0a8:a01/64
接口ID部分,0000:5efe为ISATP在后64位固定插入,最后32位为隧道源地址192.168.10.1转换成16进制。
4.出口网关在隧道接口开启IPv6 路由通告,让异地客户端可以通过隧道获取到V6前缀,并自动生成IPv6地址
5.无ipv6环境的异地客户端访问IPv6网络时,流量通过OVPN隧道进行第一层封装,ovpn隧道中又封装上了ISATP隧道,实现异地客户端访问公网IPv6的借线。如果异地客户端本身有IPv6又要借线,需要自行调整缺省路由的mertic值,让访问公网的流量送向ISATP隧道。
主要配置:
(A)出口网关(端口映射略,在图形界面配置方便点。。。)
#
ipv6
#
dhcp enable
#
interface GigabitEthernet0/0/0 #公网侧接口
ipv6 enable
ip address x.x.x.x (如果是静态ip的话,拨号的话图形化界面一样操作)
ipv6 address auto global default
dhcpv6 client pd test #开启dhcpv6 pd客户端功能,获取PD前缀,前缀的名称设置为test(随便命名)
#
interface GigabitEthernet0/0/1 #内网侧接口
ipv6 enable
ip address 192.168.10.1 255.255.255.0
ipv6 address test ::A:0:0:0:1/64 #用wan口获取到的前缀来构建64位的V6单播地址
ipv6 address auto link-local
undo ipv6 nd ra halt #内网接口需要开启路由通告,以便向内网的设备通告V6前缀。是否开启dhcpv6自行决定
ipv6 nd ra dns-server xxxx:xxxx:xxxx:xxxxx::x 通告报文携带DNS服务器地址
#
interface Tunnel0/0/0 #创建隧道口
ipv6 enable #使能ipv6
ipv6 address test ::B:0:5EFE:C0A8:A01/64
#配置IPv6单播地址,使用wan口获取到的前缀,后64位ID=0000:5efe(24比特):IPv4地址的16进制(32比特)
ipv6 address auto link-local #自动生成链路本地地址
undo ipv6 nd ra halt #隧道接口需要开启路由通告
ipv6 nd ra dns-server xxxx:xxxx:xxxx:xxxxx::x 通告报文中携带IPv6的DNS服务器地址
tunnel-protocol ipv6-ipv4 isatap #隧道类型选择ipv6 over ipv4 ISATP隧道
source GigabitEthernet0/0/1 #隧道本端的源接口选择内网侧接口,即192.168.10.1
#
ip route-static 10.7.7.0 255.255.255.0 192.168.10.2 #添加去往OVPN网段的路由,下一跳指向爱快WAN口
(B)交换机主要配置
#
vlan 20
protocol-vlan 0 ipv6 #启用基于协议划分vlan,协议类型为IPv6
#
interface GigabitEthernet0/0/1 #对端位为爱快wan口
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2 #对端为爱快lan口
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3 #上联出口路由的接口
port hybrid pvid vlan 10 #缺省vlan配置为10
port hybrid untagged vlan 10 20 #放行vlan10,20 这两个vlan的数据帧出接口时,剥掉vlan tag
protocol-vlan vlan 20 0 priority 0 #启用基于协议识别vlan的功能,将ipv6协议的流量划分到vlan 20
#
interface GigabitEthernet0/0/4 #连接终端,AP,其他傻瓜交换机一侧。配置同上,没什么区别
port hybrid pvid vlan 10
port hybrid untagged vlan 10 20
protocol-vlan vlan 20 0 priority 0
(C)爱快。正常配置ovpn服务端。推送一条明细路由:192.168.10.1/32(即推送出口网关lan的地址)
NAT策略需要添加一条规则,避免ovpn客户端地址访问内网时,被进行NAT(如果被NAT,那一个时间只能有一个外部用户使用ISATP隧道。。。)
网络设置——NAT规则——添加
动作:过滤。进接口不写,出接口:wan。源地址:10.7.7.0/24(ovpn地址池),目的地址:192.168.10.1(出口网关的lan地址)
协议:任意
(D)异地客户端创建隧道(以Windows 7或以上为例。注意客户端网关不要关ipv6。。。)
(1)安装ovpn客户端,导入服务端配置(爱快导出来的“OpenVPN-Client.conf,改为.ovpn)。如果是动态ip并绑定了DDNS,需要将配置文件的IP地址改为域名格式)
(2) 连接ovpn
(3)开启ISATP隧道(可以写成bat)
netsh interface isatap setstate enable #开启IPV6 Over IPv4 isatap隧道 netsh interface isatap set router 192.168.10.1 #指定隧道对端地址。ovpn连接成功后,便可访问192.168.10.1 将这个地址配置为ISATP隧道对端地址 如果要关闭 执行netsh interface isatap set state disable即可
(4)ipconfig /all 可以看到 隧道适配器 isatp.xxxxxxxx已经自动生成了XXXX:XXXX:XXXX:b:0200:5efe:10.7.7.x %yy %为接口ID不用关心
此时客户端可以使用服务端一侧的ipv6进行借线IPv6上网 。如果访问服务端一侧的ipv6设备(如电脑),整个传输在互联网也进行了加密(IPv6封装在IPv4,IPv4载荷又被ovpn进行了加密封装)
|