早在 2005 年,一家名为 Vyatta 的公司由 Allan Leinwand 创立。它提供了首个商业支持的开源路由器和防火墙解决方案。该公司以古梵语中“开放”一词命名,其将开源网络产品推向市场的目标非常成功,以至于被竞争对手博科(Brocade)收购。这实际上扼杀了 Vyatta,但由于 Vyatta 的产品是开源的,因此并没有阻止它的发展。事实证明,Vyatta 的软件定义网络功能得到了延续和发展,成为了 VyOS。
VyOS 发行版基于 Debian Linux,源代码可从 Git 仓库 和 滚动发布 ISO 获取。对于任务关键型应用,有 长期支持版本和支持合同。
构建网络
自 2005 年以来,网络发生了变化,并且由于 VyOS 项目,驱动网络的软件也发生了变化。在得知 VyOS 正在继续 Vyatta 的工作后,我下载了 ISO 来试用。对我来说,安装过程比正常的 Debian 安装更容易,而 Debian 安装本身也是一项简单的任务。VyOS 不会启动到图形界面,而是启动到文本控制台。这里只有你和一堆配置文件,就像你对严肃路由器的期望一样。
VyOS 的默认安装不提供任何默认配置。完全由您来构建您想要运行的网络。根据您的观点,这要么是令人耳目一新,要么是令人沮丧,但这让您了解了目标受众:VyOS 是为网络工程师构建的,他们已经规划好了所需的拓扑结构,并且能够通过一些子网计算和文本定义来创建它。
VyOS configure 命令
话虽如此,VyOS 不仅仅是一个重新命名的 Debian 发行版。它的主要功能之一是其 configure 命令,这是一个交互式工具,用于定义网络定义,这些定义仅在您提交后才会应用。除了让习惯于 IOS 和类似工具链的用户感到熟悉之外,这还允许您在路由器继续正常运行时配置您的网络。在您键入 commit 之前,一切都不是最终的。
一旦您测试了已提交的网络更改,您可以使用 save 命令永久存储您的配置文件,以进行备份或迁移到其他 VyOS 机器。
您可以使用 configure 命令进入配置模式。这里有太多可能的网络配置无法一一介绍 configure 或基本网络任务,但语法通常是直观且可预测的。例如,要通过路由器端口 22212 启用 SSH 管理
# set service ssh port '22212'
要将网络接口卡 (NIC) eth1 设置为内部 IP 地址,并创建一个描述以将其标识为默认网关
# set interfaces ethernet eth1 address '10.1.0.1/24'
# set interfaces ethernet eth1 description 'INSIDE'
要设置 NIC eth0 的公共 IP 并将其描述为面向世界的接口
# set interfaces ethernet eth0 address dhcp
# set interfaces ethernet eth0 description 'OUTSIDE'
要激活网络地址转换 (NAT),结构相同
set nat source rule 100 outbound-interface 'eth0'
set nat source rule 100 source address '10.1.0.0/24'
set nat source rule 100 translation address masquerade
假设这些是您目前要做的唯一任务,提交并保存
# commit
# save && exit
Saving configuration to '/config/config.boot'...
Done
$
虽然这可能不是您在现实生活中需要做的所有事情,但这让您了解了 VyOS 提供的直接简洁性。您不必处理“逆向工程”令人困惑的图形界面,也不必在冗长的配置文件中搜索命名不佳的密钥。您拥有一个统一的界面来处理每个任务,无论是设置防火墙、实施 DHCP、DNS、服务质量、VPN 网关、IPv6 还是其他任何内容。
专业网络设备
VyOS 可能不是初学者级别的路由器发行版,但即使您刚刚入门,它也是一个很棒的工具。没有比拥有一个可供操作和测试的开源路由器更好的方式来学习网络基础知识了。毕竟现在是 21 世纪;您可以使用 GNOME Boxes 完全在 $0 的成本下设置一个计算机实验室,该实验室由通过虚拟 VyOS 实例相互连接的虚拟客户端组成。您可以使用一台 Linux 计算机和优秀的 VyOS 文档 来学习高级网络概念和解决方案。
如果您已经是网络专业人士,那么请看看 VyOS。您会发现其配置理念简单,其 configure 工具高效。
2 条评论