企业级开源路由系统VyOS-构建和使用

介绍

VyOS是一个基于Linux的企业级路由器操作系统,被许多公司和个人用来驱动物理网络设备,如路由器和防火墙。它有一个统一的命令行界面来管理其所有的网络相关功能(和Juniper Junos操作很像)。VyOS使用Debian GNU/Linux作为其基础,并添加了FRR,一个强大的开源路由套件,以及开源的VPN技术OpenVPN和IPSec在内的多种工具来增强其功能。它非常适合用来虚拟化网络环境,经常被运用在云环境和大型数据中心。与商业产品相比,VyOS的一大优点是它完全免费,开源,并且拥有一个活跃的社区来贡献和维护。

官方:https://vyos.io

本文介绍了构建Vyos LTS版本的ISO、还有基础安装和使用。

网络系列文章:https://songxwn.com/categories/network/

特性

路由协议

BGP,EVPN-VxLAN, MPLS , L3VPN, RPKI, OSPF (V2 & V3), Babel , RIP,

RIPng, BFD, BFD Monitoring, Policy Based Routing (PBR), Multicast (

MLD, IGMP proxy v2 & v3, PIM-SM), Failover routes.

支持网卡

Up to 100 Gbps interfaces, 802.1q VLAN, 802.1ad QinQ, 802.3ad and

other bonding protocols, Software Bridging, Paravirtualized NICs

(vmxnet3 & virtio), Virtual Ethernet(veth), Wireless (WiFi & Cellular

Networks)

防火墙

Stateful Connection Tracking, Zone Based Firewall, GeoIP matching,

Address/ports/network groups , interfaces / mac-address groups ,

Domains groups, Firewall bridge and Flowtables.

NAT Source and Destination NAT (One to-One, Many to-Many, One to many),

Balancing, Masquerade, Network prefix Translation , NAT66

隧道

Wireguard ,OpenConnect ,OpenVPN(P2P, Client & Server), OpenVPN

DCO, GRE, IPIP, SIT, IP6IP6, L2TPv3, VXLAN, SSTP (Client &

Server),GENEVE, PPPoE (Client &

Server), IPoE Server.

应用服务

DNS Forwarding, Dynamic DNS, mDNS Repeater, DHCP Server and

Relay, IPv6 Router Advertisements, NTP (Client & Server), LLDP (Client

& Server), TFTP Server, Web Proxy Server) , Event Handler, LLDP,

Integration IDS/IPS (Suricata), Reverse-proxy and load-balancer .

QoS

Traffic Shaping and Matching, Rate Limiting, Rate Control (TBF), Traffic

Queues (Drop-Tail FIFO, Fair Queue (SFQ), FQ CoDel, Round Robin

(DRR), Random Early Detection (RED/WRED))

Management &

监控管理

SSH, HTTP API, SNMP (V2 & V3), NetFlow, sFlow, Telegraf,

Prometheus-client, Zabbix-agent, Syslog

High Availability VRRP, WAN Load Balancing, Connection State Synchronization,

Conntrack Synchronization, Virtual-server load-balancing

Supported Automation

工具

Ansible, SaltStack, Cloud init, Terraform

Additional Features Intel QuickAssist Cryptographic Hardware Acceleration (QAT),

TACACS+, RADIUS, DDoS Protection Integration with FastNetMon

介绍PDF:https://vyos.io/files/vyos-datasheet-v3.pdf

构建1.4稳定版ISO

官方为了盈利需求,是不提供稳定版的ISO和OVA的。

使用Debian 12 并安装Docker 搭建构建环境。

apt install docker.io git -y
sudo apt-get install ca-certificates curl gnupg
# 安装环境所需包
docker pull vyos/vyos-build:sagitta 
# 下载构建相关的1.4.x版本的容器镜像。
git clone -b sagitta --single-branch https://github.com/vyos/vyos-build
# 下载最新的源码
cd vyos-build
# 进入构建目录
docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:sagitta bash
# 运行并进入构建容器。
root@70cec64467db:/vyos# VYOS_VERSION="1.4.0-epa2"
# 配置构建的指定版本,此为最新的LTS版本
root@70cec64467db:/vyos# ./build-vyos-image iso --architecture amd64 --build-type release --version $VYOS_VERSION# 开始构建ISOroot@70cec64467db:/vyos# exit # 退出容器# find . -name *.iso# 查找ISO路径

1.4.0-epa2 是一个1.4 LTS的版本号,这种版本号可以去官方博客查找。

生成好的ISO下载

https://github.com/Songxwn/build-vyos-lts/releases (分支于https://github.com/zengkid/build-vyos-lts)

也可以自己用GitHub Actions 构建ISO。

将项目分支后,选择Actions > Workflows > Build Release > Run workflow

在The tag version you want to build 下添加指定版本的标签,如1.4.0-epa2。

然后执行Run workflow,等待半小时后,可以在你的分支项目的Releases 下载。

ISO安装指南

基础镜像为Debian 12,所以虚拟机兼容性也选择Debian 12。

物理机安装,推荐使用Rufus写入U盘。

启动ISO后登录安装账号,账号vyos,密码vyos。

然后输入install image ,一路选择 Y即可。

  1. 输入install image

  2. 询问是否继续安装到你的硬盘,输入 Y继续

  3. 询问是否是此版本,回车继续。

  4. 询问是否修改vyos账号密码,回车继续

  5. 询问console控制台显示方法,回车继续。(可选择COM输出)

  6. 询问选择的安装硬盘,确认后回车继续。

  7. 询问是否清理所选硬盘的所有数据,输入 Y继续。

  8. 询问是否安装系统到硬盘,输入Y继续。

  9. 询问是否使用硬盘全部空间,输入Y继续。

  10. 安装完成之后,输入reboot重启即可。

基础操作

登录并进入配置模式

进入系统后,输入默认账号vyos,默认密码vyos进行登录。然后就进入Linux 的 shell界面(操作模式)。

vyos的命令模式和Juniper很像。

文档:https://docs.vyos.io/en/sagitta/

基础操作

configure
# 操作切换到配置模式
set service ssh port 22
# 增加配置,开启ssh服务并指定监听端口。
delete service ssh port 22
# 删除配置
compare
# 查看未提交的配置更改。
commit-confirm 10
# 提交并配置自动回退,提交当前配置,但若10分钟内不执行confirm 
commit
# 提交配置,vyos的配置并不是实时生效的,需要提交才能生效。
save
# 提交完成之后可以保存配置到硬盘。这点和juniper不一样。
rollback 1 
# 回退到指定提交点的配置,但会重启系统。

查看配置和接口

show configuration
# 在操作模式
show configuration commands
# 在
show | commands
# 在配置模式下查看所有配置,指定以命令显示。
show interfaces | commands
# 在配置模式下查看接口,指定以命令显示。
show interface 
# 在操作模式查看所有接口,也可以确认以太网接口名称。
run show interfaces
# 在配置模式执行操作模式命令

基础配置

set system host-name vy01
# 配置主机名
set system login user vyos authentication plaintext-password ABC@123123
# 配置vyos用户密码。
set service ssh port 22
# 增加配置,开启ssh服务并指定监听端口。
set interfaces ethernet eth0 address 1.1.1.1/24
# 为接口配置IP
set protocols static route 0.0.0.0/0 next-hop 1.1.1.2
# 配置静态路由
show ip route 
# 查看当前路由表

OSPFv2配置

set interfaces ethernet eth0 address '10.0.0.1/24'
set interfaces ethernet eth1 ip ospf network point-to-point
# 配置接口地址、OSPF网络模式
set interfaces loopback lo address '192.168.0.1/32'
# 配置lookback0
set protocols ospf area 0.0.0.0 network '192.168.0.1/32'
set protocols ospf area 0.0.0.0 network '10.0.0.0/24'
# 宣告接口
set protocols ospf parameters router-id '192.168.0.1'
# 配置ospf的路由ID
set protocols ospf redistribute connected
# 重分布直连路由到OSPF

参考文档:

https://docs.vyos.io/en/latest/contributing/build-vyos.html (构建)

操作文档

https://docs.vyos.io/en/sagitta/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP 常见的状态码以及其适用场景

是什么 HTTP状态码(英语:HTTP Status Code),用以表示网页服务器超文本传输协议响应状态的3位数字代码 它由 RFC 2616规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774与 RFC 4918等规范扩展 简单来讲&#…

文件输入/输出流(I/O)

文章目录 前言一、文件输入\输出流是什么?二、使用方法 1.FileInputStream与FileOutputStream类2.FileReader与FileWriter类总结 前言 对于文章I/O(输入/输出流的概述),有了下文。这篇文章将具体详细展述如何向磁盘文件中输入数据,或者读取磁…

全面解析十七种数据分析方法,具象数据分析思维

一、介绍 在当今数据驱动的商业环境中,数据分析已经成为了企业获取竞争优势的关键工具。无论是为了优化运营效率,提高客户满意度,还是推动产品创新,企业都需要通过分析大量数据来做出明智的决策。数据分析方法多种多样&#xff0c…

软件无线电系列——CIC滤波器

本节目录 一、CIC滤波器 1、积分器 2、梳状滤波器 3、CIC滤波器的特性 二、单级CIC和多级CIC滤波器本节内容 一、CIC滤波器 CIC滤波器,英文名称为Cascade Integrator Comb,中文全称为级联积分梳状滤波器,从字面来看就是将积分器与梳状滤波器…

《云原生安全攻防》-- 云原生应用风险分析

为了满足每位朋友的学习需求,并且支持课程的持续更新,本系列课程提供了免费版和付费视频版两种方式来提供课程内容。我们会持续更新课程内容,以确保内容的度和实用性。 在本节课程中,我们将一起探讨云原生应用在新的架构模式下可能…

怎么保证缓存与数据库的最终一致性?

目录 零.读数据的标准操作 一.Cache aside Patten--旁路模式 二.Read/Write Through Pattern--读写穿透 三.Write Back Pattern--写回 四.运用canal监听mysql的binlog实现缓存同步 零.读数据的标准操作 这里想说的是不管哪种模式读操作都是一样的,这是一种统一…

蓝桥杯刷题-09-三国游戏-贪心⭐⭐⭐

蓝桥杯2023年第十四届省赛真题-三国游戏 小蓝正在玩一款游戏。游戏中魏蜀吴三个国家各自拥有一定数量的士兵X, Y, Z (一开始可以认为都为 0 )。游戏有 n 个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i 个事件发生时会分别让 X, Y,…

drawio画图编辑图形颜色

drawio画图编辑图形颜色 团队的安全第一图表。将您的存储空间带到我们的在线工具中,或使用桌面应用程序进行本地保存。 1.安装准备 1.1安装平台 多平台 1.2在线使用 浏览器打开网页使用 1.3软件下载 drawio官网github仓库下载 2.在浏览器的网页中使用drawio…

Mac 每次重启终端都要重新配置mysql环境变量解决办法

1、问题 Mac 每次关闭终端后,mysql环境配置就失效了,需要重新配置mysql环境变量 2、解决方法 在 " ~/.zshrc "文件添加" source ~/.bash_profile "即可 vim ~/.zshrc source ~/.bash_profile 3、验证 退出终端后重新打开终端 mys…

提取COCO数据集中特定的类—vehicle 4类

提取COCO数据集中特定的类—vehicle 4类 1 安装pycocotools2 下载COCO数据集3 提取特定的类别4 多类标签合并 1 安装pycocotools pycocotools github地址 pip install githttps://github.com/philferriere/cocoapi.git#subdirectoryPythonAPI2 下载COCO数据集 COCO官网下载2…

QT C++(QT对象树与内存泄漏管理,QT中文乱码问题)

