- 三种方法在实验中的最大区别在于RA消息中的A、O和M标记的不同,具体可参见笔记:IPv6技术精要–第8章 IPv6动态地址分配原理
下面进入实验:
方法1:无状态地址自动配置SLAAC
1.1 基本流程
1.2 在GNS建好拓扑图
1.2 查看PC机未配置ipv6地址
1.3 无状态地址自动配置
进入全局模式:conf t
直接打开ipv6:ipv6 uni
进入f0/0接口:int f0/0
设置IPv6地址:ipv6 add 2001:db8:cafe:1::1/64
开启接口:no shutdown 或者 no sh
直接退出:end
1.4 回到PC1检查ipv6
可以看到,已经自动配置了128位的ipv6地址
- 分析GLOBAL SCOPE(全局范围),前面64位是设置路由器的前64位,后面64位
- MAC地址分成两部分,前面24位,在66:68:00为后面24位
具体参见笔记:请求节点多播地址的结构
方法2:SLAAC+无状态DHCPv6
2.1 基本流程
- 从RA中获取前缀、前缀长度、MTU等;
- 从DHCPv6中获取域名、DNS服务器地址等。
2.2 配置ipv6地址、设置O标志位
进入全局模式:conf t
直接打开ipv6:ipv6 uni
进入f0/0接口:int f0/0
设置IPv6地址:ipv6 add 2001:db8:cafe:1::1/64
配置o标志位:ipv6 nd other-config-flag
开启接口:no shutdown 或者 no sh
直接退出:end
2.3 检查一下单播地址的状态
show ipv6 int f0/0
后面两行的意思是,主机使用无状态自动配置地址。主机通过DHCP获取其他配置。
2.4 配置地址池、设O端口为1
R1#conf
R1(config)#ipv6 dhcp pool STATELESS //设置地址池名字:无状态
R1(config-dhcpv6)#dns-server 2001:db8:cafe:1::8888 //设置域名服务器地址,一个db可以配置多个ipv6地址
R1(config-dhcpv6)#domain-name example.com //端口命名
R1(config-dhcpv6)#int f0/0 //转至端口
R1(config-if)#ipv6 nd other-config-flag //配置O端口为1
R1(config-if)#ipv6 dhcp server STATELESS //绑定地址池服务器
R1(config-if)#do wri //设置完成执行
结果如下:
2.5 回到PC1看IPv6地址
如果域名无法看见,说明没有启动虚拟机
方法3:有状态DHCPv6
3.1 基本流程
主机只会将RA消息的源地址作为默认网关地址,其他的配置IPv6地址所需的信息全部有DHCPv6提供。 图8-8
默认网关路由器如果O=1(无状态DHCPv6)或者M=1(有状态DHCPv6),则主机发出路由器请求时,DHCPv6对请求作出应答。 具体过程可翻看笔记:IPv6技术精要–第11章 有状态DHCPv6
3.2 配置代码演示
拓扑不变,同上面两个方法操作,直接打开路由器Configure(配置):
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#ipv6 uni
R1(config)#int f0/0
R1(config-if)#ipv6 add 2001:db8:cafe:1::1/64
R1(config-if)#no sh
R1(config-if)#ipv6 nd prefix 2001:db8:cafe:1::/64
R1(config-if)#ipv6 nd prefix 2001:db8:cafe:1::/64 no-autoconfig
R1(config-if)#ipv6 dhcp server STATEFUL
R1(config-if)#do wri
R1(config-if)#end
R1#conf t
R1(config)#ipv6 dhcp pool STATEFUL
R1(config-dhcpv6)#add prefix 2001:db8:cafe:1:deed::/80
R1(config-dhcpv6)#dns-server 2001:db8:cafe:1::8888
R1(config-dhcpv6)#domain-name example.com
R1(config-dhcpv6)#exit
R1(config)#do wri
3.3 检查单播地址状态
为啥还是静态配置?
好像是因为这个报错:警告:Pool STATEFUL未全局配置-仍在配置中。
3.4 PC机结果显示
疑问
1.我已开启虚拟机(下图),为何PC机信息仍然无端口信息显示?
Cannot connect to compute ‘GNS3 VM (GNS3 VM)’ with request POST /projects
GNS3 VM虚拟机报错:eth0 is not configured
Error while creating node from template: Cannot connect to compute ‘GNS3 VM (GNS3 VM)’ with request POST /projects
Github开源社区里大佬们的讨论https://github.com/GNS3/gns3-gui/issues/2969
解决方法:
Gns3 2.2.0 vmware workstation或Esxi版中network的配置
我有版本2.2.9。我遇到了GNS3 VM服务器未连接的问题。我尝试了以下方法,此后一直没有失败。
1.)在VMware Workstation Pro虚拟网络编辑器中,我添加了VMnet2,仅主机子网10.0.0.0 255.255.255.0(在我下载的GNS3 VM中是默认设置)
2.)确保GNS3 VM网络配置文件中的网络设置正确(由于它是一台服务器,因此我关闭了DHCP)。即使我使用静态IP,也启用了DHCP。
3.)关闭本地计算机和VM上的GNS3。4.)在本地计算机上重新启动GNS3,这打开了VM,并且此后一直保持连接。
在您的情况下,请尝试在GNS3 VM设置中禁用DHCP,为GNS3 VM设置静态IP为192.168.56.128/24,默认网关为192.168.56.1。确保在VMware中,您有一个用于192.168.56.0 / 24子网的VMnet适配器,并将其设置为“仅主机”。
希望这可以帮助。
GNS3详细安装步骤 + 环境部署及优化 + 使用教程
主要参考文章
但是按照这个步骤,打开后会出现错误:
Websocket notification stream error: The remote host closed the connection
Websocket notification stream error: Unknown error
Websocket notification stream error: Connection refused
Error while getting compute list: Connection refused (localhost:3080)
重新安装VM
https://github.com/GNS3/gns3-gui/issues/2969