
VyOS是一个基于Linux的开源的企业级路由器平台,使用Debian GNU/Linux作为其基础,并添加了FRR(一个强大的开源路由套件),以及开源的VPN技术OpenVPN、Wireguard和IPSec在内的多种工具来增强其功能。本人已将此项目部署到阿里云、火山引擎以及线下IDC和家里,取代了公有云的NAT和VPN网关,甚至可以和Metallb结合使用,为公有云的k8s集群提供BGP的LoadBalance IP。与商业产品相比,VyOS的一大优点是它完全免费,开源,并且拥有一个活跃的社区来贡献和维护。
官方地址:https://vyos.io
随着4月份vyos官方新公布的政策,原先公开的构建仓库已经改成了私有,以前自己在线构建iso的办法已经不能再有效。现在只能下载滚动更新版,或者以订阅的形式获得lts的镜像。vyos 1.4.0 GA 版本于6月份发布,对于白嫖的用户来说,是不是只能选择滚动版?不过最近发现了一个国外有大神公开了自己的仓库,用非官方的办法来构建lts版本了,github项目托管地址:https://github.com/dd010101/
本来想用在国内自己服务器上来构建,但是需要的软件依赖,下载实在太慢了,根本无法进行下去,然后切到科学上网,换了几个梯子都报tls证书问题。不知道是不是我自己的梯子的问题?所以干脆就用国外的vps构建了,let's go……
环境:ubuntu 22.04
root@linux:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
#安装docker和git等相关软件包
root@linux:~# cd
root@linux:~# curl -fsSL https://get.docker.com | bash -s docker
root@linux:~# apt install wget git ca-certificates curl wget gnupg -y#下载tnyzeq所需的秘钥.
root@linux:~# wget https://vyos.tnyzeq.icu/apt/apt.gpg.key#克隆源码到当前目录
root@linux:~# git clone -b sagitta --single-branch https://github.com/dd010101/vyos-build.git#拉取docker镜像
root@linux:~# docker pull vyos/vyos-build:sagitta#启动容器
root@linux:~# docker run --rm -it --privileged --name="vyos-build" -v ./vyos-build/:/vyos -e GOSU_UID=$(id -u) -e GOSU_GID=$(id -g) \--sysctl net.ipv6.conf.lo.disable_ipv6=0 -v "./apt.gpg.key:/opt/apt.gpg.key" -w /vyos vyos/vyos-build:sagitta bash#开始构建
root@9f9cdb4c830c:/vyos# ./build-vyos-image iso \
--architecture amd64 \
--build-by "[email protected]" \
--build-type release \
--version "1.4.0" \
--vyos-mirror "https://vyos.tnyzeq.icu/apt/sagitta" \
--custom-apt-key /opt/apt.gpg.key \
--custom-package "vyos-1x-smoketest"#查看构建的结果
root@9f9cdb4c830c:/vyos# exit
root@linux:~# cd vyos-build/build/
root@linux:~/vyos-build/build# ls -al
total 996936
drwxr-xr-x 10 root root 4096 Sep 30 09:47 .
drwxr-xr-x 13 root root 4096 Sep 30 08:57 ..
drwxr-xr-x 2 root root 4096 Sep 30 09:47 .build
drwxr-xr-x 2 root root 4096 Sep 30 08:57 auto
drwxr-xr-x 7 root root 4096 Sep 30 08:57 binary
-rw-r--r-- 1 root root 930 Sep 30 09:46 binary.modified_timestamps
drwxr-xr-x 6 root root 4096 Sep 30 09:45 cache
drwxr-xr-x 18 root root 4096 Sep 30 09:47 chroot
-rw-r--r-- 1 root root 6184239 Sep 30 09:09 chroot.files
-rw-r--r-- 1 root root 20322 Sep 30 09:08 chroot.packages.install
-rw-r--r-- 1 root root 20342 Sep 30 09:09 chroot.packages.live
drwxr-xr-x 21 root root 4096 Sep 30 08:57 config
-rw-r--r-- 1 root root 18237 Sep 30 09:46 live-image-amd64.contents
-rw-r--r-- 1 root root 6184239 Sep 30 09:09 live-image-amd64.files
-rw-r--r-- 1 root root 503316480 Sep 30 08:57 live-image-amd64.hybrid.iso
-rw-r--r-- 1 root root 1720546 Sep 30 09:47 live-image-amd64.hybrid.iso.zsync
-rw-r--r-- 1 root root 20342 Sep 30 09:09 live-image-amd64.packages
drwxr-xr-x 3 root root 4096 Sep 30 08:57 local
-rw-r--r-- 1 root root 3099 Sep 30 09:47 manifest.json
-rw-r--r-- 1 root root 503316480 Sep 30 09:47 vyos-1.4.0-iso-amd64.iso
drwxr-xr-x 16 root root 4096 Sep 30 08:57 vyos-1x
#将构建好的vyos-1.4.0-iso-amd64.iso文件下载回国内
#安装或者直接升级原来的vyos系统版本
vyos@vyos:~$ show ver
Version: NOTvyos 1.4.0
Release train: sagitta
Release flavor: iso
Built by: myself@localhost
Built on: Sun 29 Sep 2024 06:02 UTC
Build UUID: 1c2394c3-99a4-4c6a-98f3-1b030bd97f4e
Build commit ID: 549e7920dba8e8
Architecture: x86_64
Boot via: installed image
System type: KVM guest
Hardware vendor: Alibaba Cloud
Hardware model: Alibaba Cloud ECS
Hardware S/N: a70dba8e-4bc8-4bb8-9e40-68f5d851e9e2
Hardware UUID: a70dba8e-4bc8-4bb8-9e40-68f5d851e9e2
Copyright: VyOS maintainers and contributors