Windows Server开启IPv6 Forwarding实现Hyper-V虚拟机分配IPv6公网地址

文章目录[隐藏]

前言

查询了很多文档,但是这方面的信息非常的有限,经过各种折腾和实践终于搞定了。这里分享出来给大家看看,也作为笔记以供后面自查。

开始配置

准备工作

1. 网卡硬件配置:
- 内网物理网卡 * 1
- 公网物理网卡 * 1
- Hyper-V虚拟交换机 *1

2. 网卡IP配置
- 内网物理网卡 留空
- 公网物理网卡 配置公网IPv4(正常配置即可);配置公网IPv6,本例中为:2a01:4f8:212:1234::2/128
- Hyper-V虚拟交换机配置内网IPv4段,本例中为:172.16.2.1/12;配置内网IPv6段,本例中为:2a01:4f8:212:1234::1/64

注意!公网IPv6的子网网段要改成128!内网IPv6段根据自己需要设置即可。

也就是公网的IPv6只有一个地址,独立连外网;内网IPv6虽然和公网段是长得一样的,但是实际上是内网转发后通过公网网卡出去的,这个原理就就不细讲了。

3. 开启网络共享(NAT)
公网物理网卡在属性里,设置共享网络给Hyper-V虚拟交换机

4. 测试Hyper-V虚拟机可以正常联网



[root@hSxavP1000044 ~]# ping 1.1.1.1

PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.

64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=5.62 ms

64 bytes from 1.1.1.1: icmp_seq=2 ttl=58 time=5.42 ms

^C

--- 1.1.1.1 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1001ms

rtt min/avg/max/mdev = 5.420/5.521/5.622/0.101 ms

[root@hSxavP1000044 ~]# ip route

default via 172.16.2.1 dev eth0 

169.254.0.0/16 dev eth0 scope link metric 1002 

172.16.0.0/12 dev eth0 proto kernel scope link src 172.16.2.7

配置IPv6转发路由

重点来了,如果只是这样图形化配置的话,Windows Server是不会转发IPv6的,只能做IPv4的转发,所以我们需要改一下路由表,并且设置网卡开启forwarding。

修改路由表

首先打开powershell,查看一下系统中的网卡:



PS C:\Users\Administrator> netsh int ipv6 show interfaces

Idx Met MTU 状态 名称


1 75 4294967295 connected Loopback Pseudo-Interface 1 11 25 1500 connected 以太网 3 15 5 1500 disconnected 以太网 4 20 15 1500 connected vEthernet (privateswitch)

然后查看路由表情况:



PS C:\Users\Administrator> netsh interface ipv6 show route

发布 类型 跃点数 前缀 索引 网关/接口名称


否 手动 256 ::/0 11 fe80::1 否 系统 256 ::1/128 1 Loopback Pseudo-Interface 1 否 系统 256 2a01:4f8:212:1234::/64 20 vEthernet (privateswitch) 否 系统 256 2a01:4f8:212:1234::1/128 20 vEthernet (privateswitch) 否 系统 256 2a01:4f8:212:1234::2/128 11 以太网 3 否 系统 256 fe80::/64 11 以太网 3 否 系统 256 fe80::/64 15 以太网 4 否 系统 256 fe80::/64 20 vEthernet (privateswitch) 否 系统 256 fe80::24b9:6e08:f5fd:b36f/128 20 vEthernet (privateswitch) 否 系统 256 fe80::280a:7622:8501:1b71/128 15 以太网 4 否 系统 256 fe80::f95f:5b3e:7e53:560d/128 11 以太网 3 否 系统 256 ff00::/8 1 Loopback Pseudo-Interface 1 否 系统 256 ff00::/8 11 以太网 3 否 系统 256 ff00::/8 15 以太网 4 否 系统 256 ff00::/8 20 vEthernet (privateswitch)

可以看到路由表中的publish(发布)全部是关闭的,我们开启即可:



PS C:\Users\Administrator> netsh interface ipv6 set route 2a01:4f8:212:1234::/64 "vEthernet (privateswitch)" publish=yes

确定。

PS C:\Users\Administrator> netsh interface ipv6 set route ::/0 “以太网 3” publish=yes 确定。

开启后的效果如下: <pre class=“prettyprint linenums” > PS C:\Users\Administrator> netsh interface ipv6 show route

发布 类型 跃点数 前缀 索引 网关/接口名称


是 手动 256 ::/0 11 fe80::1 否 系统 256 ::1/128 1 Loopback Pseudo-Interface 1 是 系统 256 2a01:4f8:212:1bca::/64 20 vEthernet (privateswitch) 否 系统 256 2a01:4f8:212:1bca::1/128 20 vEthernet (privateswitch) 否 系统 256 2a01:4f8:212:1bca::2/128 11 以太网 3 否 系统 256 fe80::/64 11 以太网 3 否 系统 256 fe80::/64 15 以太网 4 否 系统 256 fe80::/64 20 vEthernet (privateswitch) 否 系统 256 fe80::24b9:6e08:f5fd:b36f/128 20 vEthernet (privateswitch) 否 系统 256 fe80::280a:7622:8501:1b71/128 15 以太网 4 否 系统 256 fe80::f95f:5b3e:7e53:560d/128 11 以太网 3 否 系统 256 ff00::/8 1 Loopback Pseudo-Interface 1 否 系统 256 ff00::/8 11 以太网 3 否 系统 256 ff00::/8 15 以太网 4 否 系统 256 ff00::/8 20 vEthernet (privateswitch)

[/pax]

设置网卡开启转发功能



PS C:\Users\Administrator> netsh interface ipv6 set interface "vEthernet (privateswitch)" forwarding=enable advertise=enable

确定。

PS C:\Users\Administrator> netsh interface ipv6 set interface “以太网 3” forwarding=enable 确定。

测试是否成功



[root@hSxavP1000044 ~]# ip -6 route

2a01:4f8:212:1234::/64 dev eth0 proto kernel metric 256 pref medium

fe80::/64 dev eth0 proto kernel metric 256 pref medium

default via 2a01:4f8:212:1234::1 dev eth0 metric 1 pref medium

default via fe80::24b9:6e08:f5fd:b36f dev eth0 proto ra metric 1024 expires 1530sec pref medium

[root@hSxavP1000044 ~]# ping6 ipv6.google.com

PING ipv6.google.com(yw-in-x8a.1e100.net (2607:f8b0:4002:c05::8a)) 56 data bytes

64 bytes from yw-in-x8a.1e100.net (2607:f8b0:4002:c05::8a): icmp_seq=1 ttl=103 time=105 ms

64 bytes from yw-in-x8a.1e100.net (2607:f8b0:4002:c05::8a): icmp_seq=2 ttl=103 time=105 ms

^C

--- ipv6.google.com ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1001ms

rtt min/avg/max/mdev = 105.251/105.267/105.283/0.016 ms


This article is under CC BY-NC-SA 4.0 license.
Please quote the original link:https://www.liujason.com/article/825.html
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy