NFV
在当前时代,对网络的基础设施、功能和结构进行重构已是大势所趋。为了提高资源利用率和方便管理,一些网络基础设施逐渐被“ 虚拟化”。
NFV,即网络功能虚拟化,通过使用X86等通用硬件以及虚拟化技术,来承载NF(Network Function,网络功能)的软件化处理,比如虚拟交换机、虚拟路由器、虚拟防火墙、虚拟负载均衡等。
简单来讲,就是之前用硬件实现的功能,现在通过虚拟化+软件来实现,从而使网络不再依赖于专用硬件,结合虚拟化资源的灵活分配,实现快速开发部署、弹性伸缩、功能扩展等等。
虚拟路由器
虚拟路由器是NFV的一种表现形式,它将传统的硬件路由器转换为软件,用软件来实现三层路由功能。这意味着路由器可以作为一种服务(如云服务、SDN组件),灵活部署在云平台、数据中心内,更灵活的适应网络访问需求。
Quagga
Quagga是一个开源的路由软件,可以在Linux上实现各种路由协议,包括: OSPF、RIP、BGP、IS-IS。我们可以通过使用quagga,把一个Linux虚拟机打造成一个功能强大的路由器。
许多Linux发行版都带有Quagga,比如我们常用的CentOS,可以通过YUM非常方便的安装和使用。一般系统自带的Quagga版本为0.9,也是最常用的版本,最新版为1.2。
# yum install quagga
Quagga的一些特点:
- 模块化设计:使用了模块化的架构,一种协议对应一个模块;
- 运行速度快:基于模块化的架构,独立运行且速度很快;
- 可靠性高:可以在运行期间进行故障诊断和修复;
- 支持Ipv6:支持Ipv4、Ipv6协议;
- 容易上手:Quagga的配置方式常规路由器几乎完全相同。
为了给大家一个直观印象,以下简要展示一些功能。
Quagga默认安装后有一个简单的配置文件,可以直接编辑
!! Zebra configuration file!hostname Routerpassword zebraenable password zebra!log stdout!!
可以通过vtysh或者telnet方式登录,在操作上完全符合工程师的使用习惯,包括?与TAB补全等等
% telnet localhost 2601Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.Hello, this is Quagga (version 1.2.0)Copyright © 1999-2005 Kunihiro Ishiguro, et al.User Access VerificationPassword: XXXXXRouter> ? enable Turn on privileged commands exit Exit current mode and down to previous mode help Description of the interactive help system list Print command list show Show running system information who Display who is on a vtyRouter> enablePassword: XXXXXRouter# configure terminalRouter(config)# interface eth0Router(config-if)# ip address 10.0.0.1/8Router(config-if)# ^ZRouter#
配置一些静态路由~
ip route 10.0.0.0/8 10.0.0.2ip route 10.0.0.0/8 ppp0ip route 10.0.0.0/8 null0
少不了的OSPF
router ospf network 192.168.1.0/24 area 0.0.0.0 network 10.0.0.0/8 area 0.0.0.10 area 0.0.0.10 export-list foo!access-list foo permit 10.10.0.0/16access-list foo deny any
LSA 这样的
# show ip ospf database external 192.168.165.0 LS age: 995 Options: 0x2 : *|-|-|-|-|-|E|* LS Flags: 0x9 LS Type: AS-external-LSA Link State ID: 192.168.165.0 (External Network Number) Advertising Router: 192.168.0.49 LS Seq Number: 800001d8 Checksum: 0xea27 Length: 36 Network Mask: /24 Metric Type: 2 (Larger than any link state path) TOS: 0 Metric: 20 Forward Address: 0.0.0.0 External Route Tag: 0
居然支持SNMP(太没人性了),当然默认情况不开启,如果需使用在编译安装时增加–enable-snmp
效果来了:
# snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109[...]
BGP、IPv6之类的特性就不在这里展示拉,有兴趣的同学自己研究看看吧~
**定期发布IT新技术,欢迎大家关注**
本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com