文章目录 1. QT对象树与内存泄漏2. QT中文乱码 1. QT对象树与内存泄漏 #include "widget.h" #include "ui_widget.h" #include <QLabel>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//通过代码构…

Apache-Pulsar安装操作说明

说明 Pulsar 是一种用于服务器到服务器消息传递的多租户高性能解决方案。 Pulsar 的主要特性如下&#xff1a; 对 Pulsar 实例中的多个集群的本机支持&#xff0c;并跨集群无缝地复制消息。 极低的发布和端到端延迟。 无缝可扩展至超过一百万个主题。 一个简单的客户端 API&…

解决前端精度丢失问题:后端Long类型到前端的处理策略

在Web开发中&#xff0c;我们经常遇到前后端数据类型不匹配的问题&#xff0c;特别是当后端使用大数据类型如Long时&#xff0c;前端由于JavaScript的数字精度限制&#xff0c;可能导致精度丢失。本文将深入探讨这个问题&#xff0c;并提供两种有效的解决方法。 一、问题背景 …

Java常用类与基础API--String常见算法题目

文章目录 一、面试题&#xff08;1&#xff09;题1 二、常见算法题目&#xff08;1&#xff09;题1&#xff08;2&#xff09;题2&#xff08;3&#xff09;题3&#xff08;4&#xff09;题4&#xff08;5&#xff09;题5 三、案例 一、面试题 &#xff08;1&#xff09;题1 …

2024/4/1—力扣—删除字符使频率相同

代码实现&#xff1a; 思路&#xff1a; 步骤一&#xff1a;统计各字母出现频率 步骤二&#xff1a;频率从高到低排序&#xff0c;形成频率数组 步骤三&#xff1a;频率数组只有如下组合符合要求&#xff1a; 1, 0...0n 1, n...n (, 0)n...n, 1(, 0) bool equalFrequency(char…

CVE-2024-3148 DedeCms makehtml_archives_action sql注入漏洞分析

DedeCMS&#xff08;也称为织梦CMS&#xff09;是一款基于PHPMySQL的开源内容管理系统。 在 DedeCMS 5.7.112 中发现一个被归类为严重的漏洞。此漏洞会影响某些未知文件dede/makehtml_archives_action.php的处理。操作导致 sql 注入。攻击可能是远程发起的。该漏洞已向公众披露…

【服务器uwsgi + flask + nginx的搭建】

目录 服务器uwsgi flask nginx的搭建1. 安装必要的软件2. 启动nginx服务3. 测试Nginx4. 配置uwsgi和flask5. 配置nginx 服务器uwsgi flask nginx的搭建 1. 安装必要的软件 安装Python、uWSGI、Flask 和 Nginx。 # Ubuntu 安装命令 sudo apt-get update sudo apt-get ins…

03-JAVA设计模式-建造者模式

建造者模式 什么是建造者模式 建造者模式&#xff08;Builder Pattern&#xff09;是一种对象构建的设计模式&#xff0c;它允许你通过一步一步地构建一个复杂对象&#xff0c;来隐藏复杂对象的创建细节。 这种模式将一个复杂对象的构建过程与其表示过程分离&#xff0c;使得…

大语言模型上下文窗口初探(下)

由于篇幅原因&#xff0c;本文分为上下两篇&#xff0c;上篇主要讲解上下文窗口的概念、在LLM中的重要性&#xff0c;下篇主要讲解长文本能否成为LLM的护城河、国外大厂对长文本的态度。 3、长文本是护城河吗&#xff1f; 毫无疑问&#xff0c;Kimi从一开始就用“长文本”占领…

力扣 583. 两个字符串的删除操作

题目来源&#xff1a;https://leetcode.cn/problems/delete-operation-for-two-strings/description/ C题解1&#xff1a;动态规划 寻找word1和word2拥有的公共最长子序列&#xff0c;之后分别对word1和word2进行删除操作&#xff0c;即可使word1和word2相等。 寻找公共最长子…