网络操作系统VyOS应用实践(一)

前言

本文在前面安装篇的基础上,对其功能进行应用实践。本文先介绍使用中的一些注意事项,后面介绍其网络接口相关的功能。

探索开始

这款操作系统目的是为了在x86平台上,实现交换机、路由、防火墙等功能。在Vyatta被博科收购后,社区推出了这个开源的fork。令笔者很好奇的是,似乎Vyatta/VyOS在日本挺受青睐,在日本亚马逊可以看到11年和14年出版的两本介绍Vyatta的书,因为VyOS是一个fork,大概在操作上基本一致。

3000日元折合人民币大概是168-170人民币左右(日本书贵)

分析

为了支持通过串口或usb访问VyOS,VyOS还提供了三种console:

由于笔者环境限制,只能在虚拟机上测试,选择默认的KVM console即可。

登陆到VyOS后,可以输入show configuration查看目前系统的配置信息:

在interfaces中,可以看到目前系统中有三个网络接口,lo、eth0和eth1,eth1并没有配置ip地址。

在service中,我启用了ssh,通过xshell连接到VyOS。

在最底下还可以看到console的信息,主机名和登陆的用户名。

最底下的“:”,输入q即可停止查看信息。

在VyOS中,任何配置都应该通过configure模式进行设置,输入configure以进入该模式:

进入configure模式之后,每输入一个命令就会echo一个“[edit]”,指明现正处于编辑模式。在完成你想要的设置后,要commit,再save才能保存配置信息:

每次都会保存信息到/config/config.boot,最后我们还要输入exit退出configure模式,变为普通模式:

可以查看config.boot文件:

可以输入show configuration commands来查看命令范例:

实践

接下来我们通过一个简单的例子来实践一下:
笔者所用的这个VM有两个interface:

网络适配器1是通过vmware的dhcp服务获得IP地址的,而网络适配器2用的是host-only模式,VMnet5的设定可以看下图:

此时VyOS并没有任何IP,无法通过xshell进行操作,我直接在vmware的窗口中操作:

进入configure模式,配置eth0的方法如下:

查看设置是否成功:

可以看到eth0已经通过dhcp获得IP地址了。

尝试用xshell连接,成功了:

如果你想删掉某个配置项,把set改为delete就行,最后commit和save。

其他细节

在configure模式中,由于不允许未保存而exit,一般都要commit、save才能exit:

如果你想强行退出,输入exit discard即可:

可以看到没有save的话,任何设置都不会变更。

VyOS维护了一份配置变更表,可以通过在configure模式中输入compare [TAB]查看:

可以通过指定Revision的编号查看变化信息:

以“+”开头的是增加的内容,“-”是删除的内容。

我们还可以回滚配置,回滚后会重启:

由于回滚到了之前没有设置ip地址的配置,所以xshell连不了

在configure模式中,输入save [TAB]可以看到以下内容:

可以通过scp等方式保存数据到远程机器,这大大方便了工程师在自己的电脑上用虚拟机测试好设置后,直接把配置文件发送到远程的当做防火墙或路由的VyOS设备上。

至于关机,要输入poweroff而不是shutdown:

网络接口

在VyOS中可以通过show interfaces查看系统所有的接口:

可以看到目前系统中的三个接口,其中eth1没有设置ip地址。

如果想查看单独一个接口的详细信息,可以在show interface后制定类型和接口名:

每个接口都可以配置一个描述信息和地址:

以太网接口

以太网配置的内容有:
1.speed
2.duplex
3.MAC地址
4.IP地址
5.描述信息

下面根据上面show interfaces的环境,配置一个静态地址:

查看是否配置成功:

可以看到我们已经成功设置eth1了,如果配置的内容已经存在,则提示配置已存在。

检查网络配置文件,其实接口信息并没有设置在这里,而是在VyOS启动时自动从config.boot加载设置:

VyOS还提供了额外的命令用来查看接口的物理信息(这是vmware虚拟网卡的信息):

如果想看接口的统计信息,可以输入show interfaces ethernet <接口> statistics

VLAN接口

在VyOS中提供了对802.1q VLAN的支持,通过输入set interfaces ethernet vif 实现。

可以看到将会增加下面的设置:

保存退出configure模式后,查看接口信息:

在VyOS中,VLAN接口会以name.vlan_id的格式显示。

Bridge

VyOS提供了Bridge,可以让两个接口桥接实现二层交换,下面会创建一个bridge,同时设置VLAN(备注,如果按照前面的设置了VLAN接口,需要删除才能做下面的实验)。

bridge可以设IP地址

启用STP:

保存退出后,可以看到这个bridge的信息:

输入show bridge spanning-tree查看STP的设置:

想查看网桥上MAC地址的记录,可以输入show bridge macs:

端口Bonding

通过bonding,可以让多个物理接口变为一个逻辑接口,以提高网络性能。

先设定一个新的bond接口:

设定hash_policy,VyOS有三种policy:
1.layer2:用MAC地址生成hash
2.layer2+3:用MAC和IP地址生成hash
3.layer3+4:用IP地址和端口生成hash

这里直接用layer2:

设定bond mode,有多种mode:

最后把接口加到我们的bond0中:

保存退出configure模式之后就可以通过下面的命令查看详细信息:

你无法修改这个bond0的duplex等参数,但是可以进行设定IP地址等操作。

结语

本文通过实践,先详细地介绍了VyOS的使用方面的细节。实际上,VyOS和Cisco IOS等系统其实也差不多,熟悉传统设备的人员应该也能快速上手。后面的内容对 VyOS中几个常用的interfaces进行了介绍,希望能对那些对VyOS有兴趣的研究者有所帮助。在后面的文章中,会通过实验对VyOS的功能进行应用,进一步体验VyOS的魅力。

参考资料:
http://vyos.net/wiki/User_Guide

http://wiki.vyos-users.jp/index.php?diff=next&oldid=2796&title=1.1.0/%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88

作者简介:何智刚,2015至今,现为广东的一名在校高三学生,在学习之余,主要研究Docker,OpenStack,SDN,对各种领域都有所涉猎,目标是迈向full stack


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/15915.html
分享到:
相关文章
条评论

登录后才可以评论

Hochikong 发表于16-02-22
3